Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
ce7a206
Some things.
eyebrowsoffire May 30, 2023
2cfc26c
Rendering is mostly working, although there is some weird aliasing wi…
eyebrowsoffire Jun 6, 2023
62ebbb2
Merge branch 'main' into skwasm_platform_views
eyebrowsoffire Jun 22, 2023
3c81ba0
Merge branch 'main' into skwasm_platform_views
eyebrowsoffire Jul 18, 2023
3917961
Fix tests.
eyebrowsoffire Jul 18, 2023
f6a002e
Occlusion stuff
eyebrowsoffire Jul 25, 2023
2bd207b
Merge branch 'main' into skwasm_platform_views
eyebrowsoffire Jul 26, 2023
e25bad4
asdf
eyebrowsoffire Jul 27, 2023
1e646ba
Merge branch 'main' into skwasm_platform_views
eyebrowsoffire Jul 31, 2023
765a39c
The single picture case at least is working.
eyebrowsoffire Aug 3, 2023
c6fc0e5
Merge branch 'main' into skwasm_platform_Views
eyebrowsoffire Aug 3, 2023
b515342
Some things working, some things broken.
eyebrowsoffire Aug 8, 2023
1e4fa45
Merge branch 'main' into skwasm_platform_views
eyebrowsoffire Aug 9, 2023
353d5f4
Partway through __externref_t refactor
eyebrowsoffire Aug 11, 2023
eac91f8
Merge branch 'main' into skwasm_platform_views
eyebrowsoffire Aug 11, 2023
d91ae9a
Fiiiiinally got the sandwich rendering properly in skwasm.
eyebrowsoffire Aug 15, 2023
6a7e232
Merge branch 'main' into skwasm_platform_views
eyebrowsoffire Aug 15, 2023
bfcd759
Implement platform view transforms.
eyebrowsoffire Aug 16, 2023
f39ee43
Implemented opacity.
eyebrowsoffire Aug 16, 2023
a402bac
Pull scene builder, layer builder and scene view out of skwasm into t…
eyebrowsoffire Aug 17, 2023
ae37aa4
Fix licenses golden.
eyebrowsoffire Aug 17, 2023
8edb4ae
Merge branch 'main' into skwasm_platform_views
eyebrowsoffire Aug 17, 2023
586f54f
Don't dispose Scenes while they are rendering.
eyebrowsoffire Aug 17, 2023
0d54d75
Actually tell the scene it's rendering.
eyebrowsoffire Aug 17, 2023
534b3d3
Using slots, which is the correct way to add/remove platform views.
eyebrowsoffire Aug 18, 2023
1ca0436
Fix position combining for platform views.
eyebrowsoffire Aug 21, 2023
7394dea
Add some comments.
eyebrowsoffire Aug 22, 2023
4a36c48
Flatten the SceneView hierarchy a bit.
eyebrowsoffire Aug 22, 2023
94c26c1
Add unit tests for generic scene builder.
eyebrowsoffire Aug 22, 2023
d248f95
Merge branch 'main' into skwasm_platform_views
eyebrowsoffire Aug 22, 2023
3870a9b
Remove profiling flag.
eyebrowsoffire Aug 22, 2023
58cb01c
Dispose video frame fixes.
eyebrowsoffire Aug 23, 2023
5974c61
Round out picture bounds so that we capture all the content.
eyebrowsoffire Aug 23, 2023
e72846c
Round out the bounds when positioning the canvas too.
eyebrowsoffire Aug 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -783,7 +783,7 @@ deps = {
},

'src/buildtools/emsdk': {
'url': Var('skia_git') + '/external/github.com/emscripten-core/emsdk.git' + '@' + 'da9699832b5df4e123403490e499c87000c22654',
'url': Var('skia_git') + '/external/github.com/emscripten-core/emsdk.git' + '@' + 'a896e3d066448b3530dbcaa48869fafefd738f57',
'condition': 'download_emsdk',
},

