20 Commits

Author SHA1 Message Date
nturgut
3a30ae3d5c
Fix ios voiceover (for safari >13.4) (#22965)
* fixes voice over for higher ios-safari versions

* change enable conditions for webkit

* adding click event for removal. adding unit tests

* run the mobile semantics enabler test on mobile browsers

* remove test method that gave different result on LUCI.(further inv. needed)
2020-12-10 11:59:44 -08:00
nturgut
fbf6818741
Enabling semantics tests for safari, ios-safari and firefox (#22662)
* enable safari tests for almost all the methods for semantics tests

* enable almost all semantics tests for firefox

* Safari desktop have different scroll max values for different versions

* fix assert
2020-11-23 15:45:55 -08:00
Greg Spencer
6bc70e4a11
Reland: Migration to PlatformDispatcher and multi-window (#21932)
This re-lands #20496 and #21780 after fixing the semantics-enabling code that was causing the post-submit web_smoke_test to fail.

Below is the description from the original PR:

This is a PR for converting the dart:ui code in the engine to use a multi-window API. The goal here is to convert from the window singleton to an API that has the concept of multiple windows. Also, I'm matching up the new PlatformDispatcher class to talk directly to the PlatformConfiguration class in the engine. I'm not attempting to actually enable creating multiple windows here, just migrate to an API that has a concept of multiple windows. The multi-window API in this PR currently only ever creates one window.

The design doc for this change is here.

The major changes in this PR:

Move the platfom-specific attributes out of Window, and into the new PlatformDispatcher class that holds all of the platform state, so that the platform code need only update the configuration on this class.
Create FlutterView, FlutterWindow, and SingletonFlutterWindow classes to separate out the concepts of a view (of which there may be multiple in a window), a window (of which there may be multiple on a screen, and they host views), and a window where there is only ever expected to be one (this hosts the entire API of the former Window class, and will eventually be the type of the window singleton).
Next step after this PR lands:

Remove the Window class entirely (it is replaced by SingletonFlutterWindow). Some minor changes in the Framework are needed to switch to using SingletonFlutterWindow directly first.

The Window class still exists in this PR, but will be removed as soon as the framework is converted to point to the SingletonFlutterWindow class instead. They share the same API, just have different names (Window is currently a subclass of SingletonFlutterWindow). The intention is that the Window name will be freed up to use as a widget class name in the framework for managing windows. The singleton called window will remain, and keep the same API it has now.
2020-10-22 14:54:25 -07:00
nturgut
bb24b4938f
[web] Build unit tests with dart2js instead of build_runner (#20390)
* change from build_runner to dart2js

* add internalBootstrapBrowserTest to some of the tests

* add internalBootstrapBrowserTest to all remaining tests

* make tests build in paralel. Total time dropped from 586 to 177 seconds for 8 core MacBook

* change isolates with pool

* fixing analysis errors

* skipping canvaskit tests for ios-safari

* copy image files to the build directory

* adding internalBootstrapBrowserTest to newly added tests

* add internalBootstrapBrowserTest to faling path iterator test

* necessary changes to make chrome windows work

* in windows test in chrome instead of edge. our edge code was for legacy edge

* do not run golden unit tests on Windows LUCI bots for now

* addressing reviewer comments. Adding a method for deciding when to run integration tests.

* remove lines that I forgot to remove

* fixing analysis error. add issue for todo

* add bootstap to a test file

* adding bootstrap to another test

* add internalBootstrapBrowserTest to a golden test

* return test result in bat file. use archieve package to unzip

* fixing logs for chrome_installer

* use archieve and archieve entity instead of dynamic

* adding comments for windows platform archieve part

* addressing reviewer comments

* change readme file
2020-08-17 16:19:27 -07:00
nturgut
d2d02917d9
[a11y-web] Semantics fix (#19898)
* fixinf enable semantics

* fix unit tests

* fix indentation

* addressing reviewer comments

* fix comment

* make commnt starts upper case

* fix grammar in comment

* Add one more comment
2020-07-28 10:29:02 -07:00
Yegor
00aa0bc071
take web_ui to null safety (#19027)
move web_ui to NNBD syntax
2020-06-16 15:28:06 -07:00
Yegor
d30024829e
Minimize child DOM node moves in many-to-many update (#18648)
* minimize child DOM node moves in many-to-many update
2020-06-04 10:53:38 -07:00
Yegor
deaf14ec7d
Use Float32List as Matrix storage inside the Web engine (#17856)
This change converts all Float64List matrices to Float32List at the dart:ui interface boundary. Internally, it only uses Float32List. Float32List requires less memory and is orders of magnitude faster to allocate, and it has sufficient precision as Flutter mobile engine and Skia use 32-bit floats anyway.

This change speeds up frame preroll by 50% on the bench_card_infinite_scroll benchmark.

For more details on Float64Array allocation in JS (which backs Float64List in Dart) see the following:

https://bugs.chromium.org/p/v8/issues/detail?id=9199
https://bugs.chromium.org/p/v8/issues/detail?id=2022
2020-04-22 11:08:23 -07:00
Ferhat
04182cde5d
Switch ui.window.devicePixelRatio from browser logical to physical. (#17209)
* Switch ui.window.devicePixelRatio to browser dpi
* Add integration test for multi res image loading
* Update cirrus for new integration test
* update canvas golden test root transform
* Update compositing golden test with dpr transform
2020-03-25 12:41:17 -07:00
Nurhan Turgut
941aee35bd
[web] add comment to skipped safari test (#16737)
* add comment to skipped safari test

* test not running semantics on Mac

* disable semantics test which is unreliable
2020-02-21 13:03:29 -08:00
Nurhan Turgut
ab0dd12975
[web] Running safari tests on LUCI (#16715)
* Safari font collection tests skip failing methods

* add a clear to the semantics test to make sure no DOM elements are leaking to the other tests

* fix semantics_helper_test. skip for semantics_test. teardown didn't work

* skip test, the skipped method run for 8 minutes according to the logs

* history tests methods runs multiple times. only run them on linux for now. they were also already failing in edge/windows
2020-02-21 09:03:13 -08:00
vsmenon
0ef67b5e74
opt out dart:ui from nnbd (#16473)
* opt out dart:ui from nnbd

* Annotate tests as well
2020-02-20 11:04:00 -08:00
Nurhan Turgut
77c5812d48
[web] Skipping failing edge tests (#16626)
* making edge default test browser on windows. adding some skips (not all) for methods failing on edge

* skip failing tests. make egde default for testing

* skip one more test

* addressing reviewer comments. removing extra bat file
2020-02-18 09:36:04 -08:00
Nurhan Turgut
44e80fd619
skiping tests in Safari. LUCI recipe for Mac is ready. this is the only step left for stopping us running unit tests in Safari (#16550) 2020-02-11 15:31:57 -08:00
Yegor
1daba53187
Partially fix canvas vs text paint order when running on Blink/Webkit browsers (#16483)
fix canvas vs text paint order in Blink/Webkit
2020-02-10 13:41:50 -08:00
Nurhan Turgut
2805da9e5d
Enable web engine unit tests on Firefox (#14267)
* Enable web engine unit tests on Firefox

* addressing PR comments

* addressing PR comments

* fix the version name on the lock file
2019-12-09 16:27:14 -08:00
Nurhan Turgut
4bdd15cd54
more tests for enabling semantics (#14060)
* more tests for enabling semantics

* addressing pr comments
2019-11-27 14:53:48 -08:00
Nurhan Turgut
e3e5f8dabc
Adding support for enabling semantics on desktop (#14003)
* DRAFT: adding support for enabling semantics on desktop

* Working solution for desktop.

* Refactoring class structure. Removing unrelated comments.

* Fixing enabling semantics from dom_renderer

* Adding unit tests.Fixing failing cases. More refactoring.

* more work on tests.

* Fixing licences

* addressing PR comments
2019-11-26 18:59:26 -08:00
Yegor
f38913b7c7
sync Flutter Web engine to the latest (#11421)
* sync Flutter Web engine to the latest
2019-08-26 08:16:09 -07:00
Yegor
fad38e252f
sync web engine; run web engine tests (#11031)
sync web engine; run web engine tests
2019-08-22 16:38:03 -07:00