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