协议
上下文
在 fuchsia.web/context.fidl 中定义
管理与一组 Frame 关联的浏览状态(例如 LocalStorage、Cookie 等)。
CreateFrame
在此 Context 下创建一个新的 Frame。销毁 Context 会触发销毁其所有关联 Frame。帧可传输到另一个组件,但不能在多个组件之间共享。
frame
:将绑定到创建的 Frame 的接口请求。
请求
名称 | 类型 |
---|---|
frame |
server_end<Frame>
|
CreateFrameWithParams
与 Context.CreateFrame 类似,但具有额外的参数。
请求
名称 | 类型 |
---|---|
params |
CreateFrameParams
|
frame |
server_end<Frame>
|
GetCookieManager
用于观察在此上下文下托管的网站的 Cookie。
请求
名称 | 类型 |
---|---|
manager |
server_end<CookieManager>
|
GetRemoteDebuggingPort
等待一个或多个 Frame 支持调试,并返回开发者工具端口号。为了接收端口号,可能会有多个调用加入队列。
如果发生错误,ContextError 会被设为此值:
REMOTE_DEBUGGING_PORT_NOT_OPENED
:未在 CreateContextParams 中设置remote_debugging_port
,或远程调试服务无法启动。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Context_GetRemoteDebuggingPort_Result
|
ContextProvider
在 fuchsia.web/context.fidl 中定义
允许创建上下文资源的顶级服务接口。
创建
创建一个新的浏览器 Context,其状态完全独立且与其他 Context(Contexts
) 隔离。
请求
名称 | 类型 |
---|---|
params |
CreateContextParams
|
context |
server_end<Context>
|
CookieManager
在 fuchsia.web/cookie.fidl 中定义
提供监控和访问浏览器 Cookie 状态的方法。
GetCookieList
返回 Cookie 列表,可以选择仅限与 url
匹配的 Cookie,还可以选择返回 name
。cookies
会迭代匹配的 Cookie,包括其 value
。
请求
名称 | 类型 |
---|---|
url |
Url
|
name |
CookieName
|
cookies |
server_end<CookiesIterator>
|
ObserveCookieChanges
观察将通过请求发送到 url
的所有名为 name
的 Cookie 发生的更改。
如果 url
和 name
均未设置,则观察所有 Cookie。如果仅设置 url
,则会观察该网址的所有 Cookie。如果同时设置了两者,则仅观察与这两个字段都匹配的 Cookie。
changes
遍历 Cookie 更改流。添加或更新表示为完整 Cookie,而删除表示为未设置 value
的 Cookie。
请求
名称 | 类型 |
---|---|
url |
Url
|
name |
CookieName
|
changes |
server_end<CookiesIterator>
|
CookiesIterator
在 fuchsia.web/cookie.fidl 中定义
用于对一组 Cookie 或对 Cookie 的一系列更改进行迭代。
GetNext
获取下一批 Cookie 或对 Cookie 的更改。RFC6265 不对可存储的 Cookie 数量指定上限。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
changed_cookies |
vector<Cookie>
|
调试
在 fuchsia.web/debug.fidl 中定义
用于启用针对上下文的开发者工具服务的调试服务。
EnableDevTools
在每次后续创建 Context 时启用开发者工具服务,并将后续的开发者工具事件传递给提供的 listener
。回调指示 WebEngine 何时处于可调试状态。事件将发送到使用此方法注册的每个 listener
。
由于开发者工具调试功能使用 TCP 作为传输公开,因此只有可以使用网络功能创建的上下文才会将自身报告为可用于调试。
请求
名称 | 类型 |
---|---|
listener |
DevToolsListener
|
响应
<EMPTY>
DevToolsListener
在 fuchsia.web/debug.fidl 中定义
用于观察开发者工具服务可用性事件的界面。
OnContextDevToolsAvailable
当开发者工具服务在新的 Context 中可用时调用。
请求
名称 | 类型 |
---|---|
listener |
server_end<DevToolsPerContextListener>
|
DevToolsPerContextListener
在 fuchsia.web/debug.fidl 中定义
调试组件提供的接口,用于观察开发者工具服务打开事件。
OnHttpPortOpen
当开发者工具服务开始在 port
上接受 TCP 连接时调用。port
将保持打开状态,直到 Context 被销毁。
port
:服务使用的端口。
请求
名称 | 类型 |
---|---|
port |
uint16
|
帧
在 fuchsia.web/frame.fidl 中定义
AddBeforeLoadJavaScript
针对每次后续网页加载(其中 Frame 的网址在 origins
中反映的来源)时执行 UTF-8 编码的 script
。脚本会在执行文档脚本之前提前执行。
脚本由客户端管理的标识符 id
标识。之前使用同一 id
注入的任何脚本都将被替换。
多个绑定的执行顺序与绑定的添加顺序相同。如果添加的脚本破坏了同一 id
的现有脚本,则前一个脚本在注入顺序中的优先级将保持不变。
必须至少指定一个 origins
条目。如果在 origins
中指定了通配符 "*"
,系统将无条件地评估脚本。
如果发生错误,FrameError 将设为以下值之一:
BUFFER_NOT_UTF8
:script
未经过 UTF-8 编码。INVALID_ORIGIN
:origins
是一个空矢量。
请求
名称 | 类型 |
---|---|
id |
uint64
|
origins |
vector<string>
|
script |
fuchsia.mem/Buffer
|
响应
名称 | 类型 |
---|---|
payload |
Frame_AddBeforeLoadJavaScript_Result
|
关闭
请求妥善或立即拆解帧内容,并通过帧 epitaph 实现完成通知。
安全拆解允许在实现和 Web 内容(例如unload
事件处理脚本)最多运行指定时间段。立即拆解只会运行实现中最少的清理任务,不允许 Web 内容运行事件处理脚本。
-
如果
timeout
为零,则立即启动拆解。该频道将以ZX_OK
结束。这相当于调用方关闭 Frame 通道。 -
如果
timeout
为非零值,则会启动安全拆解。如果 Frame 在指定的timeout
内关闭,则通道将使用ZX_OK
关闭,否则返回ZX_ERR_TIMED_OUT
。 -
如果未指定
timeout
,系统会应用合理的实现专用超时时间。
对 Close()
的后续调用将覆盖之前指定的所有 Close()
超时。
请求
名称 | 类型 |
---|---|
payload |
FrameCloseRequest
|
ConfigureInputTypes
启用或停用对用户输入的指定 types
的处理。
allow
指定是启用还是停用指定的 types
。默认情况下,所有输入类型都处于启用状态。
请求
名称 | 类型 |
---|---|
types |
InputTypes
|
allow |
AllowInputState
|
CreateView
使用指定的 view_token
创建一个新视图。调用方应将令牌的另一端传递给 fuchsia.ui.gfx/ViewHolderArgs,以便将新视图附加到视图树。
如需了解使用此方法时必须存在的附加服务,请参阅 CreateContextParams.service_directory 的说明。
请求
名称 | 类型 |
---|---|
view_token |
fuchsia.ui.views/ViewToken
|
CreateView2
使用 args
下定义的指定 view_creation_token
创建一个新的 Flatland 视图。调用方应将令牌的另一端传递给 fuchsia.ui.composition/Flatland.CreateViewport,以将新的 Flatland 视图附加到其图。
请求
名称 | 类型 |
---|---|
args |
CreateView2Args
|
CreateViewWithViewRef
使用指定的 view_token
创建一个新视图。调用方应将令牌的另一端传递给 fuchsia.ui.gfx/ViewHolderArgs,以便将新视图附加到视图树。可以先克隆 view_ref
,然后再将其传递给此方法,从而允许客户端跟踪视图。
不得为 view_ref_control
设置 ZX_RIGHT_DUPLICATE
,否则视图创建将失败且 view_token
将关闭。
如需了解使用此方法时必须存在的附加服务,请参阅 CreateContextParams.service_directory 的说明。
请求
名称 | 类型 |
---|---|
view_token |
fuchsia.ui.views/ViewToken
|
view_ref_control |
fuchsia.ui.views/ViewRefControl
|
view_ref |
fuchsia.ui.views/ViewRef
|
DisableHeadlessRendering
停止无头渲染帧。
只能用于使用 ContextFeatureFlags.HEADLESS 创建的上下文。
请求
<EMPTY>
EnableHeadlessRendering
启用 Frame 的无头渲染。
如果内容依赖于正常触发的布局和/或动画事件,则使用此方法。只能用于使用 ContextFeatureFlags.HEADLESS 创建的上下文。
请求
<EMPTY>
ExecuteJavaScript
如果 Frame 的网址的来源与 origins
中的条目匹配,则在 Frame 中执行 UTF-8 编码的 script
。
必须至少指定一个 origins
条目。如果在 origins
中指定了通配符 "*"
,系统将无条件地评估脚本。
以 JSON 编码字符串形式返回执行 script
的结果。
请注意,脚本与文档共享相同的执行上下文,这意味着文档可能会以任意或不可预测的方式修改脚本设置的变量、类或对象。
如果发生错误,FrameError 将设置为以下值之一:
BUFFER_NOT_UTF8
:script
未经过 UTF-8 编码。INVALID_ORIGIN
:Frame 的当前网址与origins
中的任何值都不匹配,或者origins
是一个空矢量。
请求
名称 | 类型 |
---|---|
origins |
vector<string>
|
script |
fuchsia.mem/Buffer
|
响应
名称 | 类型 |
---|---|
payload |
Frame_ExecuteJavaScript_Result
|
ExecuteJavaScriptNoResult
Frame.ExecuteJavaScript 的变体,用于执行提供的脚本而不返回结果。
请求
名称 | 类型 |
---|---|
origins |
vector<string>
|
script |
fuchsia.mem/Buffer
|
响应
名称 | 类型 |
---|---|
payload |
Frame_ExecuteJavaScriptNoResult_Result
|
ForceContentDimensions
替换向 Web 内容报告的维度。针对 Web 内容报告的 devicePixelRatio 会根据 View 像素尺寸的变化而进行调整,而不是更改报告给内容的尺寸。使用 null web_dips
调用可移除之前任何强制内容尺寸。
请求
名称 | 类型 |
---|---|
web_dips |
fuchsia.ui.gfx/vec2?
|
GetMediaPlayer
返回 fuchsia.media.sessions2/Player 接口,通过该接口,可以观察和/或控制帧中的媒体(即视频/音频)播放。对于每个帧,一次只能有一个 fuchsia.media.sessions2/Player 处于活动状态。
请求
名称 | 类型 |
---|---|
player |
server_end<fuchsia.media.sessions2/Player>
|
GetNavigationController
返回一个界面,通过该界面,Frame 可导航到所需网址、执行重新加载等操作。
controller
:针对 Frame 的 NavigationController 的异步接口请求。
请求
名称 | 类型 |
---|---|
controller |
server_end<NavigationController>
|
GetPrivateMemorySize
返回 Frame 的主文档使用的私有(非共享)物理内存量。返回的大小可能无法反映嵌入式 iframe 的内存用量。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
size_bytes |
uint64
|
PostMessage
将消息发布到帧的 onMessage 处理程序。
target_origin
用于限制将消息传送至指定来源。如果 target_origin
为 "*"
,则无论消息来源如何,消息都将发送到文档。如需详细了解如何应用目标来源政策,请参阅 HTML 规范第 9.4.3 节。
如果发生错误,FrameError 将设为以下值之一:
INTERNAL_ERROR
:WebEngine 未能创建消息管道。BUFFER_NOT_UTF8
:message
的data
属性中的脚本未采用 UTF-8 编码。INVALID_ORIGIN
:origins
是一个空矢量。NO_DATA_IN_MESSAGE
:message
中缺少data
属性。
请求
名称 | 类型 |
---|---|
target_origin |
Url
|
message |
WebMessage
|
响应
名称 | 类型 |
---|---|
payload |
Frame_PostMessage_Result
|
RemoveBeforeLoadJavaScript
移除之前添加的 JavaScript 代码段(由 id
标识)。如果没有由 id
标识的 JavaScript 代码段,则此为空操作。
请求
名称 | 类型 |
---|---|
id |
uint64
|
ResetContentAreaSettings
将框架的 ContentAreaSettings 重置为默认值。
请求
<EMPTY>
SetBlockMediaLoading
设置是否阻止帧中的所有 HTMLMediaElements 提取和加载媒体资源。
例如,可用于防止在不可见的帧中加载媒体。
媒体加载被阻止后,autoplay
设为 true
的元素将不会开始播放。调用 play()
返回的 promise 将保持未解析状态,直到加载被调用此方法解除阻塞。
取消屏蔽媒体加载后,元素将视情况开始提取、提供资源、加载和播放。
在媒体加载被阻止之前,已开始为当前来源提取或加载媒体资源的任何元素将继续根据需要提取、加载和开始播放。这包括对 play()
的调用(即使在媒体加载被阻止后)。
请求
名称 | 类型 |
---|---|
blocked |
bool
|
SetConsoleLogSink
指定将 console
日志输出发送到的位置。默认情况下,日志输出将路由到通过 fuchsia.web/Context 的服务目录获取的 fuchsia.logger/LogSink。
sink
:用于发出日志的 fuchsia.logger/LogSink。传递null
句柄可重置日志记录以使用默认的 fuchsia.logger/LogSink。
请求
名称 | 类型 |
---|---|
sink |
fuchsia.logger/LogSink?
|
SetContentAreaSettings
针对 Web 内容在框架中的运行方式设定各种设置。可以随时调用,包括在网址加载后调用。每次调用都只会更改指定的字段,并覆盖所有先前的值。
如果帧不支持 ContentAreaSettings 中的任何值,此方法将失败并显示 ZX_ERR_NOT_SUPPORTED
。
请求
名称 | 类型 |
---|---|
settings |
ContentAreaSettings
|
SetJavaScriptLogLevel
如果设置为 ConsoleLogLevel.NONE 以外的值,则允许 Web 内容通过 console
对象(例如,使用 debug()
、log()
、info()
、warn()
和 error()
)将消息记录到为此 Frame 配置的 fuchsia.logger/LogSink。默认值为 {1N}Log1Level{/14。ConsoleLogLevel.NONE
由于系统日志可能会持久保留,因此建议您在无痕模式和其他无痕浏览模式下使用 ConsoleLogLevel.NONE。
日志行会写入为此 fuchsia.web/Frame 配置的 fuchsia.logger/LogsSink,严重程度对应如下:
debug()
、log()
和info()
会记录为严重级别 fuchsia.logger/LogLevelFilter.INFO。warn()
会记录为 fuchsia.logger/LogLevelFilter.WARN 严重级别。error()
会记录为严重级别 fuchsia.logger/LogLevelFilter.ERROR。
请求
名称 | 类型 |
---|---|
level |
ConsoleLogLevel
|
SetMediaSettings
为帧设置 fuchsia.media/FrameMediaSettings。指定的参数适用于处理此消息后启动的音频流。应在帧转到内容之前调用,以确保将设置应用于所有媒体流。由于请求流水线,这意味着在调用 Frame.GetNavigationController() 和 NavigationController.LoadUrl() 之前执行此操作。
请求
名称 | 类型 |
---|---|
settings |
FrameMediaSettings
|
SetNavigationEventListener
设置用于处理页面导航事件的监听器。
listener
:要使用的观察器。如果为 null,则取消注册任何现有监听器。
请求
名称 | 类型 |
---|---|
listener |
NavigationEventListener?
|
SetNavigationEventListener2
设置用于处理页面导航事件的监听器。监听器将立即收到当前导航状态。之后,每当状态发生变化时,它都会收到通知。
listener
:要使用的观察器。如果为 null,则取消注册任何现有监听器。flags
:应为监听器启用的可选功能的标记。
请求
名称 | 类型 |
---|---|
listener |
NavigationEventListener?
|
flags |
NavigationEventListenerFlags
|
SetNavigationPolicyProvider
为 Frame 设置导航策略提供程序。设置后,Frame 会在处理导航请求时发送 NavigationPolicyProvider.EvaluateRequestedNavigation。params
定义消息的发送时间。发送 EvaluateRequestedNavigation
消息后,Frame 将阻止相应的导航,直到收到响应。
应在 GetNavigationController
之前调用,以确保它应用于所有导航,包括第一个 NavigationController.LoadURL 请求。
请求
名称 | 类型 |
---|---|
params |
NavigationPolicyProviderParams
|
provider |
NavigationPolicyProvider
|
SetPermissionState
设置指定的 permission
和 web_origin
的权限状态。默认情况下,系统会拒绝所有权限。
请求
名称 | 类型 |
---|---|
permission |
PermissionDescriptor
|
web_origin |
Url
|
state |
PermissionState
|
SetPopupFrameCreationListener
设置用于处理 Web 内容打开的弹出式帧的监听器。如果没有监听器,所有新的弹出帧都将被屏蔽。
listener
:要使用的监听器。如果为 null,则取消注册任何现有监听器。
请求
名称 | 类型 |
---|---|
listener |
PopupFrameCreationListener?
|
SetUrlRequestRewriteRules
提供一组要应用于后续每个网址请求的 UrlRequestRewriteRule。
rules
是按顺序累积的。rules
仅适用于重定向链中的第一个网址请求。- “
rules
”必须先经过验证,然后才能应用。如果rules
无效,系统会使用ERR_INVALID_ARGS
关闭 Frame。 - 在处理完 Frame.SetUrlRequestRewriteRules 的确认回调之前,不得再次调用它。如果发生这种情况,Frame 将使用
ERR_BAD_STATE
关闭。
请求
名称 | 类型 |
---|---|
rules |
vector<UrlRequestRewriteRule>[4096]
|
响应
<EMPTY>
FrameHost
在 fuchsia.web/context.fidl 中定义
CreateFrameWithParams
行为与 Context.CreateFrameWithParams 完全相同。
请求
名称 | 类型 |
---|---|
params |
CreateFrameParams
|
frame |
server_end<Frame>
|
MessagePort
在 fuchsia.web/frame.fidl 中定义
表示 HTML5 MessageChannel 的一端。可用于在 Frame 的脚本上下文中与对等的 MessagePort 发送和交换消息。当 MessagePort 通道的任何一端关闭时,端口都会被销毁。
PostMessage
向对等方发送 WebMessage。系统会按顺序处理这些元素,一次一个。在再次调用 MessagePort.PostMessage 之前,调用方无需等待完成回调。
如果发生错误,FrameError 将设为以下值之一:
BUFFER_NOT_UTF8
:message
的data
属性中的脚本未采用 UTF-8 编码。NO_DATA_IN_MESSAGE
:message
中缺少data
属性。
请求
名称 | 类型 |
---|---|
message |
WebMessage
|
响应
名称 | 类型 |
---|---|
payload |
MessagePort_PostMessage_Result
|
ReceiveMessage
从通道异步读取下一条消息。当客户端准备好处理另一条消息时,应调用回调函数。未接收的消息会在发送方端缓冲,并受到其可用资源的限制。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
message |
WebMessage
|
NavigationController
在 fuchsia.web/navigation.fidl 中定义
提供用于控制和查询 Frame 的导航状态的方法。
GoBack
告知框架导航到其历史记录中的上一页(如果有)。
请求
<EMPTY>
GoForward
告知 Frame 导航到其历史记录中的下一页(如果有)。
请求
<EMPTY>
LoadUrl
指示 Frame 导航到 url
。
url
:要导航到的地址。params
:影响资源加载方式的其他参数(例如 Cookie、HTTP 标头等)
如果发生错误,NavigationControllerError 会设置为以下值之一:
INVALID_URL
:url
参数无效。INVALID_HEADER
:LoadUrlParams.headers 中至少有一个标头无效。
请求
名称 | 类型 |
---|---|
url |
Url
|
params |
LoadUrlParams
|
响应
名称 | 类型 |
---|---|
payload |
NavigationController_LoadUrl_Result
|
重新加载
告知 Frame 重新加载当前页面。
请求
名称 | 类型 |
---|---|
type |
ReloadType
|
停止
如果导航正在进行,告知 Frame 停止当前导航。
请求
<EMPTY>
NavigationEventListener
在 fuchsia.web/navigation.fidl 中定义
由嵌入器提供的接口,用于接收有关 Frame 中导航事件的通知。
OnNavigationStateChanged
每当用户可见的导航状态发生变化时,系统都会立即调用 Frame.SetNavigationEventListener。在第一次调用中,change
包含当前导航状态(在第一个导航请求之前为空)。在后续的每次调用中,change
都将为自上一次通知以来任何时间发生变更的所有字段设置值。这意味着某些字段的值可能与先前报告的值相同,例如,这些字段更改为其他值并再次更改。如果某个字段未设置,则自上次通知以来,其值在任何时候都未更改。
实现器必须调用确认回调以接收新的导航事件。
请求
名称 | 类型 |
---|---|
change |
NavigationState
|
响应
<EMPTY>
NavigationPolicyProvider
在 fuchsia.web/navigation.fidl 中定义
EvaluateRequestedNavigation
当 Frame 在 NavigationPolicyProviderParams 中指定的某个阶段处理导航请求时调用。导航会暂停,直到收到结果为止。返回的 NavigationDecision 会定义导航应如何继续。
请求
名称 | 类型 |
---|---|
requested_navigation |
RequestedNavigation
|
响应
名称 | 类型 |
---|---|
decision |
NavigationDecision
|
PopupFrameCreationListener
在 fuchsia.web/frame.fidl 中定义
OnPopupFrameCreated
在 Frame 创建新的弹出式 frame
时调用。弹出框架及其创建方式的相关信息通过 info
提供。系统调用确认回调后会传送其他弹出式帧。
请求
名称 | 类型 |
---|---|
frame |
Frame
|
info |
PopupFrameCreationInfo
|
响应
<EMPTY>
结构
Context_GetRemoteDebuggingPort_Response
在 fuchsia.web/context.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
port |
uint16
|
无默认取景方式 |
Frame_AddBeforeLoadJavaScript_Response
在 fuchsia.web/frame.fidl 中定义
<EMPTY>
Frame_ExecuteJavaScriptNoResult_Response
在 fuchsia.web/frame.fidl 中定义
<EMPTY>
Frame_ExecuteJavaScript_Response 资源
在 fuchsia.web/frame.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
result |
fuchsia.mem/Buffer
|
无默认取景方式 |
Frame_PostMessage_Response
在 fuchsia.web/frame.fidl 中定义
<EMPTY>
MessagePort_PostMessage_Response
在 fuchsia.web/frame.fidl 中定义
<EMPTY>
NavigationController_LoadUrl_Response
在 fuchsia.web/navigation.fidl 中定义
<EMPTY>
NoArgumentsAction
在 fuchsia.web/navigation.fidl 中定义
NavigationDecision 中用于不含任何参数的操作的空结构体。
<EMPTY>
枚举
allowInputState strict
类型:int32
在 fuchsia.web/frame.fidl 中定义
控制 Frame.ConfigureInputTypes() 是允许还是拒绝处理指定的 InputTypes。
名称 | 值 | 说明 |
---|---|---|
允许 |
1 |
|
拒绝 |
2 |
AutoplayPolicy 严格
类型:int32
在 fuchsia.web/context.fidl 中定义
指定自动(非用户启动)视频和音频内容播放的政策。
名称 | 值 | 说明 |
---|---|---|
允许 |
1 |
允许所有媒体自动播放。 |
REQUIRE_USER_ACTIVATION |
2 |
允许在文档收到用户激活后自动播放。这可能是用户操作或设置了 LoadUrlParams.was_user_activated 的结果。 |
ConsoleLogLevel strict
类型:int32
在 fuchsia.web/frame.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
无 |
100 |
无日志记录。 |
DEBUG |
-1 |
输出来自 |
INFO |
0 |
输出来自 |
WARN |
1 |
输出来自 |
ERROR |
2 |
从 |
ContextError strict
类型:int32
在 fuchsia.web/context.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
REMOTE_DEBUGGING_PORT_NOT_OPENED |
1 |
未打开远程调试服务。 |
FrameError 严格
类型:int32
在 fuchsia.web/frame.fidl 中定义
表示 Frame 方法的返回状态。
名称 | 值 | 说明 |
---|---|---|
INTERNAL_ERROR |
1 |
发生了内部错误。 |
BUFFER_NOT_UTF8 |
2 |
提供的缓冲区未采用 UTF-8 编码。 |
INVALID_ORIGIN |
3 |
框架网址与调用方提供的任何源都不匹配。 |
NO_DATA_IN_MESSAGE |
4 |
WebMessage 中缺少必需的 |
LoadUrlReason 严格
类型:uint32
在 fuchsia.web/navigation.fidl 中定义
描述 NavigationController.LoadUrl 请求的来源。
名称 | 值 | 说明 |
---|---|---|
链接 |
0 |
导航由用户点击链接启动。 |
已型 |
1 |
导航由用户提供的网址启动。 |
NavigationControllerError 严格
类型:int32
在 fuchsia.web/navigation.fidl 中定义
表示 NavigationController 方法的返回状态。
名称 | 值 | 说明 |
---|---|---|
INVALID_URL |
1 |
提供的网址无效。 |
INVALID_HEADER |
2 |
提供的标头中至少有一个无效。 |
PageType 严格
类型:uint32
在 fuchsia.web/navigation.fidl 中定义
在 NavigationState 中对页面类型进行表征。
名称 | 值 | 说明 |
---|---|---|
NORMAL |
0 |
常规网页。 |
ERROR |
1 |
错误页。 |
PermissionState 严格
类型:uint8
在 fuchsia.web/frame.fidl 中定义
网站权限的状态。
名称 | 值 | 说明 |
---|---|---|
已被拒 |
1 |
已拒绝授予权限。 |
已授权 |
2 |
已授予权限。 |
PermissionType strict
类型:uint16
在 fuchsia.web/frame.fidl 中定义
标识可向网站来源授予的一类权限。
名称 | 值 | 说明 |
---|---|---|
麦克风 |
1 |
使用麦克风的权限。 |
CAMERA |
2 |
使用摄像头的权限。 |
PROTECTED_MEDIA_IDENTIFIER |
3 |
拥有使用 EME 的设备标识符的权限。 |
PERSISTENT_STORAGE |
4 |
拥有使用永久性存储空间的权限。 |
重新加载类型(严格)
类型:uint32
在 fuchsia.web/navigation.fidl 中定义
说明重新加载的类型。
名称 | 值 | 说明 |
---|---|---|
PARTIAL_CACHE |
0 |
重新加载当前条目,绕过主要资源的缓存。 |
NO_CACHE |
1 |
重新加载当前条目,完全绕过缓存。 |
UrlRequestAction 严格
类型:int32
在 fuchsia.web/url_request_rewrite_rules.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
允许 |
1 |
允许系统处理请求。 |
拒绝 |
2 |
屏蔽请求。 |
表
ContentAreaSettings
在 fuchsia.web/frame.fidl 中定义
框架中 Web 内容的设置。由 Frame 创建的弹出式 Frame 会将其设置初始化为 Frame 的当前设置。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
hide_scrollbars |
bool
|
指定是否隐藏帧的滚动条。如果省略,则默认值为 false。 |
2 |
autoplay_policy |
AutoplayPolicy
|
指定帧的自动播放政策。如果省略,则默认政策为 |
3 |
theme |
fuchsia.settings/ThemeType
|
指定通过 |
4 |
page_scale |
float32
|
设置应应用于此帧中呈现的 Web 内容的缩放比例(缩放级别)。高于 1.0 的值会放大所有 Web 内容(包括文字和图片),而低于 1.0 的值则会缩小。换言之,高于 1.0 的值用于放大,低于 1.0 的值用于缩小。物理像素与 CSS 像素之间的总体比率是使用此方法设置的缩放比例与 Sense 提供的缩放比例(请参阅 fuchsia.ui.gfx.Metrics)的结果。该商品在 Web 内容中显示为 此设置对屏幕上的视图大小以及视图渲染的分辨率没有任何影响。原生(非网页)界面元素(如默认滚动条和默认鼠标光标)不会缩放。启用双指张合缩放功能后,用户可以进一步缩放网页(请参阅 InputTypes.GESTURE_PINCH)。 |
ContentDirectoryProvider 资源
在 fuchsia.web/context.fidl 中定义
定义托管 fuchsia.io/Directory 资源的提供方。内容可以通过提供程序对资源文件执行 GET
操作,但无法枚举目录。资源可通过其网址 fuchsia-dir://<provider-name>/<path/to/resource>
进行访问
默认情况下,系统会通过“嗅探”文件内容自动确定文件的 MIME 类型。不会声明任何内容编码,浏览器会将其解读为含义 "text/plain"
。
您可以选择性地由位于文件旁边的元数据文件明确指定内容类型和编码元数据。元数据在 JSON 文件中表示,并以它们描述的文件命名(使用 "._metadata"
后缀)。
例如,文件 "index.html"
将包含一个名为 "index.html._metadata"
的元数据文件,其中包含以下内容:
{
"charset": "utf-8",
"mime": "text/html"
}
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
name |
string[255]
|
提供商的名称。不得为空,并且只能包含字母数字、英文句点和短划线。 |
2 |
directory |
fuchsia.io/Directory
|
包含此提供方提供的文件的目录。 |
Cookie 资源
在 fuchsia.web/cookie.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
id |
CookieId
|
包含用于识别 Cookie 的字段的表。 |
2 |
value |
string
|
Cookie 值。 RFC6265 没有指定 Cookie 大小限制,但建议至少支持 4096 个字节。 |
CookieId
在 fuchsia.web/cookie.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
name |
CookieName
|
网站选择的 RFC2616“令牌”,用于标识 Cookie。 |
2 |
domain |
string[255]
|
此 Cookie 作用域的 RFC1034“子网域”。例如“example.com”允许从所有 *.example.com 子网域进行访问。 |
3 |
path |
string[65536]
|
此 Cookie 的作用域网址“path”前缀。例如“/”将允许从所有路径访问。 |
CreateContextParams 资源
在 fuchsia.web/context.fidl 中定义
用于指定新上下文的配置的参数。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
service_directory |
fuchsia.io/Directory
|
上下文要使用的服务目录。 服务目录中必须包含以下服务:
建议使用以下服务,以允许将 CPU 调度配置文件应用于线程,从而调整其性能,尤其是针对媒体渲染的性能。 必须提供以下服务,才能使用 Frame.CreateView、Frame.CreateViewWithViewRef 或 Frame.CreateView2] 在“风景”视图中呈现 Web 内容:
必须提供以下服务才能收集诊断跟踪数据。 |
2 |
data_directory |
fuchsia.io/Directory
|
包含 Context 持久性数据的目录的句柄。如果未设置,则创建的 Context 将是无状态的,其所有数据在 Context 销毁时会被舍弃。 如果设置了此字段,则不得与任何其他上下文共享 |
3 |
user_agent_product |
string[128]
|
可选字符串,描述要附加到用户代理字符串的嵌入产品。请参阅 HTTP 用户代理标头的规范。还要求指定 |
4 |
user_agent_version |
string[128]
|
要附加到用户代理字符串的嵌入产品的可选版本。 还要求指定 |
5 |
remote_debugging_port |
uint16
|
允许在启用远程调试(使用开发者工具协议)的情况下创建框架。如果 由于远程调试使用 TCP,因此如果未同时为上下文设置 ContextFeatureFlags.NETWORK,则设置远程调试端口是无效的。 |
6 |
content_directories |
vector<ContentDirectoryProvider>[100]
|
内容将由 |
7 |
features |
ContextFeatureFlags
|
为此情境启用的可选功能。某些功能可能还需要在 |
8 |
playready_key_system |
string[128]
|
使用指定的字符串作为关键系统字符串,为上下文启用 PlayReady CDM。根据 EME API 的要求,该字符串应为反向域名。
|
9 |
unsafely_treat_insecure_origins_as_secure |
vector<string>[100]
|
将指定的不安全源视为安全源。如需了解安全上下文的定义,请参阅安全上下文和源可信度。 示例值: |
10 |
cors_exempt_headers |
vector<vector<uint8>>
|
指定一组不应强制执行跨域资源共享 (CORS) 检查的标头名称。 |
11 |
cdm_data_directory |
fuchsia.io/Directory
|
指定用于永久性内容许可相关数据(例如预配数据、永久性会话数据)的存储空间。默认情况下,这些数据将放置在 如果 请注意,无论是否提供永久性存储空间,并非所有内容许可系统都支持永久性会话。 |
12 |
cdm_data_quota_bytes |
uint64
|
指定 |
13 |
data_quota_bytes |
uint64
|
指定 |
CreateFrameParams 资源
在 fuchsia.web/context.fidl 中定义
用于指定新 Frame 的配置的参数。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
enable_remote_debugging |
bool
|
设置为 true 可启用远程调试。如果未在 CreateContextParams 中设置 |
2 |
debug_name |
string
|
设置为为 Frame 命名,以帮助在调试上下文(例如系统日志输出)中区分它。例如,当来自 Web 内容的消息记录到系统日志记录器时,可能会将该名称添加到这些消息中。此名称不会影响用户或网络可见的行为。 由 Frame 创建的弹出式 Frame 的名称源自父 Frame 的名称。 |
4 |
explicit_sites_filter_error_page |
fuchsia.mem/Data
|
启用自动拦截前往露骨内容网站的导航,并以 HTML 格式指定当过滤器取消导航时在框架中加载的错误页面内容。适用于帧内所有帧中的导航。
取消主文档的导航后,Frame 的 NavigationState.PageType 为 |
CreateView2Args 资源
在 fuchsia.web/frame.fidl 中定义
Frame.CreateView2() 的参数,见上文。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
view_creation_token |
fuchsia.ui.views/ViewCreationToken
|
非可选。提供此令牌是为了将客户端的 Flatland 视图附加到父级的视口。 |
网站图标资源
在 fuchsia.web/navigation.fidl 中定义
用于表示网页的网站图标。空表格(所有字段均未设置)用于表示网页没有网站图标。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
data |
fuchsia.mem/Buffer
|
编码为具有预乘 alpha 通道的 RGBA 位图的图片内容。数据会进行密集打包,因此步幅始终为 |
2 |
width |
uint32
|
图片的宽度。 |
3 |
height |
uint32
|
图片的高度。 |
FrameCloseRequest
在 fuchsia.web/frame.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
timeout |
zx/Duration
|
可选。 |
FrameMediaSettings
在 fuchsia.web/frame.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
renderer_usage |
fuchsia.media/AudioRenderUsage
|
要为帧创建的每个 fuchsia.media/AudioRenderer 实例设置的 fuchsia.media/AudioRenderUsage。如果未设置,则 WebRTC 流的使用率为 |
2 |
audio_consumer_session_id |
uint64
|
设置后,系统会使用 fuchsia.media/AudioConsumer 进行音频播放。在这种情况下,指定的值将传递给 fuchsia.media/SessionAudioConsumerFactory。 |
LoadUrlParams 资源
在 fuchsia.web/navigation.fidl 中定义
用于修改 NavigationController.LoadUrl 行为的其他参数。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
type |
LoadUrlReason
|
向浏览器界面提供有关如何触发 NavigationController.LoadUrl 的提示。 |
2 |
referrer_url |
Url
|
与所请求资源相关联的网址。 |
3 |
was_user_activated |
bool
|
应设置为 true 才能将用户激活操作传播到帧。用户激活意味着用户正在与网页框架互动。它可以实现一些无法通过其他方式提供的 Web 功能。例如,仅当此标志设置为 true 时,自动播放功能才会起作用。 |
4 |
headers |
vector<fuchsia.net.http/Header>
|
自定义 HTTP 标头。RFC7540 未指定标头数量和大小的限制。 |
NavigationPolicyProviderParams
在 fuchsia.web/navigation.fidl 中定义
用于指定应将哪些导航事件委托给 NavigationPolicyProvider。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
main_frame_phases |
NavigationPhase
|
指定主框架中应评估的一组导航阶段。 |
2 |
subframe_phases |
NavigationPhase
|
指定应评估的子框架中的一组导航阶段。 |
NavigationState 资源
在 fuchsia.web/navigation.fidl 中定义
包含有关 Frame 的导航状态的信息。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
url |
Url
|
网页的网址。 |
2 |
title |
string
|
用户可见的网页标题。虽然 W3C 样式建议是 HTML TITLE 标记的长度不超过 64 个字符,但实际上没有限制。 |
3 |
page_type |
PageType
|
指明此次导航是否指向错误页面。 |
4 |
can_go_forward |
bool
|
指示是否还有后续导航。 |
5 |
can_go_back |
bool
|
指明是否有以前的导航。 |
6 |
is_main_document_loaded |
bool
|
表示已加载主文档的静态声明的资源。 |
7 |
favicon |
Favicon
|
该网页的当前网站图标。仅当为 |
PermissionDescriptor
在 fuchsia.web/frame.fidl 中定义
描述网络权限。将来,可能会使用特定于类型的字段对其进行扩展。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
type |
PermissionType
|
PopupFrameCreationInfo 资源
在 fuchsia.web/frame.fidl 中定义
指定关于新创建的弹出式框架的额外信息。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
initial_url |
Url
|
弹出框最初导航到的网址。 |
2 |
initiated_by_user |
bool
|
如果弹出框架是为了响应用户的界面互动(例如点击某个链接)而创建,则设置此字段。 |
RequestedNavigation
在 fuchsia.web/navigation.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
id |
NavigationId
|
导航的唯一 ID。 |
2 |
phase |
NavigationPhase
|
当前导航阶段。将且只能设置一位。 |
3 |
is_main_frame |
bool
|
导航是在主框架还是在子框架中进行的。 |
4 |
is_same_document |
bool
|
导航是否发生在未更改文档的情况下。 |
5 |
is_http_post |
bool
|
导航是否为 POST 请求。 |
6 |
url |
Url
|
导航的当前目标网址。对于同一导航过程,在遇到服务器重定向后,这可能会发生变化。 |
7 |
has_gesture |
bool
|
导航是否由用户手势启动。 |
8 |
was_server_redirect |
bool
|
导航是否遇到了服务器重定向。 |
UrlRequestRewriteAddHeaders
在 fuchsia.web/url_request_rewrite_rules.fidl 中定义
向网址请求添加 headers
。如果某个标头已存在于原始网址请求中,它将被覆盖。
- “
headers
”必须设置。 - 根据 RFC 7230 第 3.2 节,
headers
中的每个 fuchsia.net.http/标头都必须具有有效的 HTTP 标头名称和值。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
headers |
vector<fuchsia.net.http/Header>[4096]
|
UrlRequestRewriteAppendToQuery
在 fuchsia.web/url_request_rewrite_rules.fidl 中定义
将 query
附加到网址的查询。如果网址请求已经包含查询,则 query
将附加到该请求后面,后跟 &
。否则,该网址的查询将设置为 query
。
- “
query
”必须设置。 - “
query
”必须是有效的网址查询字符串。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
query |
Url
|
UrlRequestRewriteRemoveHeader
在 fuchsia.web/url_request_rewrite_rules.fidl 中定义
如果网址的查询中包含 query_pattern
,则从标头列表中移除 header_name
。如果未设置 query_pattern
,系统会无条件地从头文件列表中移除 header_name
。
- “
header_name
”必须设置。 - 根据 RFC 7230 第 3.2 节,
header_name
必须是有效的 HTTP 标头名称。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
query_pattern |
Url
|
|
2 |
header_name |
fuchsia.net.http/HeaderName
|
添加数量:12
|
UrlRequestRewriteReplaceUrl
在 fuchsia.web/url_request_rewrite_rules.fidl 中定义
如果网址请求中的网址以 url_ends_with
结尾,则将网址重写为 new_url
。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
url_ends_with |
Url
|
|
2 |
new_url |
Url
|
UrlRequestRewriteRule
在 fuchsia.web/url_request_rewrite_rules.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
hosts_filter |
vector<string>[4096]
|
要应用规则的一组主机。如果未设置,该规则将应用于每个请求,与主机无关。 |
2 |
schemes_filter |
vector<string>[4096]
|
要应用规则的一组架构。如果未设置,该规则将应用于每个请求,与架构无关。 |
3 |
rewrites |
vector<UrlRequestRewrite>[4096]
|
要应用的网址请求重写。 |
4 |
action |
UrlRequestAction
|
指定对与过滤条件匹配的请求执行的操作。默认情况下,系统允许发送请求。 |
UrlRequestRewriteSubstituteQueryPattern
在 fuchsia.web/url_request_rewrite_rules.fidl 中定义
如果在该网址的查询中发现 pattern
,请将其替换为 substitution
。
- 必须设置
pattern
和substitution
。 substitution
必须是有效的网址查询字符串。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
pattern |
Url
|
|
2 |
substitution |
Url
|
WebMessage 资源
在 fuchsia.web/frame.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
data |
fuchsia.mem/Buffer
|
消息载荷,编码为 UTF-8 字符串。这是必需属性。 |
2 |
incoming_transfer |
vector<IncomingTransferable>
|
从 FIDL 客户端传输到 MessagePort 的可选对象列表。 |
3 |
outgoing_transfer |
vector<OutgoingTransferable>
|
从 MessagePort 传输到 FIDL 客户端的可选对象列表。 |
联合
Context_GetRemoteDebuggingPort_Result strict
在 fuchsia.web/context.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Context_GetRemoteDebuggingPort_Response
|
|
2 |
err |
ContextError
|
Frame_AddBeforeLoadJavaScript_Result 严格
在 fuchsia.web/frame.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Frame_AddBeforeLoadJavaScript_Response
|
|
2 |
err |
FrameError
|
Frame_ExecuteJavaScriptNoResult_Result 严格
在 fuchsia.web/frame.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Frame_ExecuteJavaScriptNoResult_Response
|
|
2 |
err |
FrameError
|
Frame_ExecuteJavaScript_Result 严格 资源
在 fuchsia.web/frame.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Frame_ExecuteJavaScript_Response
|
|
2 |
err |
FrameError
|
Frame_PostMessage_Result 严格
在 fuchsia.web/frame.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Frame_PostMessage_Response
|
|
2 |
err |
FrameError
|
InboundTransferable 灵活 资源
在 fuchsia.web/frame.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
message_port |
MessagePort
|
MessagePort_PostMessage_Result 严格
在 fuchsia.web/frame.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
MessagePort_PostMessage_Response
|
|
2 |
err |
FrameError
|
NavigationController_LoadUrl_Result 严格
在 fuchsia.web/navigation.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
NavigationController_LoadUrl_Response
|
|
2 |
err |
NavigationControllerError
|
NavigationDecision 严格的 资源
在 fuchsia.web/navigation.fidl 中定义
为响应导航请求而应执行的导航操作。从 NavigationPolicyProvider.EvaluateRequestedNavigation 返回。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
proceed |
NoArgumentsAction
|
导航应正常运行。 |
2 |
abort |
NoArgumentsAction
|
导航应取消。框架应留在当前页面。 |
OutgoingTransferable 灵活 资源
在 fuchsia.web/frame.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
message_port |
server_end<MessagePort>
|
UrlRequestRewrite 灵活
在 fuchsia.web/url_request_rewrite_rules.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
add_headers |
UrlRequestRewriteAddHeaders
|
向网址请求添加一组标头。 |
2 |
remove_header |
UrlRequestRewriteRemoveHeader
|
根据网址查询中是否存在格式来移除标头。 |
3 |
substitute_query_pattern |
UrlRequestRewriteSubstituteQueryPattern
|
替换网址查询中的格式。 |
4 |
replace_url |
UrlRequestRewriteReplaceUrl
|
如果原始网址以某种格式结尾,则替换相应网址。 |
5 |
append_to_query |
UrlRequestRewriteAppendToQuery
|
附加到网址的查询。 |
BITS
ContextFeatureFlags strict
类型:uint64
在 fuchsia.web/context.fidl 中定义
允许扩充上下文行为的功能标志。某些功能需要在上下文初始化期间提供的服务目录中提供其他服务。请参阅 CreateContextParams.service_directory。
名称 | 值 | 说明 |
---|---|---|
网络 |
1 | 启用网络访问权限。需要以下服务: |
AUDIO |
2 | 启用音频输入和输出。需要以下服务: |
民谣 |
4 | 启用由 GPU 加速的 Web 内容渲染。需要以下服务:
|
HARDWARE_VIDEO_DECODER |
8 | 启用硬件视频解码。 ContextFeatureFlags.VULKAN。 需要以下服务: |
HARDWARE_VIDEO_DECODER_ONLY |
16 | 停用无法在硬件中解码的视频编解码器。 软件解码器只会用作硬件解码器的后备选项,例如在资源不足时。 需要 ContextFeatureFlags.HARDWARE_VIDEO_DECODER。 |
WIDEVINE_CDM |
32 | 为 EME API 启用 Widevine CDM 模块。
ContextFeatureFlags.VULKAN。
需要 fuchsia.media.drm/Widevine 服务。要求在 CreateContextParams 中指定 |
头脑风暴 |
64 | 允许嵌入器在没有图形输出或景观的情况下渲染 Web 内容。 与 ContextFeatureFlags.VULKAN 不兼容。 |
遗传指标 |
128 | 将遥测数据报告给 fuchsia.legacymetrics/MetricsRecorder。 |
键盘 |
256 | 启用键盘按键的输入事件。 需要 fuchsia.ui.input3/Keyboard,用于获取事件。 |
VIRTUAL_KEYBOARD |
512 | 允许使用屏幕虚拟键盘。该实现将管理键盘的状态,以响应网页内容中的输入/焦点事件。需要 fuchsia.input.virtualkeyboard/ControllerCreator 服务和 ContextFeatureFlags.KEYBOARD。 |
DISABLE_DYNAMIC_CODE_GENERATION |
1024 | 禁止通过脚本(如 JavaScript)和其他技术(如 WebAssembly)动态生成机器代码。这通常应导致脚本由解释器执行,同时会降低性能。其他依赖于动态代码生成的技术在可行的情况下可能会以受限的形式提供,或者,如果因解译会导致这些技术无法使用(就像 WebAssembly 就可能出现这种情况),我们可能以受限的形式提供这些技术。如果设置了此选项,则无需提供 fuchsia.kernel/VmexResource。 添加数量:10
|
InputType 严格
类型:uint64
在 fuchsia.web/frame.fidl 中定义
标识可由 View 处理的输入事件类型。
名称 | 值 | 说明 |
---|---|---|
KEY |
1 | 键盘事件。 |
MOUSE_CLICK |
2 | 鼠标按钮事件,适用于任何按钮。 |
MOUSE_WHEEL |
4 | 鼠标滚轮事件。 |
MOUSE_MOVE |
8 | 鼠标移动事件。 |
GESTURE_TAP |
16 | 用单指点按一次。 |
GESTURE_PINCH |
32 | 双指张合(用于缩放)。 |
GESTURE_DRAG |
64 | 拖动手指(用于滚动)。 |
全部 |
9223372036854775808 | 匹配所有输入类型。 |
NavigationEventListenerFlags 严格
类型:uint64
在 fuchsia.web/frame.fidl 中定义
客户端可以在连接 NavigationEventListener 时设置的标志,指示您对可选功能的兴趣。
名称 | 值 | 说明 |
---|---|---|
网站图标 |
1 | 启用 NavigationState 中的 |
NavigationPhase 严格
类型:uint32
在 fuchsia.web/navigation.fidl 中定义
标识导航阶段。
名称 | 值 | 说明 |
---|---|---|
开始 |
1 | 正在启动导航。 |
重定向 |
2 | 导航已重定向。 |
PROCESS_RESPONSE |
4 | 正在处理导航响应。此时,导航尚未提交,因此取消它还来得及。 |
未通过 |
8 | 导航失败。 |
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_HEADERS_COUNT |
4096
|
int32 |
|
MAX_HOST_LENGTH |
255
|
int32 |
|
MAX_RULE_COUNT |
4096
|
int32 |
|
MAX_SCHEME_AND_HOST_LENGTH |
513
|
int32 |
|
MAX_URL_LENGTH |
65536
|
int32 |
|
MAX_URL_SCHEME_NAME_LENGTH |
255
|
int32 |
别名
名称 | 值 | 说明 |
---|---|---|
CookieName |
string [fidl/MAX ] |
|
NavigationId |
uint64 |
导航的唯一标识符。可用于关联同一导航的不同阶段。保证对于同一上下文中的所有导航都是唯一的。 |
网址 |
string [MAX_URL_LENGTH ] |
|
UrlHostName |
string [MAX_HOST_LENGTH ] |
|
UrlSchemeAndHostName |
string [MAX_SCHEME_AND_HOST_LENGTH ] |
|
UrlSchemeName |
string [MAX_URL_SCHEME_NAME_LENGTH ] |