910 Commits

Author SHA1 Message Date
Greg Spencer
e0b9a2bb23
Change wordBoundary to take dynamic temporarily (#13765)
Converting the argument to Paragraph.wordBoundary to dynamic temporarily until the framework code is converted to send a TextPosition instead of an int.

I'll submit this, then update the framework side to send a TextPosition, and expect a TextRange
or a List<int>, and then submit that, then I'll change this code to send a TextRange and take a TextPostion only, removing the dynamic here. Once that's done, I'll remove the code in the framework that expects a TextRange or a List<int>, and have it just expect a TextRange.

This is so that we can change the API without breaking the builds.

Landing on red to kick the engine builds.
2019-11-08 16:27:00 -08:00
Harry Terkelsen
2f69e38160
Implement Path.computeMetrics in the CanvasKit backend (#13760)
* Implement Path.computeMetrics in the CanvasKit backend

* Add license for path_metrics.dart
2019-11-08 15:53:42 -08:00
Ferhat
7413304c37
[web] Support gif/webp animations, Speed up image drawing in BitmapCanvas. (#13748)
* Add draw image test
* Optimize drawImageScaled
* optimize cloning in HtmlImage, implement drawImageRect using image tag
2019-11-08 12:52:01 -08:00
Greg Spencer
f7e73b6236
Move TextRange from the framework to dart:ui. (#13747)
This removes TextRange from the framework and moves it to the engine, in preparation for using it to return text ranges from the text extent APIs, like Paragraph.getWordBoundary instead of a List<int>.

Also added new tests for TextRange.
2019-11-08 12:21:46 -08:00
Ferhat
6ad57b0d57
Don't run engine tests under vm (causing warnings) (#13737) 2019-11-07 16:28:17 -08:00
liyuqian
629930e888
Prefer SchedulerBinding.addTimingsCallback (#13728)
This doc update solves our TODO in https://github.com/flutter/flutter/pull/43676/files#diff-6a35a9a692c9af7473ba1a0a74c979c8R223
2019-11-07 14:05:43 -08:00
Mouad Debbar
abaa85a394
[web] Proper support for text field's obscureText (#13722) 2019-11-06 13:20:23 -08:00
chunhtai
8ebb318401
Revert "Issues/39832 reland (#13642)" (#13720)
This reverts commit 1bfb928e071674a21779cee94908fbcae1c2e657.
2019-11-06 11:41:36 -08:00
Mouad Debbar
a9ef2410f6
[web] Don't send keyboard events from text fields to flutter (#13699) 2019-11-05 19:00:51 -08:00
chunhtai
1bfb928e07
Issues/39832 reland (#13642)
* Reland "Added new lifecycle enum (#11913)"
2019-11-05 14:52:16 -08:00
Mouad Debbar
f6e24a00cc
[web] Ignore changes in *.ttf files in felt build watch mode (#13634) 2019-11-05 13:31:51 -08:00
Mouad Debbar
5b87cd0773
Fix bug where Enter doesn't add new line in multi-line fields (#13630) 2019-11-05 13:31:40 -08:00
Gary Qian
0928c1af2f
Add 'Cough' test font and support multiple test fonts. (#13649) 2019-11-05 12:27:34 -08:00
chunhtai
fe0838e948
Revert "Added new lifecycle enum (#11913)" (#13632)
This reverts commit 02a479007420b05df8e075978ecdd15442ea520f.
2019-11-04 13:40:20 -08:00
chunhtai
02a4790074
Added new lifecycle enum (#11913) 2019-11-04 12:33:41 -08:00
Yegor
6e0e2274f1
fix getBoxesForRange for zero-length ranges (#13483) 2019-11-04 10:16:38 -08:00
gaaclarke
1eb15c12fb
Revert 78a8ca0f62b04fa49030ecdd2d91726c0639401f (#13467)
Put `Picture.toImage` back on the GPU thread.  Left the unit tests intact.
2019-10-31 16:57:52 -07:00
Nurhan Turgut
fb4366e52b
[web] Get the size from visualviewport instead of window.innerHeight/innerW… (#13462)
* get the size from visualviewport instead of window.innerHeight/innerWidth.

* merging 2 if statements to one.

* add more comments
2019-10-31 15:10:38 -07:00
Yegor
49971e2140
Implement basic Picture.toImage via BitmapCanvas (#13391)
Implement basic Picture.toImage via BitmapCanvas and update the dartdocs.
2019-10-28 12:50:43 -07:00
Harry Terkelsen
2ea18a5e76
Expand on CanvasKit backend more (#13361)
- add Path.addPath
- add Path.conicTo
- add Path.transform
- use Skia's computeTonalColors to compute shadow colors
2019-10-25 14:30:38 -07:00
Yegor
797e094f0c
Web: fix Color subclass handling (#13359) 2019-10-25 13:41:46 -07:00
David Iglesias
89731aefca
Intercept SystemSound.play platform message before it's sent. (#13342)
Fixes https://github.com/flutter/flutter/issues/43462
2019-10-25 12:24:36 -07:00
Nurhan Turgut
3b97d3a329
[web] [test] Adding firefox install functionality to the test platform (#13272)
* Add Firefox installing functionality to test platform. For Linux only. Refactor test platform code

* remove download.dart. Not complete for now

* uncomment firefox.dart. Adding new CL parameters.

* Licence headers added.

* adding more comments to firefox_installer

* adding test for firefox download

* address pr comments. change directory for test in .cirrus.yml

* change directory for test_web_engine_firefox_script

* removing the system test.
2019-10-23 14:41:49 -07:00
Ferhat
227e44d9e5
[web] Cupertino dynamic color fix. (#13296)
* Fix cupertino theme rendering issues due to Color subclassing
Fixes flutter/flutter#41257
2019-10-22 16:46:38 -07:00
Ferhat
d7ca3c7138
Fix decode feature detection in HtmlCodec (#13274) 2019-10-22 15:07:39 -07:00
Harry Terkelsen
2eaf62fdc8
Flesh out the CanvasKit backend some more (#13275)
* Flesh out the CanvasKit backend some more

- Implement `drawOval` and `addOval`
- Use the Canvas's own `getSaveCount`
- Implement `skew`
- Implement `saveLayerWithoutBounds`
- Document things which we don't plan to implement in the Skia backend

* Remove `rasterCache` fake support

* Remove saveCount setter
2019-10-22 13:15:35 -07:00
Mouad Debbar
4307a9b487
[web] Support input action (#13268) 2019-10-21 15:23:36 -07:00
Mouad Debbar
6a3baef78b
[web] Support -j to use goma in felt build (#13259) 2019-10-21 15:23:19 -07:00
Jason Simmons
4ecfa62735
Hold a reference to the Skia unref queue in UIDartState (#13239)
Obtaining the SkiaUnrefQueue through the IOManager is unsafe because
UIDartState has a weak pointer to the IOManager that can not be dereferenced
on the UI thread.
2019-10-21 14:15:03 -07:00
Gary Qian
8318d5f386
Update ui.instantiateImageCodec docs to reflect what it does. (#13233) 2019-10-21 12:29:19 -07:00
Harry Terkelsen
5cc7416990
Update CanvasKit to 0.7.0 and flesh out painting (#13240)
* Update CanvasKit to 0.7.0 and flesh out painting

This allows us to fix some bugs in the CanvasKit backend.

- Implement RRect where the radii are different
- Implement drawDRRect
- Implement ColorFilter
- Implement the correct `arcTo` for `arcToPoint`

* update licenses

* Respond to review comments

- Add TODO to avoid unnecessary conversions
- Don't set CanvasKit to default
- Fix licenses file

* Add ==, hashCode, and toString back to ColorFilter API
2019-10-21 11:28:55 -07:00
Jason Simmons
8882bf3c73
Avoid dereferencing IO manager weak pointers on the UI thread (#13232)
UI thread APIs that need to access the IO thread's resource context should
obtain a weak pointer to the IO manager and pass that to the IO thread.
2019-10-18 16:01:55 -07:00
Mouad Debbar
98e6d15663
Preserve stdout colors of subprocesses run by felt (#13209) 2019-10-18 10:41:44 -07:00
Ferhat
6d0f075709
[web] Fix canvas reuse metrics. Refactor drawVertices code. (#13190)
* Draw vertices to shared offscreen canvas on browsers that support OffscreenCanvas.
* Move gl rendering code to render_vertices.dart.
* Reuse shaders and program across calls.
2019-10-18 10:41:16 -07:00
Nurhan Turgut
dea7150f33
Adding firefox_installer.dart (#13185)
* adding firefox downloading functionality to felt

* Getting the location directly from the response
2019-10-18 10:35:21 -07:00
Harry Terkelsen
4332316d2d
Use window.devicePixelRatio in the CanvasKit backend (#13192)
* Use the actual devicePixelRatio in the Skia backend

* Get the coordinates of mouse events in physical pixels

* disable canvaskit by default
2019-10-17 14:28:40 -07:00
George Wright
8b9761940b
Re-enable WeakPtr ThreadChecker and fix associated failures (#12257)
This re-enables thread safety checks for WeakPtr. WeakPtrs can't be used on a thread other than the one the WeakPtrFactory was created on.

This fixes the unit tests and adds a getUnsafe() method to WeakPtr to work around the remaining unresolved locations where we are using WeakPtr unsafely.
2019-10-17 14:10:16 -07:00
Nurhan Turgut
ffb5d0b2e3
wrap the text in text editing. This was causing a missalingment issue in textarea. (#13207) 2019-10-17 12:11:27 -07:00
Mouad Debbar
8f621ad3c7
[web] Environment variable to disable felt snapshot (#13187) 2019-10-17 10:51:46 -07:00
Chinmay Garde
a925df1898
Remove incomplete static thread safety annotations. (#13151)
Fixes https://github.com/flutter/flutter/issues/42704.
2019-10-16 17:28:31 -07:00
Harry Terkelsen
7f7e09c7ee
If we get a 'down' event, add that device to the active devices. (#13182)
This prevents us from synthesizing an 'add' event if we get a 'move'
event after a 'down' event. This was causing errors because on the
framework side, it will synthesize an 'add' event if it receives a
'down' event, and if you send another 'add' event (e.g. with a 'move'
after a 'down') then it will throw an AssertionError since it already
has received an 'add' event for that pointer.

Fixes https://github.com/flutter/flutter/issues/40385
2019-10-16 15:41:12 -07:00
Harry Terkelsen
5b56daa23f
Fix type error in SkVertices (#13157) 2019-10-16 10:39:08 -07:00
Yegor
5fe6083d34
Move surface-based SceneBuilder implementation under surface/ (#13159)
Move surface-based SceneBuilder implementation under surface/
2019-10-15 20:07:28 -07:00
Nurhan Turgut
66bf00bca3
refactoring chrome_installer (#13122)
* refactoring before implementing the firefox installer. This PR carries utilities to a common place. Renames the lock file with a generic name.

* Fixed README file for browser_lock

* addressing PR comments: removing unimplemented firefox methods.
2019-10-14 14:51:08 -07:00
Ferhat
3fd877715b
[web] Add basic color per vertex drawVertices API support (#13066)
* Implement basic drawVertices for BlendMode.srcOver and hairline rendering
* Implement maxDiffRate parameter for screenshot tests
2019-10-14 13:16:05 -07:00
Mouad Debbar
c643366c19
Support keyboard types on mobile browsers (#13044) 2019-10-14 13:10:01 -07:00
Ferhat
c6650063c2
Update felt README (#13097)
* Update felt README

* Removed -t since it is removed in #13088
2019-10-11 16:08:03 -07:00
Dan Field
5b5b1c4b9f
ColorFilter matrix docs (#13100) 2019-10-11 16:01:16 -07:00
Nurhan Turgut
3ad8c42591
do not wrap font family name (#12801)
* do not wrap font family name in webkit otherwise icons not show on safari 13 (both IOS and desktop)

* Changing the font loading to work in all browsers.

* Documentation, renaming, gramatical/spelling error related PR comments addressed. Regexp will be addressed in the next commit.

* Changing regular expressions to look simpler. Adding more unit tests.
2019-10-11 15:12:28 -07:00
Yegor
6611e170d3
use rest args for specifying test targets (#13088) 2019-10-11 13:44:55 -07:00