template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 931 of file fidling/gen/sdk/fidl/fuchsia.web/fuchsia.web/cpp/fidl/fuchsia.web/cpp/wire_types.h
Public Methods
::fuchsia_web::wire::CreateContextParams Build ()
Build and return the table. The builder should not be used after this.
bool has_service_directory ()
void clear_service_directory ()
Clears the service_directory field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::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`]
BuilderImpl & service_directory (::fidl::ClientEnd< ::fuchsia_io::Directory> elem)
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`]
bool has_data_directory ()
void clear_data_directory ()
Clears the data_directory field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::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`].
BuilderImpl & data_directory (::fidl::ClientEnd< ::fuchsia_io::Directory> elem)
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`].
bool has_user_agent_product ()
void clear_user_agent_product ()
Clears the user_agent_product field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::StringView & 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.
BuilderImpl & user_agent_product (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)
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.
bool has_user_agent_version ()
void clear_user_agent_version ()
Clears the user_agent_version field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::StringView & user_agent_version ()
Optional version for the embedding product to append to the User-Agent string.
Requires that `user_agent_product` is also specified.
BuilderImpl & user_agent_version (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)
Optional version for the embedding product to append to the User-Agent string.
Requires that `user_agent_product` is also specified.
bool has_remote_debugging_port ()
void clear_remote_debugging_port ()
Clears the remote_debugging_port field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
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.
BuilderImpl & remote_debugging_port (uint16_t elem)
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.
bool has_content_directories ()
void clear_content_directories ()
Clears the content_directories field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fuchsia_web::wire::ContentDirectoryProvider> & content_directories ()
List of providers whose contents will be served by `fuchsia-dir://` URLs.
BuilderImpl & content_directories (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_web::wire::ContentDirectoryProvider>>> elem)
List of providers whose contents will be served by `fuchsia-dir://` URLs.
bool has_features ()
void clear_features ()
Clears the features field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_web::wire::ContextFeatureFlags & features ()
Optional features that should be enabled for this context. Some features may also require
additional services in `service_directory`.
BuilderImpl & features (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_web::wire::ContextFeatureFlags>> elem)
Optional features that should be enabled for this context. Some features may also require
additional services in `service_directory`.
bool has_playready_key_system ()
void clear_playready_key_system ()
Clears the playready_key_system field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::StringView & 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`].
BuilderImpl & playready_key_system (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)
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`].
bool has_unsafely_treat_insecure_origins_as_secure ()
void clear_unsafely_treat_insecure_origins_as_secure ()
Clears the unsafely_treat_insecure_origins_as_secure field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fidl::StringView> & 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"}`.
BuilderImpl & unsafely_treat_insecure_origins_as_secure (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fidl::StringView>>> elem)
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"}`.
bool has_cors_exempt_headers ()
void clear_cors_exempt_headers ()
Clears the cors_exempt_headers field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fidl::VectorView<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.
BuilderImpl & cors_exempt_headers (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fidl::VectorView<uint8_t>>>> elem)
Specifies a set of header names for which [Cross-Origin Resource Sharing
(CORS)](https://www.w3.org/TR/cors/) checks should not be enforced.
bool has_cdm_data_directory ()
void clear_cdm_data_directory ()
Clears the cdm_data_directory field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::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.
BuilderImpl & cdm_data_directory (::fidl::ClientEnd< ::fuchsia_io::Directory> elem)
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.
bool has_cdm_data_quota_bytes ()
void clear_cdm_data_quota_bytes ()
Clears the cdm_data_quota_bytes field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
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.
BuilderImpl & cdm_data_quota_bytes (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)
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.
bool has_data_quota_bytes ()
void clear_data_quota_bytes ()
Clears the data_quota_bytes field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
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.
BuilderImpl & data_quota_bytes (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)
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.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_web::wire::CreateContextParams, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_web::wire::CreateContextParams>> && frame)