Expand Down
10 changes: 6 additions & 4 deletions ci/licenses_golden/licenses_flutter
Original file line number Diff line number Diff line change
Expand Up @@ -2016,6 +2016,7 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_promise.dart +
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_typed_data.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/key_map.g.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/layers.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/mouse_cursor.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/navigation/history.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/noto_font.dart + ../../../flutter/LICENSE
Expand All @@ -2035,7 +2036,9 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/raw_keyboard.dart + ../../../
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/renderer.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/rrect_renderer.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/safe_browser_api.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/scene_builder.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/scene_painting.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/scene_view.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart + ../../../flutter/LICENSE
Expand Down Expand Up @@ -2064,7 +2067,6 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/codecs.dar
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/filters.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/font_collection.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/image.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/layers.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/memory.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paint.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paragraph.dart + ../../../flutter/LICENSE
Expand Down Expand Up @@ -2094,7 +2096,6 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/r
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_strut_style.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_text_style.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/scene_builder.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/surface.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/vertices.dart + ../../../flutter/LICENSE
Expand Down Expand Up @@ -4743,6 +4744,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_promise.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_typed_data.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/key_map.g.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/layers.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/mouse_cursor.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/navigation/history.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/noto_font.dart
Expand All @@ -4762,7 +4764,9 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/raw_keyboard.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/renderer.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/rrect_renderer.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/safe_browser_api.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/scene_builder.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/scene_painting.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/scene_view.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart
Expand Down Expand Up @@ -4791,7 +4795,6 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/codecs.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/filters.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/font_collection.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/image.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/layers.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/memory.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paint.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paragraph.dart
Expand Down Expand Up @@ -4821,7 +4824,6 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_strut_style.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_text_style.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/scene_builder.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/surface.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/vertices.dart
Expand Down
6 changes: 5 additions & 1 deletion lib/web_ui/dev/steps/run_suite_step.dart
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,12 @@ class RunSuiteStep implements PipelineStep {
Future<SkiaGoldClient?> _createSkiaClient() async {
final Renderer renderer = suite.testBundle.compileConfig.renderer;
final CanvasKitVariant? variant = suite.runConfig.variant;
final io.Directory workDirectory = getSkiaGoldDirectoryForSuite(suite);
if (workDirectory.existsSync()) {
workDirectory.deleteSync(recursive: true);
}
final SkiaGoldClient skiaClient = SkiaGoldClient(
getSkiaGoldDirectoryForSuite(suite),
workDirectory,
dimensions: <String, String> {
'Browser': suite.runConfig.browser.name,
if (isWasm) 'Wasm': 'true',
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/dev/test_dart2wasm.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ window.onload = async function () {
const skwasmInstance = await skwasm();
window._flutter_skwasmInstance = skwasmInstance;
resolve({
"skwasm": skwasmInstance.asm,
"skwasm": skwasmInstance.asm ?? skwasmInstance.wasmExports,
"ffi": {
"memory": skwasmInstance.wasmMemory,
}
Expand Down
3 changes: 3 additions & 0 deletions lib/web_ui/lib/src/engine.dart
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ export 'engine/js_interop/js_promise.dart';
export 'engine/js_interop/js_typed_data.dart';
export 'engine/key_map.g.dart';
export 'engine/keyboard_binding.dart';
export 'engine/layers.dart';
export 'engine/mouse_cursor.dart';
export 'engine/navigation/history.dart';
export 'engine/noto_font.dart';
Expand All @@ -129,7 +130,9 @@ export 'engine/raw_keyboard.dart';
export 'engine/renderer.dart';
export 'engine/rrect_renderer.dart';
export 'engine/safe_browser_api.dart';
export 'engine/scene_builder.dart';
export 'engine/scene_painting.dart';
export 'engine/scene_view.dart';
export 'engine/semantics/accessibility.dart';
export 'engine/semantics/checkable.dart';
export 'engine/semantics/dialog.dart';
Expand Down
23 changes: 23 additions & 0 deletions lib/web_ui/lib/src/engine/dom.dart
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,8 @@ extension DomElementExtension on DomElement {

external DomElement? get firstElementChild;

external DomElement? get nextElementSibling;

@JS('clientHeight')
external JSNumber get _clientHeight;
double get clientHeight => _clientHeight.toDartDouble;
Expand Down Expand Up @@ -1105,6 +1107,9 @@ extension DomCanvasElementExtension on DomCanvasElement {
}
return getContext('webgl2')! as WebGLContext;
}

DomCanvasRenderingContextBitmapRenderer get contextBitmapRenderer =>
getContext('bitmaprenderer')! as DomCanvasRenderingContextBitmapRenderer;
}

@JS()
Expand Down Expand Up @@ -1394,6 +1399,15 @@ extension DomCanvasRenderingContextWebGlExtension
bool isContextLost() => _isContextLost().toDart;
}

@JS()
@staticInterop
class DomCanvasRenderingContextBitmapRenderer {}

extension DomCanvasRenderingContextBitmapRendererExtension
on DomCanvasRenderingContextBitmapRenderer {
external void transferFromImageBitmap(DomImageBitmap bitmap);
}

@JS('ImageData')
@staticInterop
class DomImageData {
Expand All @@ -1409,6 +1423,15 @@ extension DomImageDataExtension on DomImageData {
Uint8ClampedList get data => _data.toDart;
}

@JS('ImageBitmap')
@staticInterop
class DomImageBitmap {}

extension DomImageBitmapExtension on DomImageBitmap {
external JSNumber get width;
external JSNumber get height;
}

@JS()
@staticInterop
class DomCanvasPattern {}
Expand Down
Loading