Skip to content

Commit ef3c1e5

Browse files
Merge pull request #823 from SceneTech/fix/interop-host-abi-821
Export bounded desktop and media host APIs
2 parents ce48188 + 475824e commit ef3c1e5

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

‎experiments/WebScene.NativeEngine.Probe/native/webscene_native_engine.exports‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ _webscene_engine_request_scene_checkpoint
5555
_webscene_engine_set_resource_root
5656
_webscene_engine_set_preferred_color_scheme
5757
_webscene_engine_set_accessibility_preferences_v1
58+
_webscene_engine_set_desktop_environment_v1
5859
_webscene_engine_acquire_semantic_snapshot_v1
5960
_webscene_semantic_snapshot_release_v1
6061
_webscene_engine_acquire_semantic_snapshot_v2
@@ -165,6 +166,8 @@ _webscene_engine_set_work_available_callback_v1
165166
_webscene_engine_register_compiled_document_v1
166167

167168
_webscene_engine_set_native_media_policy_v1
169+
_webscene_engine_submit_media_capture_packet_v1
170+
_webscene_engine_submit_media_capture_event_v1
168171

169172
_webscene_css_set_compilation_cache_directory_v1
170173
_webscene_register_precompiled_javascript_v1

‎tooling/webscene/tests/native-binary-interop.test.mjs‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ test('native engine publishes only the versioned leased interop surface', async
9595
'webscene_engine_set_window_focused_v1',
9696
'webscene_engine_set_window_fullscreen_v1',
9797
'webscene_engine_set_accessibility_preferences_v1',
98+
'webscene_engine_set_desktop_environment_v1',
99+
'webscene_engine_submit_media_capture_packet_v1',
100+
'webscene_engine_submit_media_capture_event_v1',
98101
'webscene_engine_acquire_semantic_snapshot_v1',
99102
'webscene_semantic_snapshot_release_v1',
100103
'webscene_engine_acquire_semantic_snapshot_v2',
@@ -119,9 +122,9 @@ test('native engine publishes only the versioned leased interop surface', async
119122
assert.match(exports, new RegExp(`_${symbol}\\b`));
120123
}
121124
for (const [name, source] of [['header', header + compiledHeader], ['exports', exports]]) {
122-
const legacySymbols = [...source.matchAll(
125+
const legacySymbols = [...new Set([...source.matchAll(
123126
/\b_?(webscene_(?:engine|interop)_[a-z0-9_]+_v[12])\b/g
124-
)].map(match => match[1]).filter(symbol => !independentHostApis.has(symbol));
127+
)].map(match => match[1]).filter(symbol => !independentHostApis.has(symbol)))];
125128
assert.deepEqual(legacySymbols, [], `${name} must not expose legacy interop`);
126129
}
127130
assert.match(

0 commit comments

Comments
 (0)