141 Commits

Author SHA1 Message Date
Jim Graham
ffcd8564a2
Imagefilter wrapper object (#13711)
Make ImageFilter objects comparable and printable.

This will help in areas in the Widget and RenderObject trees which try to avoid marking objects for updates if a setter is called with the same value (previously all ImageFilter objects would compare as not equal and appear to be new values).
2019-11-19 13:43:06 -08:00
Harry Terkelsen
f240462bbf
Implement basic text rendering support in CanvasKit backend (#13903)
* Implement basic text rendering support in CanvasKit backend

* Update licenses

* Address PR comments
2019-11-19 12:37:28 -08:00
Nurhan Turgut
333a8058c6
Changing test runner and platform to be browser independent (#13869)
* changes to add firefox as one of the browser options to test_platform and test_runner

* Creating a supported_browsers file to put all the different browser related maps and utilities

* Remove accidentaly forgotten commented out lines. Clear imports

* fix error in screenshot handler

* Addressing PR comments.

* addressing PR comments part 2:
2019-11-19 12:18:10 -08:00
Jonah Williams
c812a62b88
allow ignoring toString, hashCode, and == in api_conform_test (#13907) 2019-11-19 10:21:31 -08:00
chunhtai
132d38cd22
Moves pointer event sanitizing to engine. (#13697)
* Moves pointer event sanitizing to engine

* fix comment format

* fix formatting

* addressing comment

* fix format

* fix format

* addressing comment
2019-11-19 09:48:25 -08:00
Kate Lovett
f4fba66c2f
Adding opacity -> alpha method to Color class (#13902) 2019-11-19 09:48:04 -08:00
Ferhat
84ed7be371
[web] Implement PathMetrics.length (#13909)
* Implement PathMetrics.length, add tests
2019-11-19 09:41:11 -08:00
Ferhat
73e1fb21fc
Fix withIn matcher distance function lookup (#13904) 2019-11-18 16:00:01 -08:00
Ferhat
e85d92197f
Fix single line bitmap canvas text shadow (#13901) 2019-11-18 13:42:48 -08:00
Harry Terkelsen
77c3512ec8
Implement the rest of ui.Path methods for CanvasKit (#13851)
- the relative path methods
- Path.combine
2019-11-14 11:08:34 -08:00
Ferhat
562dd0394b
[web] Change canvas sibling transforms to 3d with z=0 to get around canvas rendering bug. (#13860)
* Change off canvas element transforms to 3d with z=0
* update matrix4 call to call 3d version
2019-11-14 11:03:05 -08:00
Mouad Debbar
3a89662ca1
[web] Fix selectable text rendering (#13802) 2019-11-14 00:12:56 -08:00
Ferhat
b6a0fb77ed
[web] Fix blendmode for images (#13809)
* Fix blendmode for images
2019-11-13 13:09:16 -08:00
chunhtai
1f1e2ba58e
reland add lifecycle enum (#13767)
This reverts commit 8ebb318401344793daa10c3bec97c34891cf7cc8.
2019-11-13 11:26:25 -08:00
Gary Qian
b358dc58fb
Remove extra shadows from Web Engine EngineParagraphStyle (#13805) 2019-11-13 11:13:46 -08:00
Yegor
dee42b4ead
implement radial gradient in canvaskit backend (#13796) 2019-11-12 10:56:07 -08:00
Clement Skau
db23a6cabf Adds missing comma in EngineParagraphStyle.toString() (#13795) 2019-11-12 17:00:54 +01:00
Ferhat
679a4369b2
[web] Implement TextStyle.shadows (#13769)
* Add shadows to Engine classes
* add text shadow test
* update golden locks file, update ui.ParagraphStyle, fix issues
* Change maxDiffRate for mac clients
2019-11-12 00:05:00 -08:00
Ferhat
1a7bf8578d
Move Path and PathMetrics from canvas.dart into their own files. No delta (#13772)
* Move Path and PathMetrics into their own files. No delta
* update file list in licenses_flutter
2019-11-11 21:27:15 -08:00
Harry Terkelsen
e150bf3305
Take devicePixelRatio into account when drawing shadows (#13786)
* Take devicePixelRatio into account when drawing shadows

This fixes a bug where shadows were offset in CanvasKit

* Respond to review comments
2019-11-11 18:20:08 -08:00
Harry Terkelsen
63e8c6275e
Add ImageFilter and BackdropFilter to CanvasKit backend (#13768)
* Implement ImageFilter.blur and BackdropFilter

* update licenses file

* Respond to review comments
2019-11-11 17:20:45 -08:00
Harry Terkelsen
726e8f54db
Add Helvetica and sans-serif as fallback font families (#13784)
* Add Helvetica and sans-serif as fallback font families

This prevents us from using an ugly serif default font when the
requested font isn't available.

* Use Arial when not on iOS
2019-11-11 16:54:28 -08:00
Greg Spencer
f68de3f451
Add line boundary information to LineMetrics. (#13727)
This exposes the line boundary information a line by adding getLineBoundary to return the indices corresponding to a line around a TextPosition. The information is already calculated when calculating line metrics, so that we can enable moving the selection/cursor to the beginning/end of a line in a text field.
2019-11-11 16:42:40 -08:00
Ferhat
10d5ed19f8
[web] Fix path to svg for drrect (#13779) 2019-11-11 15:38:30 -08:00
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
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
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
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
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