@gjsify/webview2-native-win32-x64 0.45.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
# @gjsify/webview2-native-win32-x64
|
|
2
2
|
|
|
3
|
-
> **No artifact in this tarball yet.** `win32-x64` is declared by
|
|
4
|
-
> `@gjsify/webview2-native` and built by CI, but not committed to the repository:
|
|
5
|
-
> prebuilds.yml's `build-prebuilds-win32-webview2` job builds, gates and load-tests it on every run; `commit-prebuilds` lands it here on the first run on `main` and clears this exemption in the same commit
|
|
6
|
-
>
|
|
7
|
-
> The package exists so the artifact has somewhere to land — and so its npm name
|
|
8
|
-
> is claimed before the release that first ships it. Until then installing it is
|
|
9
|
-
> harmless and does nothing: `@gjsify/webview2-native` finds no typelib and takes its
|
|
10
|
-
> no-native path, exactly as if this package were absent.
|
|
11
|
-
|
|
12
3
|
|
|
13
4
|
The **win32-x64** native artifacts of [`@gjsify/webview2-native`](https://www.npmjs.com/package/@gjsify/webview2-native) — a shared
|
|
14
5
|
library plus its GObject-Introspection typelib, and nothing else. There is no
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gjsify/webview2-native-win32-x64",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"description": "win32-x64 prebuilt native library + GObject-Introspection typelib for @gjsify/webview2-native. Installed automatically on win32/x64 as an optionalDependency of that package (ADR 0017) and skipped everywhere else. Contains no JavaScript.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"os": [
|
|
@@ -13,9 +13,6 @@
|
|
|
13
13
|
"prebuilds"
|
|
14
14
|
],
|
|
15
15
|
"gjsify": {
|
|
16
|
-
"platformsUncommitted": {
|
|
17
|
-
"win32-x64": "prebuilds.yml's `build-prebuilds-win32-webview2` job builds, gates and load-tests it on every run; `commit-prebuilds` lands it here on the first run on `main` and clears this exemption in the same commit"
|
|
18
|
-
},
|
|
19
16
|
"platforms": [
|
|
20
17
|
"win32-x64"
|
|
21
18
|
],
|
|
@@ -0,0 +1,1126 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<!-- This file was automatically generated from C sources - DO NOT EDIT!
|
|
3
|
+
To affect the contents of this file, edit the original C definitions,
|
|
4
|
+
and/or use gtk-doc annotations. -->
|
|
5
|
+
<repository version="1.2"
|
|
6
|
+
xmlns="http://www.gtk.org/introspection/core/1.0"
|
|
7
|
+
xmlns:c="http://www.gtk.org/introspection/c/1.0"
|
|
8
|
+
xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
|
|
9
|
+
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
|
|
10
|
+
<include name="GObject" version="2.0"/>
|
|
11
|
+
<include name="Gdk" version="4.0"/>
|
|
12
|
+
<include name="Gio" version="2.0"/>
|
|
13
|
+
<include name="Gtk" version="4.0"/>
|
|
14
|
+
<c:include name="gjsify-webview2.h"/>
|
|
15
|
+
<doc:format name="unknown"/>
|
|
16
|
+
<namespace name="WebKit"
|
|
17
|
+
version="6.0"
|
|
18
|
+
shared-library="libgjsifywebview2.so"
|
|
19
|
+
c:identifier-prefixes="GjsifyWebView2"
|
|
20
|
+
c:symbol-prefixes="gjsify_webview2">
|
|
21
|
+
<enumeration name="HostingMode" c:type="GjsifyWebView2HostingMode">
|
|
22
|
+
<doc xml:space="preserve"
|
|
23
|
+
filename="src/c/gjsify-webview2.h"
|
|
24
|
+
line="101">What a #GjsifyWebView2WebView actually is on screen. This exists because GTK's
|
|
25
|
+
failure mode here is exit 0: a rounded clip that does nothing is
|
|
26
|
+
indistinguishable from an application bug forever, so the answer has a name
|
|
27
|
+
and a reader.</doc>
|
|
28
|
+
<source-position filename="src/c/gjsify-webview2.h" line="119"/>
|
|
29
|
+
<member name="overlay"
|
|
30
|
+
value="0"
|
|
31
|
+
c:identifier="GJSIFY_WEBVIEW2_HOSTING_MODE_OVERLAY">
|
|
32
|
+
<doc xml:space="preserve"
|
|
33
|
+
filename="src/c/gjsify-webview2.h"
|
|
34
|
+
line="103">the web content is a child `HWND` the
|
|
35
|
+
OS composites ABOVE the GTK surface. It is not in GSK's scene graph: it
|
|
36
|
+
cannot be clipped by an ancestor, nothing can be drawn over it, and its
|
|
37
|
+
opacity and transforms are not applied.</doc>
|
|
38
|
+
</member>
|
|
39
|
+
<member name="composited"
|
|
40
|
+
value="1"
|
|
41
|
+
c:identifier="GJSIFY_WEBVIEW2_HOSTING_MODE_COMPOSITED">
|
|
42
|
+
<doc xml:space="preserve"
|
|
43
|
+
filename="src/c/gjsify-webview2.h"
|
|
44
|
+
line="107">the web content arrives as a
|
|
45
|
+
#GdkTexture the widget paints in its own `snapshot` vfunc, so it behaves
|
|
46
|
+
like any other widget. Not produced by this build — ADR 0035 stage 2.</doc>
|
|
47
|
+
</member>
|
|
48
|
+
</enumeration>
|
|
49
|
+
<enumeration name="LoadEvent" c:type="GjsifyWebView2LoadEvent">
|
|
50
|
+
<doc xml:space="preserve"
|
|
51
|
+
filename="src/c/gjsify-webview2.h"
|
|
52
|
+
line="42">Mirrors `WebKitLoadEvent`. The numeric values match WebKitGTK's so a consumer
|
|
53
|
+
that (wrongly) compares integers still agrees across backends.</doc>
|
|
54
|
+
<source-position filename="src/c/gjsify-webview2.h" line="57"/>
|
|
55
|
+
<member name="started"
|
|
56
|
+
value="0"
|
|
57
|
+
c:identifier="GJSIFY_WEBVIEW2_LOAD_STARTED">
|
|
58
|
+
<doc xml:space="preserve"
|
|
59
|
+
filename="src/c/gjsify-webview2.h"
|
|
60
|
+
line="44">a new load request has started.</doc>
|
|
61
|
+
</member>
|
|
62
|
+
<member name="redirected"
|
|
63
|
+
value="1"
|
|
64
|
+
c:identifier="GJSIFY_WEBVIEW2_LOAD_REDIRECTED">
|
|
65
|
+
<doc xml:space="preserve"
|
|
66
|
+
filename="src/c/gjsify-webview2.h"
|
|
67
|
+
line="45">a load request has been redirected.</doc>
|
|
68
|
+
</member>
|
|
69
|
+
<member name="committed"
|
|
70
|
+
value="2"
|
|
71
|
+
c:identifier="GJSIFY_WEBVIEW2_LOAD_COMMITTED">
|
|
72
|
+
<doc xml:space="preserve"
|
|
73
|
+
filename="src/c/gjsify-webview2.h"
|
|
74
|
+
line="46">the content is being loaded.</doc>
|
|
75
|
+
</member>
|
|
76
|
+
<member name="finished"
|
|
77
|
+
value="3"
|
|
78
|
+
c:identifier="GJSIFY_WEBVIEW2_LOAD_FINISHED">
|
|
79
|
+
<doc xml:space="preserve"
|
|
80
|
+
filename="src/c/gjsify-webview2.h"
|
|
81
|
+
line="47">the load finished.</doc>
|
|
82
|
+
</member>
|
|
83
|
+
</enumeration>
|
|
84
|
+
<enumeration name="MessagePumpState"
|
|
85
|
+
c:type="GjsifyWebView2MessagePumpState">
|
|
86
|
+
<doc xml:space="preserve"
|
|
87
|
+
filename="src/c/gjsify-webview2.h"
|
|
88
|
+
line="121">WebView2 delivers content-level callbacks through the thread's Win32 message
|
|
89
|
+
queue, and `g_main_loop_run()` does not dispatch that queue. Measured on
|
|
90
|
+
`windows-latest` / Evergreen 151.0.4129.101: `NavigationCompleted` timed out
|
|
91
|
+
after 8000 ms with no pump and arrived immediately with one, while the
|
|
92
|
+
environment and controller callbacks needed none. That asymmetry is why this
|
|
93
|
+
enum exists — a backend can get all the way through its own setup before the
|
|
94
|
+
gap shows, so the gap is reported where a view becomes live instead of being
|
|
95
|
+
inferred from a stalled page.</doc>
|
|
96
|
+
<source-position filename="src/c/gjsify-webview2.h" line="145"/>
|
|
97
|
+
<member name="attached"
|
|
98
|
+
value="0"
|
|
99
|
+
c:identifier="GJSIFY_WEBVIEW2_MESSAGE_PUMP_ATTACHED">
|
|
100
|
+
<doc xml:space="preserve"
|
|
101
|
+
filename="src/c/gjsify-webview2.h"
|
|
102
|
+
line="123">a pump source is attached to the
|
|
103
|
+
#GMainContext this view was created on, and this is that thread.</doc>
|
|
104
|
+
</member>
|
|
105
|
+
<member name="detached"
|
|
106
|
+
value="1"
|
|
107
|
+
c:identifier="GJSIFY_WEBVIEW2_MESSAGE_PUMP_DETACHED">
|
|
108
|
+
<doc xml:space="preserve"
|
|
109
|
+
filename="src/c/gjsify-webview2.h"
|
|
110
|
+
line="125">no pump source is attached. Every
|
|
111
|
+
content-level operation on this view will fail with a named error rather
|
|
112
|
+
than wait for a callback that cannot arrive.</doc>
|
|
113
|
+
</member>
|
|
114
|
+
<member name="foreign_thread"
|
|
115
|
+
value="2"
|
|
116
|
+
c:identifier="GJSIFY_WEBVIEW2_MESSAGE_PUMP_FOREIGN_THREAD">
|
|
117
|
+
<doc xml:space="preserve"
|
|
118
|
+
filename="src/c/gjsify-webview2.h"
|
|
119
|
+
line="128">a pump source exists, but the
|
|
120
|
+
caller is on a different thread from the one that owns it. WebView2 is
|
|
121
|
+
apartment-threaded; a call from here is not merely slow, it is wrong.</doc>
|
|
122
|
+
</member>
|
|
123
|
+
</enumeration>
|
|
124
|
+
<class name="Settings"
|
|
125
|
+
c:symbol-prefix="settings"
|
|
126
|
+
c:type="GjsifyWebView2Settings"
|
|
127
|
+
parent="GObject.Object"
|
|
128
|
+
final="1"
|
|
129
|
+
glib:type-name="GjsifyWebView2Settings"
|
|
130
|
+
glib:get-type="gjsify_webview2_settings_get_type"
|
|
131
|
+
glib:type-struct="SettingsClass">
|
|
132
|
+
<source-position filename="src/c/gjsify-webview2.h" line="321"/>
|
|
133
|
+
<constructor name="new" c:identifier="gjsify_webview2_settings_new">
|
|
134
|
+
<source-position filename="src/c/gjsify-webview2.h" line="329"/>
|
|
135
|
+
<return-value transfer-ownership="full">
|
|
136
|
+
<doc xml:space="preserve"
|
|
137
|
+
filename="src/c/gjsify-webview2.h"
|
|
138
|
+
line="327">settings with WebKitGTK's defaults.</doc>
|
|
139
|
+
<type name="Settings" c:type="GjsifyWebView2Settings*"/>
|
|
140
|
+
</return-value>
|
|
141
|
+
</constructor>
|
|
142
|
+
<property name="enable-developer-extras"
|
|
143
|
+
writable="1"
|
|
144
|
+
transfer-ownership="none"
|
|
145
|
+
default-value="FALSE">
|
|
146
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
147
|
+
</property>
|
|
148
|
+
<property name="enable-javascript"
|
|
149
|
+
writable="1"
|
|
150
|
+
transfer-ownership="none"
|
|
151
|
+
default-value="TRUE">
|
|
152
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
153
|
+
</property>
|
|
154
|
+
<property name="enable-write-console-messages-to-stdout"
|
|
155
|
+
writable="1"
|
|
156
|
+
transfer-ownership="none"
|
|
157
|
+
default-value="FALSE">
|
|
158
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
159
|
+
</property>
|
|
160
|
+
</class>
|
|
161
|
+
<record name="SettingsClass"
|
|
162
|
+
c:type="GjsifyWebView2SettingsClass"
|
|
163
|
+
glib:is-gtype-struct-for="Settings">
|
|
164
|
+
<source-position filename="src/c/gjsify-webview2.h" line="321"/>
|
|
165
|
+
<field name="parent_class">
|
|
166
|
+
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
167
|
+
</field>
|
|
168
|
+
</record>
|
|
169
|
+
<bitfield name="SnapshotOptions" c:type="GjsifyWebView2SnapshotOptions">
|
|
170
|
+
<source-position filename="src/c/gjsify-webview2.h" line="79"/>
|
|
171
|
+
<member name="none"
|
|
172
|
+
value="0"
|
|
173
|
+
c:identifier="GJSIFY_WEBVIEW2_SNAPSHOT_OPTIONS_NONE">
|
|
174
|
+
<doc xml:space="preserve"
|
|
175
|
+
filename="src/c/gjsify-webview2.h"
|
|
176
|
+
line="71">no special options.</doc>
|
|
177
|
+
</member>
|
|
178
|
+
<member name="include_selection_highlighting"
|
|
179
|
+
value="1"
|
|
180
|
+
c:identifier="GJSIFY_WEBVIEW2_SNAPSHOT_OPTIONS_INCLUDE_SELECTION_HIGHLIGHTING">
|
|
181
|
+
<doc xml:space="preserve"
|
|
182
|
+
filename="src/c/gjsify-webview2.h"
|
|
183
|
+
line="72">include the selection highlight.</doc>
|
|
184
|
+
</member>
|
|
185
|
+
<member name="transparent_background"
|
|
186
|
+
value="2"
|
|
187
|
+
c:identifier="GJSIFY_WEBVIEW2_SNAPSHOT_OPTIONS_TRANSPARENT_BACKGROUND">
|
|
188
|
+
<doc xml:space="preserve"
|
|
189
|
+
filename="src/c/gjsify-webview2.h"
|
|
190
|
+
line="73">do not paint the page background.</doc>
|
|
191
|
+
</member>
|
|
192
|
+
</bitfield>
|
|
193
|
+
<enumeration name="SnapshotRegion" c:type="GjsifyWebView2SnapshotRegion">
|
|
194
|
+
<source-position filename="src/c/gjsify-webview2.h" line="67"/>
|
|
195
|
+
<member name="visible"
|
|
196
|
+
value="0"
|
|
197
|
+
c:identifier="GJSIFY_WEBVIEW2_SNAPSHOT_REGION_VISIBLE">
|
|
198
|
+
<doc xml:space="preserve"
|
|
199
|
+
filename="src/c/gjsify-webview2.h"
|
|
200
|
+
line="61">the visible viewport.</doc>
|
|
201
|
+
</member>
|
|
202
|
+
<member name="full_document"
|
|
203
|
+
value="1"
|
|
204
|
+
c:identifier="GJSIFY_WEBVIEW2_SNAPSHOT_REGION_FULL_DOCUMENT">
|
|
205
|
+
<doc xml:space="preserve"
|
|
206
|
+
filename="src/c/gjsify-webview2.h"
|
|
207
|
+
line="62">the whole scrollable document.</doc>
|
|
208
|
+
</member>
|
|
209
|
+
</enumeration>
|
|
210
|
+
<enumeration name="UserContentInjectedFrames"
|
|
211
|
+
c:type="GjsifyWebView2UserContentInjectedFrames">
|
|
212
|
+
<source-position filename="src/c/gjsify-webview2.h" line="89"/>
|
|
213
|
+
<member name="all_frames"
|
|
214
|
+
value="0"
|
|
215
|
+
c:identifier="GJSIFY_WEBVIEW2_USER_CONTENT_INJECT_ALL_FRAMES">
|
|
216
|
+
<doc xml:space="preserve"
|
|
217
|
+
filename="src/c/gjsify-webview2.h"
|
|
218
|
+
line="83">inject into every frame.</doc>
|
|
219
|
+
</member>
|
|
220
|
+
<member name="top_frame"
|
|
221
|
+
value="1"
|
|
222
|
+
c:identifier="GJSIFY_WEBVIEW2_USER_CONTENT_INJECT_TOP_FRAME">
|
|
223
|
+
<doc xml:space="preserve"
|
|
224
|
+
filename="src/c/gjsify-webview2.h"
|
|
225
|
+
line="84">inject into the main frame only.</doc>
|
|
226
|
+
</member>
|
|
227
|
+
</enumeration>
|
|
228
|
+
<class name="UserContentManager"
|
|
229
|
+
c:symbol-prefix="user_content_manager"
|
|
230
|
+
c:type="GjsifyWebView2UserContentManager"
|
|
231
|
+
parent="GObject.Object"
|
|
232
|
+
final="1"
|
|
233
|
+
glib:type-name="GjsifyWebView2UserContentManager"
|
|
234
|
+
glib:get-type="gjsify_webview2_user_content_manager_get_type"
|
|
235
|
+
glib:type-struct="UserContentManagerClass">
|
|
236
|
+
<source-position filename="src/c/gjsify-webview2.h" line="265"/>
|
|
237
|
+
<constructor name="new"
|
|
238
|
+
c:identifier="gjsify_webview2_user_content_manager_new">
|
|
239
|
+
<source-position filename="src/c/gjsify-webview2.h" line="277"/>
|
|
240
|
+
<return-value transfer-ownership="full">
|
|
241
|
+
<doc xml:space="preserve"
|
|
242
|
+
filename="src/c/gjsify-webview2.h"
|
|
243
|
+
line="275">a new user content manager.</doc>
|
|
244
|
+
<type name="UserContentManager"
|
|
245
|
+
c:type="GjsifyWebView2UserContentManager*"/>
|
|
246
|
+
</return-value>
|
|
247
|
+
</constructor>
|
|
248
|
+
<method name="add_script"
|
|
249
|
+
c:identifier="gjsify_webview2_user_content_manager_add_script">
|
|
250
|
+
<source-position filename="src/c/gjsify-webview2.h" line="279"/>
|
|
251
|
+
<return-value transfer-ownership="none">
|
|
252
|
+
<type name="none" c:type="void"/>
|
|
253
|
+
</return-value>
|
|
254
|
+
<parameters>
|
|
255
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
256
|
+
<type name="UserContentManager"
|
|
257
|
+
c:type="GjsifyWebView2UserContentManager*"/>
|
|
258
|
+
</instance-parameter>
|
|
259
|
+
<parameter name="script" transfer-ownership="none">
|
|
260
|
+
<type name="UserScript" c:type="GjsifyWebView2UserScript*"/>
|
|
261
|
+
</parameter>
|
|
262
|
+
</parameters>
|
|
263
|
+
</method>
|
|
264
|
+
<method name="register_script_message_handler"
|
|
265
|
+
c:identifier="gjsify_webview2_user_content_manager_register_script_message_handler">
|
|
266
|
+
<doc xml:space="preserve"
|
|
267
|
+
filename="src/c/gjsify-webview2.h"
|
|
268
|
+
line="285">The page-side spelling is WebKit's because the consumer's is: a document-start
|
|
269
|
+
script defines `window.webkit.messageHandlers.<name>` in terms of
|
|
270
|
+
`window.chrome.webview.postMessage`, and the resulting message is re-emitted
|
|
271
|
+
as #GjsifyWebView2UserContentManager::script-message-received.</doc>
|
|
272
|
+
<source-position filename="src/c/gjsify-webview2.h" line="299"/>
|
|
273
|
+
<return-value transfer-ownership="none">
|
|
274
|
+
<doc xml:space="preserve"
|
|
275
|
+
filename="src/c/gjsify-webview2.h"
|
|
276
|
+
line="297">%TRUE if the handler was registered.</doc>
|
|
277
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
278
|
+
</return-value>
|
|
279
|
+
<parameters>
|
|
280
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
281
|
+
<doc xml:space="preserve"
|
|
282
|
+
filename="src/c/gjsify-webview2.h"
|
|
283
|
+
line="287">the manager.</doc>
|
|
284
|
+
<type name="UserContentManager"
|
|
285
|
+
c:type="GjsifyWebView2UserContentManager*"/>
|
|
286
|
+
</instance-parameter>
|
|
287
|
+
<parameter name="name" transfer-ownership="none">
|
|
288
|
+
<doc xml:space="preserve"
|
|
289
|
+
filename="src/c/gjsify-webview2.h"
|
|
290
|
+
line="288">the handler name, reachable from the page as
|
|
291
|
+
`window.webkit.messageHandlers.<name>.postMessage()`.</doc>
|
|
292
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
293
|
+
</parameter>
|
|
294
|
+
<parameter name="world_name"
|
|
295
|
+
transfer-ownership="none"
|
|
296
|
+
nullable="1"
|
|
297
|
+
allow-none="1">
|
|
298
|
+
<doc xml:space="preserve"
|
|
299
|
+
filename="src/c/gjsify-webview2.h"
|
|
300
|
+
line="290">ignored — see gjsify_webview2_user_script_new_for_world().</doc>
|
|
301
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
302
|
+
</parameter>
|
|
303
|
+
</parameters>
|
|
304
|
+
</method>
|
|
305
|
+
<method name="remove_all_scripts"
|
|
306
|
+
c:identifier="gjsify_webview2_user_content_manager_remove_all_scripts">
|
|
307
|
+
<source-position filename="src/c/gjsify-webview2.h" line="282"/>
|
|
308
|
+
<return-value transfer-ownership="none">
|
|
309
|
+
<type name="none" c:type="void"/>
|
|
310
|
+
</return-value>
|
|
311
|
+
<parameters>
|
|
312
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
313
|
+
<type name="UserContentManager"
|
|
314
|
+
c:type="GjsifyWebView2UserContentManager*"/>
|
|
315
|
+
</instance-parameter>
|
|
316
|
+
</parameters>
|
|
317
|
+
</method>
|
|
318
|
+
<method name="unregister_script_message_handler"
|
|
319
|
+
c:identifier="gjsify_webview2_user_content_manager_unregister_script_message_handler">
|
|
320
|
+
<source-position filename="src/c/gjsify-webview2.h" line="302"/>
|
|
321
|
+
<return-value transfer-ownership="none">
|
|
322
|
+
<type name="none" c:type="void"/>
|
|
323
|
+
</return-value>
|
|
324
|
+
<parameters>
|
|
325
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
326
|
+
<type name="UserContentManager"
|
|
327
|
+
c:type="GjsifyWebView2UserContentManager*"/>
|
|
328
|
+
</instance-parameter>
|
|
329
|
+
<parameter name="name" transfer-ownership="none">
|
|
330
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
331
|
+
</parameter>
|
|
332
|
+
<parameter name="world_name" transfer-ownership="none">
|
|
333
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
334
|
+
</parameter>
|
|
335
|
+
</parameters>
|
|
336
|
+
</method>
|
|
337
|
+
<glib:signal name="script-message-received" when="last" detailed="1">
|
|
338
|
+
<return-value transfer-ownership="none">
|
|
339
|
+
<type name="none" c:type="void"/>
|
|
340
|
+
</return-value>
|
|
341
|
+
<parameters>
|
|
342
|
+
<parameter name="object" transfer-ownership="none">
|
|
343
|
+
<type name="Value"/>
|
|
344
|
+
</parameter>
|
|
345
|
+
</parameters>
|
|
346
|
+
</glib:signal>
|
|
347
|
+
</class>
|
|
348
|
+
<record name="UserContentManagerClass"
|
|
349
|
+
c:type="GjsifyWebView2UserContentManagerClass"
|
|
350
|
+
glib:is-gtype-struct-for="UserContentManager">
|
|
351
|
+
<source-position filename="src/c/gjsify-webview2.h" line="265"/>
|
|
352
|
+
<field name="parent_class">
|
|
353
|
+
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
354
|
+
</field>
|
|
355
|
+
</record>
|
|
356
|
+
<record name="UserScript"
|
|
357
|
+
c:type="GjsifyWebView2UserScript"
|
|
358
|
+
opaque="1"
|
|
359
|
+
glib:type-name="GjsifyWebView2UserScript"
|
|
360
|
+
glib:get-type="gjsify_webview2_user_script_get_type"
|
|
361
|
+
c:symbol-prefix="user_script">
|
|
362
|
+
<source-position filename="src/c/gjsify-webview2.h" line="187"/>
|
|
363
|
+
<constructor name="new" c:identifier="gjsify_webview2_user_script_new">
|
|
364
|
+
<doc xml:space="preserve"
|
|
365
|
+
filename="src/c/gjsify-webview2.h"
|
|
366
|
+
line="202">A NON-EMPTY LIST OF EITHER KIND MAKES THE SCRIPT REFUSED, with a warning, by
|
|
367
|
+
gjsify_webview2_user_content_manager_add_script(). WebView2's
|
|
368
|
+
`AddScriptToExecuteOnDocumentCreated` carries no URL filter, and injecting the
|
|
369
|
+
script anyway would run it on origins the caller excluded — the exact failure
|
|
370
|
+
a block list exists to prevent — so refusing narrows in the safe direction for
|
|
371
|
+
both list kinds. Porting darwin's in-script guard (the source wrapped in a
|
|
372
|
+
labelled block that tests the document's URL) is what closes this; it is
|
|
373
|
+
outside ADR 0035 decision 4's counted subset and is not in this build.
|
|
374
|
+
|
|
375
|
+
The patterns themselves are WebKitGTK's `scheme://host/path` shape and are
|
|
376
|
+
kept unparsed: nothing here reads them, so a spelling this backend would have
|
|
377
|
+
got wrong cannot be mistaken for one it honoured.</doc>
|
|
378
|
+
<source-position filename="src/c/gjsify-webview2.h" line="225"/>
|
|
379
|
+
<return-value transfer-ownership="full">
|
|
380
|
+
<doc xml:space="preserve"
|
|
381
|
+
filename="src/c/gjsify-webview2.h"
|
|
382
|
+
line="223">a new script.</doc>
|
|
383
|
+
<type name="UserScript" c:type="GjsifyWebView2UserScript*"/>
|
|
384
|
+
</return-value>
|
|
385
|
+
<parameters>
|
|
386
|
+
<parameter name="source" transfer-ownership="none">
|
|
387
|
+
<doc xml:space="preserve"
|
|
388
|
+
filename="src/c/gjsify-webview2.h"
|
|
389
|
+
line="204">the script source.</doc>
|
|
390
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
391
|
+
</parameter>
|
|
392
|
+
<parameter name="injected_frames" transfer-ownership="none">
|
|
393
|
+
<doc xml:space="preserve"
|
|
394
|
+
filename="src/c/gjsify-webview2.h"
|
|
395
|
+
line="205">which frames to inject into.</doc>
|
|
396
|
+
<type name="UserContentInjectedFrames"
|
|
397
|
+
c:type="GjsifyWebView2UserContentInjectedFrames"/>
|
|
398
|
+
</parameter>
|
|
399
|
+
<parameter name="injection_time" transfer-ownership="none">
|
|
400
|
+
<doc xml:space="preserve"
|
|
401
|
+
filename="src/c/gjsify-webview2.h"
|
|
402
|
+
line="206">when to inject.</doc>
|
|
403
|
+
<type name="UserScriptInjectionTime"
|
|
404
|
+
c:type="GjsifyWebView2UserScriptInjectionTime"/>
|
|
405
|
+
</parameter>
|
|
406
|
+
<parameter name="allow_list"
|
|
407
|
+
transfer-ownership="none"
|
|
408
|
+
nullable="1"
|
|
409
|
+
allow-none="1">
|
|
410
|
+
<doc xml:space="preserve"
|
|
411
|
+
filename="src/c/gjsify-webview2.h"
|
|
412
|
+
line="207">URI patterns to allow, or %NULL for all.</doc>
|
|
413
|
+
<array c:type="const gchar* const*">
|
|
414
|
+
<type name="utf8" c:type="gchar*"/>
|
|
415
|
+
</array>
|
|
416
|
+
</parameter>
|
|
417
|
+
<parameter name="block_list"
|
|
418
|
+
transfer-ownership="none"
|
|
419
|
+
nullable="1"
|
|
420
|
+
allow-none="1">
|
|
421
|
+
<doc xml:space="preserve"
|
|
422
|
+
filename="src/c/gjsify-webview2.h"
|
|
423
|
+
line="208">URI patterns to block, or %NULL for none.</doc>
|
|
424
|
+
<array c:type="const gchar* const*">
|
|
425
|
+
<type name="utf8" c:type="gchar*"/>
|
|
426
|
+
</array>
|
|
427
|
+
</parameter>
|
|
428
|
+
</parameters>
|
|
429
|
+
</constructor>
|
|
430
|
+
<constructor name="new_for_world"
|
|
431
|
+
c:identifier="gjsify_webview2_user_script_new_for_world">
|
|
432
|
+
<doc xml:space="preserve"
|
|
433
|
+
filename="src/c/gjsify-webview2.h"
|
|
434
|
+
line="232">Mirrors `webkit_user_script_new_for_world()` so the call site is portable.
|
|
435
|
+
WebView2 has no public isolated-world API — `AddScriptToExecuteOnDocumentCreated`
|
|
436
|
+
runs in the page's own world and `ExecuteScript` evaluates there too — so a
|
|
437
|
+
non-%NULL @world_name is accepted and WARNED about ONCE per name rather than
|
|
438
|
+
silently honoured. Silently running an isolated script in the page's world is
|
|
439
|
+
the failure the argument exists to prevent, and a warning is the only honest
|
|
440
|
+
report this backend can make of it.</doc>
|
|
441
|
+
<source-position filename="src/c/gjsify-webview2.h" line="251"/>
|
|
442
|
+
<return-value transfer-ownership="full">
|
|
443
|
+
<doc xml:space="preserve"
|
|
444
|
+
filename="src/c/gjsify-webview2.h"
|
|
445
|
+
line="249">a new script.</doc>
|
|
446
|
+
<type name="UserScript" c:type="GjsifyWebView2UserScript*"/>
|
|
447
|
+
</return-value>
|
|
448
|
+
<parameters>
|
|
449
|
+
<parameter name="source" transfer-ownership="none">
|
|
450
|
+
<doc xml:space="preserve"
|
|
451
|
+
filename="src/c/gjsify-webview2.h"
|
|
452
|
+
line="234">the script source.</doc>
|
|
453
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
454
|
+
</parameter>
|
|
455
|
+
<parameter name="injected_frames" transfer-ownership="none">
|
|
456
|
+
<doc xml:space="preserve"
|
|
457
|
+
filename="src/c/gjsify-webview2.h"
|
|
458
|
+
line="235">which frames to inject into.</doc>
|
|
459
|
+
<type name="UserContentInjectedFrames"
|
|
460
|
+
c:type="GjsifyWebView2UserContentInjectedFrames"/>
|
|
461
|
+
</parameter>
|
|
462
|
+
<parameter name="injection_time" transfer-ownership="none">
|
|
463
|
+
<doc xml:space="preserve"
|
|
464
|
+
filename="src/c/gjsify-webview2.h"
|
|
465
|
+
line="236">when to inject.</doc>
|
|
466
|
+
<type name="UserScriptInjectionTime"
|
|
467
|
+
c:type="GjsifyWebView2UserScriptInjectionTime"/>
|
|
468
|
+
</parameter>
|
|
469
|
+
<parameter name="world_name"
|
|
470
|
+
transfer-ownership="none"
|
|
471
|
+
nullable="1"
|
|
472
|
+
allow-none="1">
|
|
473
|
+
<doc xml:space="preserve"
|
|
474
|
+
filename="src/c/gjsify-webview2.h"
|
|
475
|
+
line="237">ignored, and the reason is in the description.</doc>
|
|
476
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
477
|
+
</parameter>
|
|
478
|
+
<parameter name="allow_list"
|
|
479
|
+
transfer-ownership="none"
|
|
480
|
+
nullable="1"
|
|
481
|
+
allow-none="1">
|
|
482
|
+
<doc xml:space="preserve"
|
|
483
|
+
filename="src/c/gjsify-webview2.h"
|
|
484
|
+
line="238">URI patterns to allow, or %NULL for all.</doc>
|
|
485
|
+
<array c:type="const gchar* const*">
|
|
486
|
+
<type name="utf8" c:type="gchar*"/>
|
|
487
|
+
</array>
|
|
488
|
+
</parameter>
|
|
489
|
+
<parameter name="block_list"
|
|
490
|
+
transfer-ownership="none"
|
|
491
|
+
nullable="1"
|
|
492
|
+
allow-none="1">
|
|
493
|
+
<doc xml:space="preserve"
|
|
494
|
+
filename="src/c/gjsify-webview2.h"
|
|
495
|
+
line="239">URI patterns to block, or %NULL for none.</doc>
|
|
496
|
+
<array c:type="const gchar* const*">
|
|
497
|
+
<type name="utf8" c:type="gchar*"/>
|
|
498
|
+
</array>
|
|
499
|
+
</parameter>
|
|
500
|
+
</parameters>
|
|
501
|
+
</constructor>
|
|
502
|
+
<method name="ref" c:identifier="gjsify_webview2_user_script_ref">
|
|
503
|
+
<source-position filename="src/c/gjsify-webview2.h" line="198"/>
|
|
504
|
+
<return-value transfer-ownership="full">
|
|
505
|
+
<doc xml:space="preserve"
|
|
506
|
+
filename="src/c/gjsify-webview2.h"
|
|
507
|
+
line="196">@self with its reference count increased.</doc>
|
|
508
|
+
<type name="UserScript" c:type="GjsifyWebView2UserScript*"/>
|
|
509
|
+
</return-value>
|
|
510
|
+
<parameters>
|
|
511
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
512
|
+
<doc xml:space="preserve"
|
|
513
|
+
filename="src/c/gjsify-webview2.h"
|
|
514
|
+
line="194">a script.</doc>
|
|
515
|
+
<type name="UserScript" c:type="GjsifyWebView2UserScript*"/>
|
|
516
|
+
</instance-parameter>
|
|
517
|
+
</parameters>
|
|
518
|
+
</method>
|
|
519
|
+
<method name="unref" c:identifier="gjsify_webview2_user_script_unref">
|
|
520
|
+
<source-position filename="src/c/gjsify-webview2.h" line="200"/>
|
|
521
|
+
<return-value transfer-ownership="none">
|
|
522
|
+
<type name="none" c:type="void"/>
|
|
523
|
+
</return-value>
|
|
524
|
+
<parameters>
|
|
525
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
526
|
+
<type name="UserScript" c:type="GjsifyWebView2UserScript*"/>
|
|
527
|
+
</instance-parameter>
|
|
528
|
+
</parameters>
|
|
529
|
+
</method>
|
|
530
|
+
</record>
|
|
531
|
+
<enumeration name="UserScriptInjectionTime"
|
|
532
|
+
c:type="GjsifyWebView2UserScriptInjectionTime">
|
|
533
|
+
<source-position filename="src/c/gjsify-webview2.h" line="99"/>
|
|
534
|
+
<member name="start"
|
|
535
|
+
value="0"
|
|
536
|
+
c:identifier="GJSIFY_WEBVIEW2_USER_SCRIPT_INJECT_AT_DOCUMENT_START">
|
|
537
|
+
<doc xml:space="preserve"
|
|
538
|
+
filename="src/c/gjsify-webview2.h"
|
|
539
|
+
line="93">run before the document loads.</doc>
|
|
540
|
+
</member>
|
|
541
|
+
<member name="end"
|
|
542
|
+
value="1"
|
|
543
|
+
c:identifier="GJSIFY_WEBVIEW2_USER_SCRIPT_INJECT_AT_DOCUMENT_END">
|
|
544
|
+
<doc xml:space="preserve"
|
|
545
|
+
filename="src/c/gjsify-webview2.h"
|
|
546
|
+
line="94">run after the document loads.</doc>
|
|
547
|
+
</member>
|
|
548
|
+
</enumeration>
|
|
549
|
+
<class name="Value"
|
|
550
|
+
c:symbol-prefix="value"
|
|
551
|
+
c:type="GjsifyWebView2Value"
|
|
552
|
+
parent="GObject.Object"
|
|
553
|
+
final="1"
|
|
554
|
+
glib:type-name="GjsifyWebView2Value"
|
|
555
|
+
glib:get-type="gjsify_webview2_value_get_type"
|
|
556
|
+
glib:type-struct="ValueClass">
|
|
557
|
+
<source-position filename="src/c/gjsify-webview2.h" line="158"/>
|
|
558
|
+
<method name="is_null" c:identifier="gjsify_webview2_value_is_null">
|
|
559
|
+
<source-position filename="src/c/gjsify-webview2.h" line="174"/>
|
|
560
|
+
<return-value transfer-ownership="none">
|
|
561
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
562
|
+
</return-value>
|
|
563
|
+
<parameters>
|
|
564
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
565
|
+
<type name="Value" c:type="GjsifyWebView2Value*"/>
|
|
566
|
+
</instance-parameter>
|
|
567
|
+
</parameters>
|
|
568
|
+
</method>
|
|
569
|
+
<method name="is_string" c:identifier="gjsify_webview2_value_is_string">
|
|
570
|
+
<source-position filename="src/c/gjsify-webview2.h" line="173"/>
|
|
571
|
+
<return-value transfer-ownership="none">
|
|
572
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
573
|
+
</return-value>
|
|
574
|
+
<parameters>
|
|
575
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
576
|
+
<type name="Value" c:type="GjsifyWebView2Value*"/>
|
|
577
|
+
</instance-parameter>
|
|
578
|
+
</parameters>
|
|
579
|
+
</method>
|
|
580
|
+
<method name="is_undefined"
|
|
581
|
+
c:identifier="gjsify_webview2_value_is_undefined">
|
|
582
|
+
<source-position filename="src/c/gjsify-webview2.h" line="175"/>
|
|
583
|
+
<return-value transfer-ownership="none">
|
|
584
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
585
|
+
</return-value>
|
|
586
|
+
<parameters>
|
|
587
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
588
|
+
<type name="Value" c:type="GjsifyWebView2Value*"/>
|
|
589
|
+
</instance-parameter>
|
|
590
|
+
</parameters>
|
|
591
|
+
</method>
|
|
592
|
+
<method name="to_string" c:identifier="gjsify_webview2_value_to_string">
|
|
593
|
+
<doc xml:space="preserve"
|
|
594
|
+
filename="src/c/gjsify-webview2.h"
|
|
595
|
+
line="160">WebView2's `ExecuteScript` returns its result as JSON, where WebKitGTK
|
|
596
|
+
returns a live `JSCValue`. A JSON string is unquoted and unescaped here so a
|
|
597
|
+
string result reads the same on both backends; everything else is returned as
|
|
598
|
+
its JSON text, which is what `JSCValue.to_string()` produces for numbers and
|
|
599
|
+
booleans and is a documented divergence for objects.</doc>
|
|
600
|
+
<source-position filename="src/c/gjsify-webview2.h" line="172"/>
|
|
601
|
+
<return-value transfer-ownership="full">
|
|
602
|
+
<doc xml:space="preserve"
|
|
603
|
+
filename="src/c/gjsify-webview2.h"
|
|
604
|
+
line="170">the value rendered as a string.</doc>
|
|
605
|
+
<type name="utf8" c:type="gchar*"/>
|
|
606
|
+
</return-value>
|
|
607
|
+
<parameters>
|
|
608
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
609
|
+
<doc xml:space="preserve"
|
|
610
|
+
filename="src/c/gjsify-webview2.h"
|
|
611
|
+
line="162">a value.</doc>
|
|
612
|
+
<type name="Value" c:type="GjsifyWebView2Value*"/>
|
|
613
|
+
</instance-parameter>
|
|
614
|
+
</parameters>
|
|
615
|
+
</method>
|
|
616
|
+
</class>
|
|
617
|
+
<record name="ValueClass"
|
|
618
|
+
c:type="GjsifyWebView2ValueClass"
|
|
619
|
+
glib:is-gtype-struct-for="Value">
|
|
620
|
+
<source-position filename="src/c/gjsify-webview2.h" line="158"/>
|
|
621
|
+
<field name="parent_class">
|
|
622
|
+
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
623
|
+
</field>
|
|
624
|
+
</record>
|
|
625
|
+
<class name="WebView"
|
|
626
|
+
c:symbol-prefix="web_view"
|
|
627
|
+
c:type="GjsifyWebView2WebView"
|
|
628
|
+
parent="Gtk.Widget"
|
|
629
|
+
glib:type-name="GjsifyWebView2WebView"
|
|
630
|
+
glib:get-type="gjsify_webview2_web_view_get_type"
|
|
631
|
+
glib:type-struct="WebViewClass">
|
|
632
|
+
<source-position filename="src/c/gjsify-webview2.h" line="362"/>
|
|
633
|
+
<implements name="Gtk.Accessible"/>
|
|
634
|
+
<implements name="Gtk.Buildable"/>
|
|
635
|
+
<implements name="Gtk.ConstraintTarget"/>
|
|
636
|
+
<constructor name="new" c:identifier="gjsify_webview2_web_view_new">
|
|
637
|
+
<source-position filename="src/c/gjsify-webview2.h" line="369"/>
|
|
638
|
+
<return-value transfer-ownership="full">
|
|
639
|
+
<doc xml:space="preserve"
|
|
640
|
+
filename="src/c/gjsify-webview2.h"
|
|
641
|
+
line="367">a new web view.</doc>
|
|
642
|
+
<type name="Gtk.Widget" c:type="GtkWidget*"/>
|
|
643
|
+
</return-value>
|
|
644
|
+
</constructor>
|
|
645
|
+
<method name="evaluate_javascript"
|
|
646
|
+
c:identifier="gjsify_webview2_web_view_evaluate_javascript"
|
|
647
|
+
glib:finish-func="evaluate_javascript_finish">
|
|
648
|
+
<doc xml:space="preserve"
|
|
649
|
+
filename="src/c/gjsify-webview2.h"
|
|
650
|
+
line="459">The argument list is WebKitGTK's verbatim so `Gio._promisify` produces the
|
|
651
|
+
identical Promise signature on every backend.</doc>
|
|
652
|
+
<source-position filename="src/c/gjsify-webview2.h" line="478"/>
|
|
653
|
+
<return-value transfer-ownership="none">
|
|
654
|
+
<type name="none" c:type="void"/>
|
|
655
|
+
</return-value>
|
|
656
|
+
<parameters>
|
|
657
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
658
|
+
<doc xml:space="preserve"
|
|
659
|
+
filename="src/c/gjsify-webview2.h"
|
|
660
|
+
line="461">the view.</doc>
|
|
661
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
662
|
+
</instance-parameter>
|
|
663
|
+
<parameter name="script" transfer-ownership="none">
|
|
664
|
+
<doc xml:space="preserve"
|
|
665
|
+
filename="src/c/gjsify-webview2.h"
|
|
666
|
+
line="462">the source to evaluate.</doc>
|
|
667
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
668
|
+
</parameter>
|
|
669
|
+
<parameter name="length" transfer-ownership="none">
|
|
670
|
+
<doc xml:space="preserve"
|
|
671
|
+
filename="src/c/gjsify-webview2.h"
|
|
672
|
+
line="463">length of @script in bytes, or -1 if nul-terminated.</doc>
|
|
673
|
+
<type name="gssize" c:type="gssize"/>
|
|
674
|
+
</parameter>
|
|
675
|
+
<parameter name="world_name"
|
|
676
|
+
transfer-ownership="none"
|
|
677
|
+
nullable="1"
|
|
678
|
+
allow-none="1">
|
|
679
|
+
<doc xml:space="preserve"
|
|
680
|
+
filename="src/c/gjsify-webview2.h"
|
|
681
|
+
line="464">ignored — see gjsify_webview2_user_script_new_for_world().</doc>
|
|
682
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
683
|
+
</parameter>
|
|
684
|
+
<parameter name="source_uri"
|
|
685
|
+
transfer-ownership="none"
|
|
686
|
+
nullable="1"
|
|
687
|
+
allow-none="1">
|
|
688
|
+
<doc xml:space="preserve"
|
|
689
|
+
filename="src/c/gjsify-webview2.h"
|
|
690
|
+
line="465">IGNORED, and the only divergence here that does NOT
|
|
691
|
+
warn. WebView2's `ExecuteScript` has no source-URI parameter, and the
|
|
692
|
+
argument changes nothing observable except the text attributed to a script in
|
|
693
|
+
an error — so warning for it would train readers past the behavioural
|
|
694
|
+
warnings beside it.</doc>
|
|
695
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
696
|
+
</parameter>
|
|
697
|
+
<parameter name="cancellable"
|
|
698
|
+
transfer-ownership="none"
|
|
699
|
+
nullable="1"
|
|
700
|
+
allow-none="1">
|
|
701
|
+
<doc xml:space="preserve"
|
|
702
|
+
filename="src/c/gjsify-webview2.h"
|
|
703
|
+
line="470">a #GCancellable.</doc>
|
|
704
|
+
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
705
|
+
</parameter>
|
|
706
|
+
<parameter name="callback"
|
|
707
|
+
transfer-ownership="none"
|
|
708
|
+
nullable="1"
|
|
709
|
+
allow-none="1"
|
|
710
|
+
scope="async"
|
|
711
|
+
closure="6">
|
|
712
|
+
<doc xml:space="preserve"
|
|
713
|
+
filename="src/c/gjsify-webview2.h"
|
|
714
|
+
line="471">called when the
|
|
715
|
+
evaluation completes.</doc>
|
|
716
|
+
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
|
|
717
|
+
</parameter>
|
|
718
|
+
<parameter name="user_data"
|
|
719
|
+
transfer-ownership="none"
|
|
720
|
+
nullable="1"
|
|
721
|
+
allow-none="1">
|
|
722
|
+
<doc xml:space="preserve"
|
|
723
|
+
filename="src/c/gjsify-webview2.h"
|
|
724
|
+
line="473">data for @callback.</doc>
|
|
725
|
+
<type name="gpointer" c:type="gpointer"/>
|
|
726
|
+
</parameter>
|
|
727
|
+
</parameters>
|
|
728
|
+
</method>
|
|
729
|
+
<method name="evaluate_javascript_finish"
|
|
730
|
+
c:identifier="gjsify_webview2_web_view_evaluate_javascript_finish"
|
|
731
|
+
throws="1"
|
|
732
|
+
glib:async-func="evaluate_javascript">
|
|
733
|
+
<source-position filename="src/c/gjsify-webview2.h" line="496"/>
|
|
734
|
+
<return-value transfer-ownership="full" nullable="1">
|
|
735
|
+
<doc xml:space="preserve"
|
|
736
|
+
filename="src/c/gjsify-webview2.h"
|
|
737
|
+
line="494">the value the script evaluated to.</doc>
|
|
738
|
+
<type name="Value" c:type="GjsifyWebView2Value*"/>
|
|
739
|
+
</return-value>
|
|
740
|
+
<parameters>
|
|
741
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
742
|
+
<doc xml:space="preserve"
|
|
743
|
+
filename="src/c/gjsify-webview2.h"
|
|
744
|
+
line="490">the view.</doc>
|
|
745
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
746
|
+
</instance-parameter>
|
|
747
|
+
<parameter name="result" transfer-ownership="none">
|
|
748
|
+
<doc xml:space="preserve"
|
|
749
|
+
filename="src/c/gjsify-webview2.h"
|
|
750
|
+
line="491">the #GAsyncResult.</doc>
|
|
751
|
+
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
|
|
752
|
+
</parameter>
|
|
753
|
+
</parameters>
|
|
754
|
+
</method>
|
|
755
|
+
<method name="get_hosting_mode"
|
|
756
|
+
c:identifier="gjsify_webview2_web_view_get_hosting_mode">
|
|
757
|
+
<doc xml:space="preserve"
|
|
758
|
+
filename="src/c/gjsify-webview2.h"
|
|
759
|
+
line="408">ADR 0035 stage 1 always answers %GJSIFY_WEBVIEW2_HOSTING_MODE_OVERLAY. It is a
|
|
760
|
+
method rather than a constant because stage 2 changes the answer per view and
|
|
761
|
+
a consumer that branches on it should not have to be rewritten then.</doc>
|
|
762
|
+
<source-position filename="src/c/gjsify-webview2.h" line="418"/>
|
|
763
|
+
<return-value transfer-ownership="none">
|
|
764
|
+
<doc xml:space="preserve"
|
|
765
|
+
filename="src/c/gjsify-webview2.h"
|
|
766
|
+
line="416">what this view is on screen.</doc>
|
|
767
|
+
<type name="HostingMode" c:type="GjsifyWebView2HostingMode"/>
|
|
768
|
+
</return-value>
|
|
769
|
+
<parameters>
|
|
770
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
771
|
+
<doc xml:space="preserve"
|
|
772
|
+
filename="src/c/gjsify-webview2.h"
|
|
773
|
+
line="410">the view.</doc>
|
|
774
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
775
|
+
</instance-parameter>
|
|
776
|
+
</parameters>
|
|
777
|
+
</method>
|
|
778
|
+
<method name="get_message_pump_state"
|
|
779
|
+
c:identifier="gjsify_webview2_web_view_get_message_pump_state">
|
|
780
|
+
<doc xml:space="preserve"
|
|
781
|
+
filename="src/c/gjsify-webview2.h"
|
|
782
|
+
line="445">Whether the Win32 message queue is being dispatched for this view. Every
|
|
783
|
+
content-level operation below checks this first and fails with a named error
|
|
784
|
+
when it is not %GJSIFY_WEBVIEW2_MESSAGE_PUMP_ATTACHED, because the alternative
|
|
785
|
+
is an 8-second timeout a long way from its cause.</doc>
|
|
786
|
+
<source-position filename="src/c/gjsify-webview2.h" line="456"/>
|
|
787
|
+
<return-value transfer-ownership="none">
|
|
788
|
+
<doc xml:space="preserve"
|
|
789
|
+
filename="src/c/gjsify-webview2.h"
|
|
790
|
+
line="454">the state of this view's pump.</doc>
|
|
791
|
+
<type name="MessagePumpState"
|
|
792
|
+
c:type="GjsifyWebView2MessagePumpState"/>
|
|
793
|
+
</return-value>
|
|
794
|
+
<parameters>
|
|
795
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
796
|
+
<doc xml:space="preserve"
|
|
797
|
+
filename="src/c/gjsify-webview2.h"
|
|
798
|
+
line="447">the view.</doc>
|
|
799
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
800
|
+
</instance-parameter>
|
|
801
|
+
</parameters>
|
|
802
|
+
</method>
|
|
803
|
+
<method name="get_overlay_constraints"
|
|
804
|
+
c:identifier="gjsify_webview2_web_view_get_overlay_constraints">
|
|
805
|
+
<doc xml:space="preserve"
|
|
806
|
+
filename="src/c/gjsify-webview2.h"
|
|
807
|
+
line="420">The arrangements this view is currently in that an OS-composited overlay
|
|
808
|
+
cannot honour. Detected, on allocation and on map: an ancestor that clips
|
|
809
|
+
(a #GtkScrolledWindow, a #GtkViewport), an ancestor #GtkPopover, something
|
|
810
|
+
drawn over it (a #GtkOverlay where this is the main child), and a fractional
|
|
811
|
+
opacity on this widget or any ancestor. Each is also emitted ONCE per view as
|
|
812
|
+
a #GLib warning naming the widget, because a consumer who never calls this is
|
|
813
|
+
exactly the consumer who needs to be told.
|
|
814
|
+
|
|
815
|
+
TWO ARRANGEMENTS ARE BROKEN AND NOT DETECTED, and an empty list therefore
|
|
816
|
+
does not mean "correct": a CSS `border-radius` reaching this widget is not
|
|
817
|
+
readable from the public API at all, and a render transform on an ancestor is
|
|
818
|
+
not looked for. Detection is by widget type and by two GTK properties, which
|
|
819
|
+
catches every arrangement that has actually been reported against an
|
|
820
|
+
overlay-hosted web view — but a caller must read this list as a lower bound.
|
|
821
|
+
|
|
822
|
+
Empty otherwise, which is the common case: a full-page document in a window.</doc>
|
|
823
|
+
<source-position filename="src/c/gjsify-webview2.h" line="443"/>
|
|
824
|
+
<return-value transfer-ownership="full">
|
|
825
|
+
<doc xml:space="preserve"
|
|
826
|
+
filename="src/c/gjsify-webview2.h"
|
|
827
|
+
line="441">the constraint messages.</doc>
|
|
828
|
+
<array c:type="gchar**">
|
|
829
|
+
<type name="utf8"/>
|
|
830
|
+
</array>
|
|
831
|
+
</return-value>
|
|
832
|
+
<parameters>
|
|
833
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
834
|
+
<doc xml:space="preserve"
|
|
835
|
+
filename="src/c/gjsify-webview2.h"
|
|
836
|
+
line="422">the view.</doc>
|
|
837
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
838
|
+
</instance-parameter>
|
|
839
|
+
</parameters>
|
|
840
|
+
</method>
|
|
841
|
+
<method name="get_settings"
|
|
842
|
+
c:identifier="gjsify_webview2_web_view_get_settings"
|
|
843
|
+
glib:get-property="settings">
|
|
844
|
+
<source-position filename="src/c/gjsify-webview2.h" line="406"/>
|
|
845
|
+
<return-value transfer-ownership="none">
|
|
846
|
+
<doc xml:space="preserve"
|
|
847
|
+
filename="src/c/gjsify-webview2.h"
|
|
848
|
+
line="404">the settings this view was constructed with.</doc>
|
|
849
|
+
<type name="Settings" c:type="GjsifyWebView2Settings*"/>
|
|
850
|
+
</return-value>
|
|
851
|
+
<parameters>
|
|
852
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
853
|
+
<doc xml:space="preserve"
|
|
854
|
+
filename="src/c/gjsify-webview2.h"
|
|
855
|
+
line="402">the view.</doc>
|
|
856
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
857
|
+
</instance-parameter>
|
|
858
|
+
</parameters>
|
|
859
|
+
</method>
|
|
860
|
+
<method name="get_snapshot"
|
|
861
|
+
c:identifier="gjsify_webview2_web_view_get_snapshot"
|
|
862
|
+
glib:finish-func="get_snapshot_finish">
|
|
863
|
+
<source-position filename="src/c/gjsify-webview2.h" line="515"/>
|
|
864
|
+
<return-value transfer-ownership="none">
|
|
865
|
+
<type name="none" c:type="void"/>
|
|
866
|
+
</return-value>
|
|
867
|
+
<parameters>
|
|
868
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
869
|
+
<doc xml:space="preserve"
|
|
870
|
+
filename="src/c/gjsify-webview2.h"
|
|
871
|
+
line="501">the view.</doc>
|
|
872
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
873
|
+
</instance-parameter>
|
|
874
|
+
<parameter name="region" transfer-ownership="none">
|
|
875
|
+
<doc xml:space="preserve"
|
|
876
|
+
filename="src/c/gjsify-webview2.h"
|
|
877
|
+
line="502">which region to capture. WebView2's `CapturePreview` captures the
|
|
878
|
+
viewport only, so %GJSIFY_WEBVIEW2_SNAPSHOT_REGION_FULL_DOCUMENT is a
|
|
879
|
+
documented divergence rather than a second code path — it returns the
|
|
880
|
+
viewport and warns once.</doc>
|
|
881
|
+
<type name="SnapshotRegion" c:type="GjsifyWebView2SnapshotRegion"/>
|
|
882
|
+
</parameter>
|
|
883
|
+
<parameter name="options" transfer-ownership="none">
|
|
884
|
+
<doc xml:space="preserve"
|
|
885
|
+
filename="src/c/gjsify-webview2.h"
|
|
886
|
+
line="506">snapshot options. Anything but
|
|
887
|
+
%GJSIFY_WEBVIEW2_SNAPSHOT_OPTIONS_NONE is IGNORED and warns once:
|
|
888
|
+
`CapturePreview` has no transparent-background and no
|
|
889
|
+
selection-highlighting option, so the capture is of the page as composited.</doc>
|
|
890
|
+
<type name="SnapshotOptions"
|
|
891
|
+
c:type="GjsifyWebView2SnapshotOptions"/>
|
|
892
|
+
</parameter>
|
|
893
|
+
<parameter name="cancellable"
|
|
894
|
+
transfer-ownership="none"
|
|
895
|
+
nullable="1"
|
|
896
|
+
allow-none="1">
|
|
897
|
+
<doc xml:space="preserve"
|
|
898
|
+
filename="src/c/gjsify-webview2.h"
|
|
899
|
+
line="510">a #GCancellable.</doc>
|
|
900
|
+
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
901
|
+
</parameter>
|
|
902
|
+
<parameter name="callback"
|
|
903
|
+
transfer-ownership="none"
|
|
904
|
+
nullable="1"
|
|
905
|
+
allow-none="1"
|
|
906
|
+
scope="async"
|
|
907
|
+
closure="4">
|
|
908
|
+
<doc xml:space="preserve"
|
|
909
|
+
filename="src/c/gjsify-webview2.h"
|
|
910
|
+
line="511">called when the
|
|
911
|
+
snapshot completes.</doc>
|
|
912
|
+
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
|
|
913
|
+
</parameter>
|
|
914
|
+
<parameter name="user_data"
|
|
915
|
+
transfer-ownership="none"
|
|
916
|
+
nullable="1"
|
|
917
|
+
allow-none="1">
|
|
918
|
+
<doc xml:space="preserve"
|
|
919
|
+
filename="src/c/gjsify-webview2.h"
|
|
920
|
+
line="513">data for @callback.</doc>
|
|
921
|
+
<type name="gpointer" c:type="gpointer"/>
|
|
922
|
+
</parameter>
|
|
923
|
+
</parameters>
|
|
924
|
+
</method>
|
|
925
|
+
<method name="get_snapshot_finish"
|
|
926
|
+
c:identifier="gjsify_webview2_web_view_get_snapshot_finish"
|
|
927
|
+
throws="1"
|
|
928
|
+
glib:async-func="get_snapshot">
|
|
929
|
+
<source-position filename="src/c/gjsify-webview2.h" line="532"/>
|
|
930
|
+
<return-value transfer-ownership="full" nullable="1">
|
|
931
|
+
<doc xml:space="preserve"
|
|
932
|
+
filename="src/c/gjsify-webview2.h"
|
|
933
|
+
line="529">the captured content. A real #GdkTexture,
|
|
934
|
+
so `save_to_png_bytes()` and friends work unchanged.</doc>
|
|
935
|
+
<type name="Gdk.Texture" c:type="GdkTexture*"/>
|
|
936
|
+
</return-value>
|
|
937
|
+
<parameters>
|
|
938
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
939
|
+
<doc xml:space="preserve"
|
|
940
|
+
filename="src/c/gjsify-webview2.h"
|
|
941
|
+
line="525">the view.</doc>
|
|
942
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
943
|
+
</instance-parameter>
|
|
944
|
+
<parameter name="result" transfer-ownership="none">
|
|
945
|
+
<doc xml:space="preserve"
|
|
946
|
+
filename="src/c/gjsify-webview2.h"
|
|
947
|
+
line="526">the #GAsyncResult.</doc>
|
|
948
|
+
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
|
|
949
|
+
</parameter>
|
|
950
|
+
</parameters>
|
|
951
|
+
</method>
|
|
952
|
+
<method name="get_uri"
|
|
953
|
+
c:identifier="gjsify_webview2_web_view_get_uri"
|
|
954
|
+
glib:get-property="uri">
|
|
955
|
+
<source-position filename="src/c/gjsify-webview2.h" line="387"/>
|
|
956
|
+
<return-value transfer-ownership="none">
|
|
957
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
958
|
+
</return-value>
|
|
959
|
+
<parameters>
|
|
960
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
961
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
962
|
+
</instance-parameter>
|
|
963
|
+
</parameters>
|
|
964
|
+
</method>
|
|
965
|
+
<method name="get_user_content_manager"
|
|
966
|
+
c:identifier="gjsify_webview2_web_view_get_user_content_manager"
|
|
967
|
+
glib:get-property="user-content-manager">
|
|
968
|
+
<source-position filename="src/c/gjsify-webview2.h" line="397"/>
|
|
969
|
+
<return-value transfer-ownership="none">
|
|
970
|
+
<doc xml:space="preserve"
|
|
971
|
+
filename="src/c/gjsify-webview2.h"
|
|
972
|
+
line="395">the manager this view was constructed with.</doc>
|
|
973
|
+
<type name="UserContentManager"
|
|
974
|
+
c:type="GjsifyWebView2UserContentManager*"/>
|
|
975
|
+
</return-value>
|
|
976
|
+
<parameters>
|
|
977
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
978
|
+
<doc xml:space="preserve"
|
|
979
|
+
filename="src/c/gjsify-webview2.h"
|
|
980
|
+
line="393">the view.</doc>
|
|
981
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
982
|
+
</instance-parameter>
|
|
983
|
+
</parameters>
|
|
984
|
+
</method>
|
|
985
|
+
<method name="is_loading"
|
|
986
|
+
c:identifier="gjsify_webview2_web_view_is_loading"
|
|
987
|
+
glib:get-property="is-loading">
|
|
988
|
+
<source-position filename="src/c/gjsify-webview2.h" line="389"/>
|
|
989
|
+
<return-value transfer-ownership="none">
|
|
990
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
991
|
+
</return-value>
|
|
992
|
+
<parameters>
|
|
993
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
994
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
995
|
+
</instance-parameter>
|
|
996
|
+
</parameters>
|
|
997
|
+
</method>
|
|
998
|
+
<method name="load_html"
|
|
999
|
+
c:identifier="gjsify_webview2_web_view_load_html">
|
|
1000
|
+
<source-position filename="src/c/gjsify-webview2.h" line="382"/>
|
|
1001
|
+
<return-value transfer-ownership="none">
|
|
1002
|
+
<type name="none" c:type="void"/>
|
|
1003
|
+
</return-value>
|
|
1004
|
+
<parameters>
|
|
1005
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
1006
|
+
<doc xml:space="preserve"
|
|
1007
|
+
filename="src/c/gjsify-webview2.h"
|
|
1008
|
+
line="375">the view.</doc>
|
|
1009
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
1010
|
+
</instance-parameter>
|
|
1011
|
+
<parameter name="content" transfer-ownership="none">
|
|
1012
|
+
<doc xml:space="preserve"
|
|
1013
|
+
filename="src/c/gjsify-webview2.h"
|
|
1014
|
+
line="376">the HTML to load.</doc>
|
|
1015
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
1016
|
+
</parameter>
|
|
1017
|
+
<parameter name="base_uri"
|
|
1018
|
+
transfer-ownership="none"
|
|
1019
|
+
nullable="1"
|
|
1020
|
+
allow-none="1">
|
|
1021
|
+
<doc xml:space="preserve"
|
|
1022
|
+
filename="src/c/gjsify-webview2.h"
|
|
1023
|
+
line="377">the base URI for relative resolution. WebView2's
|
|
1024
|
+
`NavigateToString` has no base-URI argument, so a non-%NULL value is applied
|
|
1025
|
+
by injecting a `<base>` element, and a document that already carries one
|
|
1026
|
+
keeps its own.</doc>
|
|
1027
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
1028
|
+
</parameter>
|
|
1029
|
+
</parameters>
|
|
1030
|
+
</method>
|
|
1031
|
+
<method name="load_uri" c:identifier="gjsify_webview2_web_view_load_uri">
|
|
1032
|
+
<source-position filename="src/c/gjsify-webview2.h" line="371"/>
|
|
1033
|
+
<return-value transfer-ownership="none">
|
|
1034
|
+
<type name="none" c:type="void"/>
|
|
1035
|
+
</return-value>
|
|
1036
|
+
<parameters>
|
|
1037
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
1038
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
1039
|
+
</instance-parameter>
|
|
1040
|
+
<parameter name="uri" transfer-ownership="none">
|
|
1041
|
+
<type name="utf8" c:type="const gchar*"/>
|
|
1042
|
+
</parameter>
|
|
1043
|
+
</parameters>
|
|
1044
|
+
</method>
|
|
1045
|
+
<method name="reload" c:identifier="gjsify_webview2_web_view_reload">
|
|
1046
|
+
<source-position filename="src/c/gjsify-webview2.h" line="385"/>
|
|
1047
|
+
<return-value transfer-ownership="none">
|
|
1048
|
+
<type name="none" c:type="void"/>
|
|
1049
|
+
</return-value>
|
|
1050
|
+
<parameters>
|
|
1051
|
+
<instance-parameter name="self" transfer-ownership="none">
|
|
1052
|
+
<type name="WebView" c:type="GjsifyWebView2WebView*"/>
|
|
1053
|
+
</instance-parameter>
|
|
1054
|
+
</parameters>
|
|
1055
|
+
</method>
|
|
1056
|
+
<property name="is-loading"
|
|
1057
|
+
transfer-ownership="none"
|
|
1058
|
+
getter="is_loading"
|
|
1059
|
+
default-value="FALSE">
|
|
1060
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
1061
|
+
</property>
|
|
1062
|
+
<property name="settings"
|
|
1063
|
+
writable="1"
|
|
1064
|
+
construct-only="1"
|
|
1065
|
+
transfer-ownership="none"
|
|
1066
|
+
getter="get_settings">
|
|
1067
|
+
<type name="Settings"/>
|
|
1068
|
+
</property>
|
|
1069
|
+
<property name="uri"
|
|
1070
|
+
transfer-ownership="none"
|
|
1071
|
+
getter="get_uri"
|
|
1072
|
+
default-value="NULL">
|
|
1073
|
+
<type name="utf8" c:type="gchar*"/>
|
|
1074
|
+
</property>
|
|
1075
|
+
<property name="user-content-manager"
|
|
1076
|
+
writable="1"
|
|
1077
|
+
construct-only="1"
|
|
1078
|
+
transfer-ownership="none"
|
|
1079
|
+
getter="get_user_content_manager">
|
|
1080
|
+
<type name="UserContentManager"/>
|
|
1081
|
+
</property>
|
|
1082
|
+
<field name="parent_instance">
|
|
1083
|
+
<type name="Gtk.Widget" c:type="GtkWidget"/>
|
|
1084
|
+
</field>
|
|
1085
|
+
<glib:signal name="load-changed" when="last">
|
|
1086
|
+
<return-value transfer-ownership="none">
|
|
1087
|
+
<type name="none" c:type="void"/>
|
|
1088
|
+
</return-value>
|
|
1089
|
+
<parameters>
|
|
1090
|
+
<parameter name="object" transfer-ownership="none">
|
|
1091
|
+
<type name="gint" c:type="gint"/>
|
|
1092
|
+
</parameter>
|
|
1093
|
+
</parameters>
|
|
1094
|
+
</glib:signal>
|
|
1095
|
+
<glib:signal name="load-failed" when="last">
|
|
1096
|
+
<return-value transfer-ownership="none">
|
|
1097
|
+
<type name="gboolean" c:type="gboolean"/>
|
|
1098
|
+
</return-value>
|
|
1099
|
+
<parameters>
|
|
1100
|
+
<parameter name="object" transfer-ownership="none">
|
|
1101
|
+
<type name="gint" c:type="gint"/>
|
|
1102
|
+
</parameter>
|
|
1103
|
+
<parameter name="p0" transfer-ownership="none">
|
|
1104
|
+
<type name="utf8" c:type="gchar*"/>
|
|
1105
|
+
</parameter>
|
|
1106
|
+
<parameter name="p1" transfer-ownership="none">
|
|
1107
|
+
<type name="GLib.Error"/>
|
|
1108
|
+
</parameter>
|
|
1109
|
+
</parameters>
|
|
1110
|
+
</glib:signal>
|
|
1111
|
+
</class>
|
|
1112
|
+
<record name="WebViewClass"
|
|
1113
|
+
c:type="GjsifyWebView2WebViewClass"
|
|
1114
|
+
glib:is-gtype-struct-for="WebView">
|
|
1115
|
+
<source-position filename="src/c/gjsify-webview2.h" line="362"/>
|
|
1116
|
+
<field name="parent_class">
|
|
1117
|
+
<type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
|
|
1118
|
+
</field>
|
|
1119
|
+
<field name="padding" readable="0" private="1">
|
|
1120
|
+
<array zero-terminated="0" fixed-size="8">
|
|
1121
|
+
<type name="gpointer" c:type="gpointer"/>
|
|
1122
|
+
</array>
|
|
1123
|
+
</field>
|
|
1124
|
+
</record>
|
|
1125
|
+
</namespace>
|
|
1126
|
+
</repository>
|
|
Binary file
|
|
Binary file
|