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