1<?php
2
3declare(strict_types=1);
4/**
5 * @copyright Copyright (c) 2019, Roeland Jago Douma <roeland@famdouma.nl>
6 *
7 * @author Roeland Jago Douma <roeland@famdouma.nl>
8 *
9 * @license GNU AGPL version 3 or any later version
10 *
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Affero General Public License as
13 * published by the Free Software Foundation, either version 3 of the
14 * License, or (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 * GNU Affero General Public License for more details.
20 *
21 * You should have received a copy of the GNU Affero General Public License
22 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23 *
24 */
25
26namespace OCA\Talk\Listener;
27
28use OCP\AppFramework\Http\FeaturePolicy;
29use OCP\EventDispatcher\Event;
30use OCP\EventDispatcher\IEventListener;
31use OCP\Security\FeaturePolicy\AddFeaturePolicyEvent;
32
33class FeaturePolicyListener implements IEventListener {
34	public function handle(Event $event): void {
35		if (!($event instanceof AddFeaturePolicyEvent)) {
36			return;
37		}
38
39		$policy = new FeaturePolicy();
40		$policy->addAllowedCameraDomain('\'self\'');
41		$policy->addAllowedMicrophoneDomain('\'self\'');
42		$event->addPolicy($policy);
43	}
44}
45