185 Commits

Author SHA1 Message Date
Jackson Gardner
2c58573690 Use dart:_wasm constructs to avoid dependence on WebAssembly.Function (flutter/engine#46388)
Use the newly exposed functionality in `dart:_wasm` to fix up two different hacks we have:
1) When creating an image from an image source, use `wasm:import` instead of `@Native` and pass the image source directly as an externref. (Direct wasm binding instead of a JS interop shim, yay).
2) When binding the surface callback, previously we were wrapping the callback in a JS function, and then using `WebAssembly.Function` to create a wasm function wrapper around that. Now, we can create a `WasmFuncRef` that is a direct reference to a dart function and pass that over. Now there are no intermediary JavaScript layers when skwasm calls back to us, and we no longer are dependent on the type reflection flag in Chrome.

This fixes https://github.com/flutter/flutter/issues/134556
2023-09-29 20:52:36 +00:00
Michael Goderbauer
efc22ee283 Enable private field promotion (flutter/engine#45722)
New feature in upcoming Dart 3.2. See https://github.com/dart-lang/language/issues/2020. Feature is enabled by bumping the min SDK version to 3.2.

Part of https://github.com/flutter/flutter/issues/134476.
2023-09-14 21:02:03 +00:00
Jackson Gardner
c93da27b95 Compile a platform dill for dart2wasm (flutter/engine#45797)
This continues work on https://github.com/flutter/flutter/issues/133467

We still need a change on the tool side to consume this platform dill file after this lands.
2023-09-13 22:12:13 +00:00
Nicholas Shahan
f7132b576d Update deps on DDC build targets (flutter/engine#45404)
Update deps to use the new Dart SDK DDC build targets introduced in
these changes:
 - https://dart-review.googlesource.com/c/sdk/+/313081
 - https://dart-review.googlesource.com/c/sdk/+/315561

Fixes: https://github.com/flutter/flutter/issues/133606
2023-09-06 11:10:39 -07:00
Jacob MacDonald
660bdd6b03 add dart_internal override where necessary (flutter/engine#42920)
A dependency to dart_internal was added in https://dart-review.googlesource.com/c/sdk/+/309460/6 and all transitive deps need to have overrides.
2023-06-16 17:20:18 +00:00
Mouad Debbar
3a4677a6d7 [web] Cleanup assertionsEnabled (flutter/engine#41829)
For consistency with the rest of the flutter code, this PR explores the possibility of removing our proprietary `assertionsEnabled`.
2023-05-24 15:08:50 +00:00
Mouad Debbar
9aec8c5c62 [web] Move platformViewRegistry to ui_web (flutter/engine#41877)
In this PR, I'm leaving a getter for `platformViewRegistry` in `dart:ui` for backwards compatibility. At some point, we need to properly deprecate it (e.g. print a warning asking users to import it from `dart:ui_web` instead).

Next step is to migrate all call sites in flutter/flutter, flutter/packages and flutter/devtools (anything else?).

Issue: https://github.com/flutter/flutter/issues/126831

Fixes https://github.com/flutter/flutter/issues/41563
2023-05-23 16:17:56 +00:00
Jackson Gardner
16360e9e25 Reland "Skwasm Font Loading (flutter/engine#41756)
This relands https://github.com/flutter/engine/pull/41246, which had to be reverted due to some issues parsing the font manifest.
2023-05-08 18:17:22 +00:00
Jackson Gardner
f2970b73b0 Revert "Skwasm Font Loading" (flutter/engine#41750)
Reverts flutter/engine#41246

The new font manifest parsing fails in some cases.
2023-05-04 23:54:18 +00:00
Jackson Gardner
6f5ad9737e Skwasm Font Loading (flutter/engine#41246)
This implements font loading for the skwasm renderer.

In addition, it does some pretty major refactors:
1) Simplified the font collection interface to just have a single `loadAssetFonts` call, without the separate registration and debug fonts loading stuff
2) Debug fonts load now through http/asset mocking mechanisms instead of having a separate `downloadDebugTestFonts` call
3) Consolidated a few of our different unit test setup functions into a single `setUpUnitTests` function
2023-05-04 18:22:53 +00:00
joshualitt
e370809b5e [web] Add dart:js_interop_unsafe to SDK. (flutter/engine#41591)
Adds the `dart:js_interop_unsafe` library to the SDK.
2023-05-03 08:38:33 -07:00
Srujan Gaddam
e253aeff60 Remove package:js references and move to dart:js_interop (flutter/engine#41212)
dart:js_interop and package:js will start conflicting. Eventually, we
want people to only use dart:js_interop, so this CL refactors code to do
that.

Unblocks https://dart-review.googlesource.com/c/sdk/+/294130/8 and
prevents confusing shadowing of dart:js_interop annotations like we do
today.

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [Mentioned CL that is unblocked] I listed at least one issue that this
PR fixes in the description above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [Need test-exemption] I added new tests to check the change I am
making, or this PR is [test-exempt].
- [X] All existing and new tests are passing.
2023-04-25 12:20:12 -07:00
Jackson Gardner
c2719b8e06 Reland ui_web files in sky_engine (flutter/engine#41169)
Previous attempt was here: https://github.com/flutter/engine/pull/40846

I was including un-rewritten source files, which caused breakage. Now we run out `ui_web` files through the sdk_rewriter script before putting them into sky_engine
2023-04-17 22:31:25 +00:00
Jackson Gardner
439141c38d Skwasm scene (flutter/engine#40330)
Skwasm scene
2023-04-10 17:38:57 +00:00
Jackson Gardner
12f968e369 Don't build wasm targets for the web sdk archive in host mode. (flutter/engine#40967)
Don't build wasm targets for the web sdk archive in host mode.
2023-04-06 23:04:59 +00:00
Jackson Gardner
911b85dc77 Copy canvaskit files directly into flutter_web_sdk (flutter/engine#40951)
Copy canvaskit files directly into `flutter_web_sdk`
2023-04-05 22:55:41 +00:00
joshualitt
bee9f91790 [web] Migrate EventListener's to JS types. (flutter/engine#40566) 2023-04-04 09:53:13 -07:00
Jackson Gardner
1a59a35e3c ui_web library (flutter/engine#40608)
`ui_web` library
2023-03-30 23:14:18 +00:00
Mouad Debbar
13a74dcec7 [web] Print screenshot paths at the right spot (flutter/engine#40714)
[web] Print screenshot paths at the right spot
2023-03-28 16:47:05 +00:00
Michael Goderbauer
a508065bbc Reland "Post 3.0 lint sync (#40394)" (flutter/engine#40688)
Reland "Post 3.0 lint sync (#40394)"
2023-03-28 03:25:02 +00:00
Jackson Gardner
82886d52b3 Web test reorganization (flutter/engine#39984)
Web test reorganization
2023-03-28 00:08:48 +00:00
Brandon DeRosier
9e9590a68f Revert "Post 3.0 lint sync (#40394)" (flutter/engine#40687)
This reverts commit 8ba209121d2671b0d202d9731fe67ec5eb1529b4.
2023-03-27 15:45:59 -07:00
Michael Goderbauer
8ba209121d Post 3.0 lint sync (flutter/engine#40394)
Post 3.0 lint sync
2023-03-27 17:15:08 +00:00
Jackson Gardner
b6af3bcc91 Ensure all golden filenames end in .png. (flutter/engine#40604)
Ensure all golden filenames end in .png.
2023-03-24 19:28:57 +00:00
Michael Goderbauer
9026c75b1c Use bundled analyzer everywhere (flutter/engine#40398)
Use analyzer from dart source everywhere
2023-03-17 21:21:04 +00:00
Michael Goderbauer
7187bc8e88 Update analyzer for api_conform_test (flutter/engine#40386)
Update analyzer for api_conform_test
2023-03-17 19:15:50 +00:00
Michael Goderbauer
1986d84d6e replace some ._() constructors with class modifiers (flutter/engine#40328)
replace some ._() constructors with class modifiers
2023-03-17 16:18:49 +00:00
joshualitt
be4da063e8 add support for JS types (flutter/engine#40310) 2023-03-17 08:27:53 -07:00
Jackson Gardner
5508a04de1 Output web test artifacts to out directory. (flutter/engine#40355)
Output web test artifacts to out directory.
2023-03-16 22:19:55 +00:00
Michael Goderbauer
dcc4b1b535 Reland: Bump lower Dart SDK constraints to 3.0 (flutter/engine#40318)
* WIP

Bump to 3.0.0-0

* fix lints

* drop web_ui

* opt pointer_converter.dart out of dart 3

* Revert "drop web_ui"

This reverts commit b97a015d5cd0d7e0380a4231be4c31aad36671f1.
2023-03-16 08:07:39 -07:00
Zachary Anderson
32b3e66d7c Revert "Bump lower Dart SDK constraints to 3.0 (#40178)" (flutter/engine#40317)
Revert "Bump lower Dart SDK constraints to 3.0"
2023-03-15 18:53:00 +00:00
Michael Goderbauer
828f3deb86 Bump lower Dart SDK constraints to 3.0 (flutter/engine#40178)
Bump lower Dart SDK constraints to 3.0
2023-03-15 17:57:04 +00:00
Michael Goderbauer
bd58dd7222 Bump pubspecs to unblock Dart SDK roller (flutter/engine#40297)
Bump pubspecs to unblock Dart SDK roller
2023-03-15 06:46:22 +00:00
Yegor
e9abb22ba1 Revert "[web] Access engine version to get correct gstatic URL (#40194)" (flutter/engine#40235)
This reverts commit 46682951fe7f61296070c2fdfb673576628bbd89.
2023-03-10 14:46:06 -08:00
Harry Terkelsen
46682951fe [web] Access engine version to get correct gstatic URL (flutter/engine#40194) 2023-03-10 10:16:48 -08:00
Mouad Debbar
f9989a551d [web] Copy canvaskit_chromium/* to canvaskit/chromium/* (flutter/engine#39796)
[web] Copy canvaskit_chromium/* to canvaskit/chromium/*
2023-03-03 22:07:49 +00:00
LongCatIsLooong
48c413ae2f Add new test font (flutter/engine#39809)
Add new test font
2023-03-03 21:38:01 +00:00
Jackson Gardner
d41ba81937 Don't include other files outisde the flutter_web_sdk. (flutter/engine#40009)
Don't include other files outside the flutter_web_sdk.
2023-03-02 06:37:07 +00:00
Jackson Gardner
a3dc9e77fb Skwasm Renderer - initial implementation (flutter/engine#39072)
Skwasm Renderer - initial implementation
2023-03-02 00:01:04 +00:00
Yegor
543f998577 [web] consolidate network code into httpFetch (flutter/engine#39657)
* consolidate network code into httpFetch

* make HTTP test cross-browser friendly; fix copypasta
2023-02-16 00:02:02 +00:00
Michael Goderbauer
c545a799d2 Remove unnecessary null checks (flutter/engine#39113) 2023-01-25 10:15:02 -08:00
Mouad Debbar
105bb9ab43 [web] Build multiple CanvasKit variants (using toolchain_args) (flutter/engine#38448)
* [web] New gn for building CanvasKit

* Use toolchain_args to override CanvasKit gn args

* Use correct path for the generated canvaskit files

* Put toolchain close to target

* remove extra toolchains

* remove extra import

* add canvaskit_lite to archive

* fix local canvaskit path in tests

* add some guards using visibility and asserts

* renames

* formatting

* rename mistake

* Add github issue to the TODO

* Update buildroot sha

* clang-tidy error

* skip canvaskit targets when not needed
2023-01-23 20:37:18 +00:00
Pierrick Bouvier
3811a350df Add CI builder for windows-arm64. (#38394) (flutter/engine#38739)
* Generate zip archives for Windows following target platform.

* Add CI builder for windows-arm64.

All packages can be cross compiled from an x64 machine.
Unittests are disabled, as they require an arm64 machine.

* Add windows-arm64 to CI.
2023-01-11 23:01:08 +00:00
Harry Terkelsen
21547b9edb Move canvaskit artifacts to expected location in Web SDK Archive (flutter/engine#38168) 2023-01-10 12:52:45 -08:00
Loïc Sharma
5e35f2ab74 Revert "Add CI builder for windows-arm64. (#38394)" (flutter/engine#38729)
This reverts commit 35810a873b59c8d738f1f3661854572cc3aa2215.
2023-01-09 22:35:13 +00:00
Pierrick Bouvier
35810a873b Add CI builder for windows-arm64. (flutter/engine#38394)
* Generate zip archives for Windows following target platform.

* Add CI builder for windows-arm64.

All packages can be cross compiled from an x64 machine.
Unittests are disabled, as they require an arm64 machine.

* Add windows-arm64 to CI.
2023-01-09 21:51:12 +00:00
Alexander Markov
bf04bd6451 Update web_sdk -> package test dependency to get updated package matcher (flutter/engine#38323) 2022-12-15 12:07:09 -08:00
Tong Mu
c3925d9120 [Web, keyboard] Locale layout mapping (flutter/engine#34625)
* WIP

* WIP: Better debug log

* WIP

* Finish logic (untested)

* Use third_party for layouts

* Update gen

* Fix filtering bugs

* Format

* Fix build

* Add scripts

* Try license

* Copyright

* Rename license

* Use case insensitive

* more lower case

* Sort. Migrate to better types.

* Fix template

* Marshall and unmarshall

* Comments

* Gen types file

* gen json

* engine compilable

* benchmark_detector

* Move github to separate file

* Generate full mapping

* test cases

* Unified dead key

* Correct key

* remove duplicate file

* letter in test cases

* Compile

* int keycode, and fix compile

* Correct gen directory

* Heuristic

* Heuristic benchmark

* Reorganize logical key

* Move to common

* Docs

* Combine into bin

* Remove layout_types

* Rename to locale_keymap

* Rename class

* Rename to heuristicMapper

* Format

* Fix license

* Fix test

* Test license

* Fix tests

* Fix import as

* Fix analyze problem

* Fix license

* Update license pattern

* The MIT license

* License diff

* Fix license

* Update signature

* readme

* fix signature?

* fix signature?

* Fix license count

* Fix build

* Compression

* Fix _eventKeyIsKeyname

* remove gitignore

* Fix nullable

* Fix doc

* Add underscore lead. Make everything lower case. Print by line.

* Better event code encoding

* Signature

* Comment. Change dead key mapping to the last.

* Better digit heuristic. Better _eventKeyIsKeyName

* en-in test

* Remove unnecessary build change

* Better order
2022-11-30 01:28:02 +00:00
Jackson Gardner
5a3dd3b3b5 Build platform dills with unevaluated constants (flutter/engine#37940)
* Build dart2js platform kernels with null environment.

* Null environment should be true.

* More cleanup of gn steps.

* Fix build steps.

* Fix formatting.

* Add links to the cleanup github issue.
2022-11-29 19:03:47 +00:00
Mouad Debbar
9d9401970f [web] Move unicode properties to third_party (flutter/engine#37440)
* [web] Move unicode properties to third_party

* license

* fix license check

* attempt to fix license golden

* more license fixes

* even more license fixes

* add check mode and readme file

* fix licenses + add web_unicode.dart

* build web_unicode as an sdk library

* remove unnecessary variable

* minor fix in license golden

* tool signature
2022-11-22 18:47:11 +00:00