class CreateContextParams
Defined at line 309 of file fidling/gen/sdk/fidl/fuchsia.web/fuchsia.web/cpp/fidl/fuchsia.web/cpp/natural_types.h
Parameters specifying the configuration for a new [`Context`].
Public Methods
void CreateContextParams ()
Defined at line 314 of file fidling/gen/sdk/fidl/fuchsia.web/fuchsia.web/cpp/fidl/fuchsia.web/cpp/natural_types.h
void CreateContextParams (CreateContextParams && )
Defined at line 315 of file fidling/gen/sdk/fidl/fuchsia.web/fuchsia.web/cpp/fidl/fuchsia.web/cpp/natural_types.h
void CreateContextParams (Storage_ storage)
bool IsEmpty ()
const std::optional< ::fidl::ClientEnd< ::fuchsia_io::Directory>> & service_directory ()
Service directory to be used by the context.
The following services must be present in the service directory:
- [`fuchsia.buildinfo/Provider`]
- [`fuchsia.device/NameProvider`]
- [`fuchsia.fonts/Provider`]
- [`fuchsia.hwinfo.Product`]
- [`fuchsia.intl/PropertyProvider`]
- [`fuchsia.kernel/VmexResource`] (unless [`ContextFeatureFlags.DISABLE_DYNAMIC_CODE_GENERATION`] is set)
- [`fuchsia.logger/LogSink`]
- [`fuchsia.memorypressure/Provider`]
- [`fuchsia.process/Launcher`]
- [`fuchsia.sysmem/Allocator`]
The following services are recommended to be present in order to allow CPU scheduling
profiles to be applied to threads to tune their performance, especially for media rendering.
- [`fuchsia.media.ProfileProvider`] (requirement will be removed in 2025)
- [`fuchsia.scheduler.RoleManager`]
The following services must be present in order to render web content in a Scenic view
using [`Frame.CreateView`], [`Frame.CreateViewWithViewRef`] or [`Frame.CreateView2`]]:
- [`fuchsia.accessibility.semantics/SemanticsManager`]
- [`fuchsia.ui.composition/Allocator`]
- [`fuchsia.ui.composition/Flatland`]
- [`fuchsia.ui.scenic/Scenic`]
The following service must be present in order to collect diagnostic tracing data.
- [`fuchsia.tracing.perfetto.ProducerConnector`]
::std::optional< ::fidl::ClientEnd< ::fuchsia_io::Directory>> & service_directory ()
Service directory to be used by the context.
The following services must be present in the service directory:
- [`fuchsia.buildinfo/Provider`]
- [`fuchsia.device/NameProvider`]
- [`fuchsia.fonts/Provider`]
- [`fuchsia.hwinfo.Product`]
- [`fuchsia.intl/PropertyProvider`]
- [`fuchsia.kernel/VmexResource`] (unless [`ContextFeatureFlags.DISABLE_DYNAMIC_CODE_GENERATION`] is set)
- [`fuchsia.logger/LogSink`]
- [`fuchsia.memorypressure/Provider`]
- [`fuchsia.process/Launcher`]
- [`fuchsia.sysmem/Allocator`]
The following services are recommended to be present in order to allow CPU scheduling
profiles to be applied to threads to tune their performance, especially for media rendering.
- [`fuchsia.media.ProfileProvider`] (requirement will be removed in 2025)
- [`fuchsia.scheduler.RoleManager`]
The following services must be present in order to render web content in a Scenic view
using [`Frame.CreateView`], [`Frame.CreateViewWithViewRef`] or [`Frame.CreateView2`]]:
- [`fuchsia.accessibility.semantics/SemanticsManager`]
- [`fuchsia.ui.composition/Allocator`]
- [`fuchsia.ui.composition/Flatland`]
- [`fuchsia.ui.scenic/Scenic`]
The following service must be present in order to collect diagnostic tracing data.
- [`fuchsia.tracing.perfetto.ProducerConnector`]
CreateContextParams & service_directory (std::optional< ::fidl::ClientEnd< ::fuchsia_io::Directory>> value)
Service directory to be used by the context.
The following services must be present in the service directory:
- [`fuchsia.buildinfo/Provider`]
- [`fuchsia.device/NameProvider`]
- [`fuchsia.fonts/Provider`]
- [`fuchsia.hwinfo.Product`]
- [`fuchsia.intl/PropertyProvider`]
- [`fuchsia.kernel/VmexResource`] (unless [`ContextFeatureFlags.DISABLE_DYNAMIC_CODE_GENERATION`] is set)
- [`fuchsia.logger/LogSink`]
- [`fuchsia.memorypressure/Provider`]
- [`fuchsia.process/Launcher`]
- [`fuchsia.sysmem/Allocator`]
The following services are recommended to be present in order to allow CPU scheduling
profiles to be applied to threads to tune their performance, especially for media rendering.
- [`fuchsia.media.ProfileProvider`] (requirement will be removed in 2025)
- [`fuchsia.scheduler.RoleManager`]
The following services must be present in order to render web content in a Scenic view
using [`Frame.CreateView`], [`Frame.CreateViewWithViewRef`] or [`Frame.CreateView2`]]:
- [`fuchsia.accessibility.semantics/SemanticsManager`]
- [`fuchsia.ui.composition/Allocator`]
- [`fuchsia.ui.composition/Flatland`]
- [`fuchsia.ui.scenic/Scenic`]
The following service must be present in order to collect diagnostic tracing data.
- [`fuchsia.tracing.perfetto.ProducerConnector`]
const std::optional< ::fidl::ClientEnd< ::fuchsia_io::Directory>> & data_directory ()
Handle to the directory that will contain the [`Context`]'s persistent data. If it is left
unset, then the created [`Context`] will be stateless, with all of its data discarded upon
[`Context`] destruction.
If set, `data_directory` must not be shared with any other [`Context`].
::std::optional< ::fidl::ClientEnd< ::fuchsia_io::Directory>> & data_directory ()
Handle to the directory that will contain the [`Context`]'s persistent data. If it is left
unset, then the created [`Context`] will be stateless, with all of its data discarded upon
[`Context`] destruction.
If set, `data_directory` must not be shared with any other [`Context`].
CreateContextParams & data_directory (std::optional< ::fidl::ClientEnd< ::fuchsia_io::Directory>> value)
Handle to the directory that will contain the [`Context`]'s persistent data. If it is left
unset, then the created [`Context`] will be stateless, with all of its data discarded upon
[`Context`] destruction.
If set, `data_directory` must not be shared with any other [`Context`].
const std::optional< ::std::string> & user_agent_product ()
Optional string describing the embedding product to append to the User-Agent string.
See the specification for the
[HTTP User-Agent header](https://tools.ietf.org/html/rfc7231#section-5.5.3).
Requires that `user_agent_version` is also specified.
::std::optional< ::std::string> & user_agent_product ()
Optional string describing the embedding product to append to the User-Agent string.
See the specification for the
[HTTP User-Agent header](https://tools.ietf.org/html/rfc7231#section-5.5.3).
Requires that `user_agent_version` is also specified.
CreateContextParams & user_agent_product (std::optional< ::std::string> value)
Optional string describing the embedding product to append to the User-Agent string.
See the specification for the
[HTTP User-Agent header](https://tools.ietf.org/html/rfc7231#section-5.5.3).
Requires that `user_agent_version` is also specified.
const std::optional< ::std::string> & user_agent_version ()
Optional version for the embedding product to append to the User-Agent string.
Requires that `user_agent_product` is also specified.
::std::optional< ::std::string> & user_agent_version ()
Optional version for the embedding product to append to the User-Agent string.
Requires that `user_agent_product` is also specified.
CreateContextParams & user_agent_version (std::optional< ::std::string> value)
Optional version for the embedding product to append to the User-Agent string.
Requires that `user_agent_product` is also specified.
const std::optional<uint16_t> & remote_debugging_port ()
Enables Frames to be created with remote debugging enabled using the DevTools protocol. If
`port` is 0, then an ephemeral port will be used, which can be queried via the
[`Context.GetRemoteDebuggingPort`] API.
Because remote debugging uses TCP, it is not valid to set a remote
debugging port without having also set [`ContextFeatureFlags.NETWORK`]
for the context.
::std::optional<uint16_t> & remote_debugging_port ()
Enables Frames to be created with remote debugging enabled using the DevTools protocol. If
`port` is 0, then an ephemeral port will be used, which can be queried via the
[`Context.GetRemoteDebuggingPort`] API.
Because remote debugging uses TCP, it is not valid to set a remote
debugging port without having also set [`ContextFeatureFlags.NETWORK`]
for the context.
CreateContextParams & remote_debugging_port (std::optional<uint16_t> value)
Enables Frames to be created with remote debugging enabled using the DevTools protocol. If
`port` is 0, then an ephemeral port will be used, which can be queried via the
[`Context.GetRemoteDebuggingPort`] API.
Because remote debugging uses TCP, it is not valid to set a remote
debugging port without having also set [`ContextFeatureFlags.NETWORK`]
for the context.
const std::optional< ::std::vector< ::fuchsia_web::ContentDirectoryProvider>> & content_directories ()
List of providers whose contents will be served by `fuchsia-dir://` URLs.
::std::optional< ::std::vector< ::fuchsia_web::ContentDirectoryProvider>> & content_directories ()
List of providers whose contents will be served by `fuchsia-dir://` URLs.
CreateContextParams & content_directories (std::optional< ::std::vector< ::fuchsia_web::ContentDirectoryProvider>> value)
List of providers whose contents will be served by `fuchsia-dir://` URLs.
const std::optional< ::fuchsia_web::ContextFeatureFlags> & features ()
Optional features that should be enabled for this context. Some features may also require
additional services in `service_directory`.
::std::optional< ::fuchsia_web::ContextFeatureFlags> & features ()
Optional features that should be enabled for this context. Some features may also require
additional services in `service_directory`.
CreateContextParams & features (std::optional< ::fuchsia_web::ContextFeatureFlags> value)
Optional features that should be enabled for this context. Some features may also require
additional services in `service_directory`.
CreateContextParams & operator= (CreateContextParams && )
Defined at line 316 of file fidling/gen/sdk/fidl/fuchsia.web/fuchsia.web/cpp/fidl/fuchsia.web/cpp/natural_types.h
const std::optional< ::std::string> & playready_key_system ()
Enables PlayReady CDM for the Context using the specified string as a key system
string. The string should be a reverse domain name, as required by
[EME API](https://www.w3.org/TR/encrypted-media/#key-system).
- Requires [`fuchsia.media.drm/PlayReady`] service.
- Requires that a `cdm_data_directory` be specified in [`CreateContextParams`].
::std::optional< ::std::string> & playready_key_system ()
Enables PlayReady CDM for the Context using the specified string as a key system
string. The string should be a reverse domain name, as required by
[EME API](https://www.w3.org/TR/encrypted-media/#key-system).
- Requires [`fuchsia.media.drm/PlayReady`] service.
- Requires that a `cdm_data_directory` be specified in [`CreateContextParams`].
CreateContextParams & playready_key_system (std::optional< ::std::string> value)
Enables PlayReady CDM for the Context using the specified string as a key system
string. The string should be a reverse domain name, as required by
[EME API](https://www.w3.org/TR/encrypted-media/#key-system).
- Requires [`fuchsia.media.drm/PlayReady`] service.
- Requires that a `cdm_data_directory` be specified in [`CreateContextParams`].
const std::optional< ::std::vector< ::std::string>> & unsafely_treat_insecure_origins_as_secure ()
Treat given insecure origins as secure origins. For the definition of secure contexts, see
[Secure Contexts](https://w3c.github.io/webappsec-secure-contexts/) and
[origin trustworthiness](https://www.w3.org/TR/powerful-features/#is-origin-trustworthy).
Example value: `{"http://a.com", "http://b.com"}`.
::std::optional< ::std::vector< ::std::string>> & unsafely_treat_insecure_origins_as_secure ()
Treat given insecure origins as secure origins. For the definition of secure contexts, see
[Secure Contexts](https://w3c.github.io/webappsec-secure-contexts/) and
[origin trustworthiness](https://www.w3.org/TR/powerful-features/#is-origin-trustworthy).
Example value: `{"http://a.com", "http://b.com"}`.
CreateContextParams & unsafely_treat_insecure_origins_as_secure (std::optional< ::std::vector< ::std::string>> value)
Treat given insecure origins as secure origins. For the definition of secure contexts, see
[Secure Contexts](https://w3c.github.io/webappsec-secure-contexts/) and
[origin trustworthiness](https://www.w3.org/TR/powerful-features/#is-origin-trustworthy).
Example value: `{"http://a.com", "http://b.com"}`.
const std::optional< ::std::vector< ::std::vector<uint8_t>>> & cors_exempt_headers ()
Specifies a set of header names for which [Cross-Origin Resource Sharing
(CORS)](https://www.w3.org/TR/cors/) checks should not be enforced.
::std::optional< ::std::vector< ::std::vector<uint8_t>>> & cors_exempt_headers ()
Specifies a set of header names for which [Cross-Origin Resource Sharing
(CORS)](https://www.w3.org/TR/cors/) checks should not be enforced.
CreateContextParams & cors_exempt_headers (std::optional< ::std::vector< ::std::vector<uint8_t>>> value)
Specifies a set of header names for which [Cross-Origin Resource Sharing
(CORS)](https://www.w3.org/TR/cors/) checks should not be enforced.
const std::optional< ::fidl::ClientEnd< ::fuchsia_io::Directory>> & cdm_data_directory ()
Specifies the storage to use to persistent content licensing related data (e.g.
provisioning data, persistent session data). By default these data will be placed under the
`data_directory`, if specified.
If neither `data_directory` nor `cdm_data_directory` are specified, then content licensing
features requiring persistent storage (e.g. persistent licensing sessions) will not be
available to the [`Context`].
Note that not all content licensing systems support persistent sessions, regardless of
whether persistent storage is provided.
::std::optional< ::fidl::ClientEnd< ::fuchsia_io::Directory>> & cdm_data_directory ()
Specifies the storage to use to persistent content licensing related data (e.g.
provisioning data, persistent session data). By default these data will be placed under the
`data_directory`, if specified.
If neither `data_directory` nor `cdm_data_directory` are specified, then content licensing
features requiring persistent storage (e.g. persistent licensing sessions) will not be
available to the [`Context`].
Note that not all content licensing systems support persistent sessions, regardless of
whether persistent storage is provided.
CreateContextParams & cdm_data_directory (std::optional< ::fidl::ClientEnd< ::fuchsia_io::Directory>> value)
Specifies the storage to use to persistent content licensing related data (e.g.
provisioning data, persistent session data). By default these data will be placed under the
`data_directory`, if specified.
If neither `data_directory` nor `cdm_data_directory` are specified, then content licensing
features requiring persistent storage (e.g. persistent licensing sessions) will not be
available to the [`Context`].
Note that not all content licensing systems support persistent sessions, regardless of
whether persistent storage is provided.
const std::optional<uint64_t> & cdm_data_quota_bytes ()
Specifies a target maximum size for `cdm_data_directory` contents, in bytes. If the amount
of persisted CDM data exceeds this threshold, then the [`Context`] will attempt to purge
some data to meet the specified quota.
::std::optional<uint64_t> & cdm_data_quota_bytes ()
Specifies a target maximum size for `cdm_data_directory` contents, in bytes. If the amount
of persisted CDM data exceeds this threshold, then the [`Context`] will attempt to purge
some data to meet the specified quota.
CreateContextParams & cdm_data_quota_bytes (std::optional<uint64_t> value)
Specifies a target maximum size for `cdm_data_directory` contents, in bytes. If the amount
of persisted CDM data exceeds this threshold, then the [`Context`] will attempt to purge
some data to meet the specified quota.
const std::optional<uint64_t> & data_quota_bytes ()
Specifies a target maximum size for `data_directory` contents, in bytes.
The [`Context`] will attempt to limit browsing state (e.g. cookies, LocalStorage) to
not exceed the specified size.
::std::optional<uint64_t> & data_quota_bytes ()
Specifies a target maximum size for `data_directory` contents, in bytes.
The [`Context`] will attempt to limit browsing state (e.g. cookies, LocalStorage) to
not exceed the specified size.
CreateContextParams & data_quota_bytes (std::optional<uint64_t> value)
Specifies a target maximum size for `data_directory` contents, in bytes.
The [`Context`] will attempt to limit browsing state (e.g. cookies, LocalStorage) to
not exceed the specified size.
void CreateContextParams (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
Friends
class MemberVisitor
class NaturalTableCodingTraits