72 Commits

Author SHA1 Message Date
chunhtai
833c6a2e00
Implement browser history class for router widget (#20794) 2020-09-10 21:00:02 -07:00
Ferhat
bada9fc5f3
[web] Fix path clip crash when reused (#20846) 2020-08-30 19:35:39 -07:00
Ferhat
3ccf1ed2ec
Cliprect op (#20837)
* Switched PathCommand apply parameter to non-nullable. Add clip op parameter to ClipCommand.
2020-08-27 22:38:03 -07:00
Ferhat
87fd0e497c
Guard recording_canvas against restore calls without ending recording (#20786) 2020-08-26 11:19:07 -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
Jason Simmons
9993228251
Fix web_ui warnings flagged by the next Dart analyzer update (#20524) 2020-08-14 13:29:50 -07:00
Ferhat
6988f01779
Add Path iterator tests, sync verbs with skia enums, fix PathIterator.peek. (#20381)
* Sync verb enum to skia. Fix PathIterator.peek, add tests
* Add constant for iterator buffer size
2020-08-10 17:24:28 -07:00
MichealReed
06c89cd1c8
Implemented web image codec instantiation for CanvasKit. (#20194) 2020-08-04 15:01:02 -07:00
Mouad Debbar
f288fe563d
[web] Enable canvas measurement by default (#19924) 2020-07-29 16:18:07 -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
Ferhat
37fa2850d1
[web] Prevent crash when restore is called incorrectly after recording ends. (#19948)
* Prevent crash when restore is called after picture recording ends
* Addressed reviewer comments
2020-07-22 12:55:22 -07:00
Ferhat
df23044897
[web] Implement ulps for path ops (#19711)
* Implement ulps for path ops
* Address review comments
* cache abs()
* dartfmt and update licenses
2020-07-13 13:43:11 -07:00
Ferhat
f10f172573
[web] Update SurfacePath to use PathRef (#19557)
* Update SurfacePath to use PathRef
* Fix test analysis errors
* Switch DDRect to use path to reduce paint time processing
* Implement toString() for debug mode
* Fix contains (bounds inclusive) edge case, add test
* Update recording canvas test for drawDRRect change
* Update diffrate for arc/conic render change
* Add test for winding for beveled border. Fix checkOnCurve
* Fix mono quad winding on curve check
* fix _chopCubicAtYExtrema and add test case
* Address reviewer comments / setAll API usage
2020-07-09 13:55:39 -07:00
Alexandre Ardhuin
218d98f4d8
Operator equals (#19303)
* use Object for operator==

* apply style guide for operator==
2020-06-30 23:16:31 +02:00
nturgut
3fcf5463b9
Run IOS unit tests on LUCI (#19141)
* change the version of simulator. luci bots only has 13.0

* skip failing pointer binding tests

* skip path_metrics (canvaskit) and a method from surface_test

* fix analyzer errors

* remove extra added touch event context test

* removing left overs for screenshot debugging

* apply reviewers suggestion for skipping tests
2020-06-23 15:22:01 -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
nturgut
03b7bad6d1
remove failing tests on safari (#18944) 2020-06-09 17:19:47 -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
f49bd05014
implement SkPath.computeMetrics (#18667)
* implement SkPath.computeMetrics
2020-06-01 09:43:15 -07:00
Ferhat
4be3a031b6
[web] Reuse ImageElement(s) across frames (#18437)
* reuse images across frames
* Change implementation to CrossFrameCache at picture level
* Update licenses_flutter
2020-05-20 14:46:41 -07:00
Yegor
cd4b83d3db
auto-pop pushed layers (#18451) 2020-05-18 10:01:37 -07:00
Yegor
570b474728
Implement local, locales, and onLocaleChanged for the web (#18137)
* implement `locale`, `locales`, and `onLocaleChanged` in the web version of `Window.

Co-authored-by: Simon Lightfoot <simon@devangels.london>
2020-05-16 10:10:32 -07:00
Yegor
609519ec14
release previous canvas when picture is not painted (#18404) 2020-05-14 18:25:13 -07:00
Yegor
68bf137634
skip painting clipped out pictures (#18204) 2020-05-08 11:14:30 -07:00
Mouad Debbar
aa00d50396
[web] Don't allow empty initial route (#17936) 2020-04-27 13:54:07 -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
Yegor
dd87e3f944
Optimize static content scrolling (#17621)
* store paint command bounds
* do not apply commands outside the clip region
* better cull rect prediction
* enforce RecordingCanvas.endRecording
2020-04-14 20:08:10 -07:00
Mouad Debbar
7a591cf475
[web] Fix regression of pointer events on mobile browsers (#17595) 2020-04-08 14:48:56 -07:00
Mouad Debbar
b0b67ef9e2
[web] Fix window.defaultRouteName (#17580) 2020-04-08 13:51:38 -07:00
Mouad Debbar
bd760768c8
[web] Detect when the mouseup occurs outside of window (#17495) 2020-04-06 15:06:03 -07:00
Yegor
7bd8dee5be
fix implicit dynamic and two lints everywhere; implicit cast in dev/ (#17372) 2020-03-29 19:23:37 -07:00
Yegor
b2a7470748
Reland "add limited analysis options (#17332)" (#17374)
* Reland "add limited analysis options (#17332)"

This time I'm starting without Cirrus. Will add Cirrus serpartely from code changes.

This reverts commit 6d33ee1a2ca7d404ebd5cb434d8ab859bf8ac0b7.

* disable Cirrus analysis check
2020-03-27 11:06:10 -07:00
Chinmay Garde
6d33ee1a2c
Revert "add limited analysis options (#17332)" (#17368)
This reverts commit 5389159643fa26342580208b6a9de547ef4de406.
2020-03-27 02:38:50 -07:00
Yegor
5389159643
add limited analysis options (#17332)
add limited analysis options
2020-03-26 14:38:59 -07:00
Mouad Debbar
f0caace4fd
[web] Profile text layout and forward data to macrobenchmarks (#17276) 2020-03-26 09:37:14 -07:00
Yegor
5845d70b50
Preserve zones in Window callbacks (#17298)
preserve Window callback zones
2020-03-25 17:25:06 -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
Mouad Debbar
4c41b14064
[web] Introduce js interop to enable experimental flags on web (#17099) 2020-03-23 13:22:10 -07:00
Ferhat
5a07488251
[web] Add HtmlCodec progress callback (#17139)
* Wire up htmlcodec chunkcallback for progress events

* Add test for HtmlCodec
2020-03-16 11:41:44 -07:00
Yegor
cb3237e255
Add more child lifecycle tests (#16689) 2020-03-09 16:26:06 -07:00
Mouad Debbar
971122b314
[web] Reduce the usage of unnecessary lists in pointer binding (#16745) 2020-02-24 14:21:04 -08: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
Yegor
8b0b6490ee
improve surface state assert error messages (#16595) 2020-02-14 08:04:31 -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
chunhtai
7e869faf52
Adds new route annoucement method. (#16523) 2020-02-10 13:59:02 -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
Ferhat
f30ff4fcbf
Use 2d matrix for transform to work around Safari clipping bug (#15976) 2020-01-24 20:40:12 -08:00