aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/AppFramework/Http/FeaturePolicy.php
blob: 2291a78055c3b425798bb39b1ae95905c5b9ef5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

declare(strict_types=1);
/**
 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */
namespace OCP\AppFramework\Http;

/**
 * Class FeaturePolicy is a simple helper which allows applications to
 * modify the Feature-Policy sent by Nextcloud. Per default only autoplay is allowed
 * from the same domain and full screen as well from the same domain.
 *
 * Even if a value gets modified above defaults will still get appended. Please
 * notice that Nextcloud ships already with sensible defaults and those policies
 * should require no modification at all for most use-cases.
 *
 * @since 17.0.0
 */
class FeaturePolicy extends EmptyFeaturePolicy {
	protected $autoplayDomains = [
		'\'self\'',
	];

	/** @var string[] of allowed domains that can access the camera */
	protected $cameraDomains = [];

	protected $fullscreenDomains = [
		'\'self\'',
	];

	/** @var string[] of allowed domains that can use the geolocation of the device */
	protected $geolocationDomains = [];

	/** @var string[] of allowed domains that can use the microphone */
	protected $microphoneDomains = [];

	/** @var string[] of allowed domains that can use the payment API */
	protected $paymentDomains = [];
}