98 Commits

Author SHA1 Message Date
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
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
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
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
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
Yegor
4cd64dbe26
Snapshot the felt tool for faster start-up (#13090) 2019-10-11 13:44:06 -07:00
Chinmay Garde
86e3ebb748
Allow embedders to specify arbitrary data to the isolate on launch. (#13047)
Since this is currently only meant to be used by the embedding internally, the setter in Objective-C is only exposed via the FlutterDartProject private class extension. Unit tests have been added to the shell_unittests harness.

Fixes https://github.com/flutter/flutter/issues/37641
2019-10-10 12:31:14 -07:00
Yegor
0b6aa5e320
Add "felt clean" command (#13042)
Add "felt clean" command
2019-10-10 07:15:24 -07:00
Ferhat
d9c3afae26
[web] Implement basic radial gradient (TileMode.clamp, no transform) (#12811)
* Add GradientRadial paintStyle implementation
2019-10-09 15:51:31 -07:00
Harry Terkelsen
e693192167
[web_ui] Check if a pointer is already down for the specific device (#12470)
* WIP on fixing pointer event clicks

* Don't set canvaskit as enabled by default

* Use a Set of pressed buttons rather than a Map of button status to
avoid memory leaks

* Add test for pointer binding

Fix bug where event listeners weren't properly removed
2019-10-09 12:43:06 -07:00
Kate Lovett
a29385d9fe
Link Semantics Typo (#13009) 2019-10-08 16:26:00 -07:00
Ferhat
f2a8b050d4
[web] Add support for path transform (#12794)
* Implement path.transform
2019-10-08 16:05:54 -07:00
Mouad Debbar
6113ef93ea
[web] Update the url when route is replaced (#13003) 2019-10-08 14:47:25 -07:00
Kate Lovett
414ad38662
Missing link flag (#13001) 2019-10-08 13:49:46 -07:00
David Iglesias
f48f0fa01b
Open source canvas tests from flutter_web_ui (#12819)
* Open source canvas tests from flutter_web_ui

Reimplement some painter tests as screenshot tests on canvas.

Needs https://github.com/flutter/goldens/pull/53
Fixes https://github.com/flutter/flutter/issues/42027

* Remove whitespace

* Address PR feedback

* Add latest hash to dev/goldens_lock.yaml
* Rename (with git mv) *scuba_test.dart -> *golden_test.dart
2019-10-08 09:40:09 -07:00
Mouad Debbar
dbb285d366
Prevent default when Tab is clicked (#12986) 2019-10-08 09:40:01 -07:00
Gary Qian
eec8d5e733 Unpublicize kDoNotResizeDimension (#12989) 2019-10-08 00:31:34 -07:00
Dan Field
4a849e0f8d
Color matrix doc (#12982) 2019-10-07 17:22:01 -07:00
Yegor
bba0065cf6
add option for bulk-updating screenshots; update screenshots (#12797)
* add option for bulk-updating screenshots; update screenshots
2019-10-04 15:07:05 -07:00
Nurhan Turgut
16a4df7a76
Fixing selection issues in Firefox (#12793)
* Fixing selection issues in Firefox. Moving text editing dom elements to glass pane.

* Addressing PR comments.

* Update text_editing.dart

fixing typo
2019-10-04 11:58:32 -07:00
Mouad Debbar
e9edb8e14f
Support correct keymap for web (#12712) 2019-10-02 15:09:08 -07:00
Mouad Debbar
327eb876f9
[web] Don't require felt to be in PATH (#12753) 2019-10-02 15:05:16 -07:00
Yegor
7c13f62234
Add web implementation for channel_buffers.dart (#12747) 2019-10-02 13:00:26 -07:00
gaaclarke
f407e06970
Resize channel buffers (#12402)
Made it so you can resize channel buffers by sending messages to them.
2019-10-01 10:31:25 -07:00
Mouad Debbar
079e418c26
Set transparent background in textarea elements (#12710) 2019-09-30 21:12:51 -07:00
Nurhan Turgut
bfcafbec2b
[web_ui] Fixing invalid state bug for text editing (#12698)
* Fixing invalid state bug for text editing. Flutter Framework was sending editing state selection base and extent as -1. Since -1 is an invalid value for a dom element selection it was not applied to the last editing state. Now if the base or offset is sent as negative value, web engine will set 0 to the selection range.

* Addressing PR comments.
2019-09-30 12:31:17 -07:00
Greg Spencer
05f4b33cd2
Add isFocusable to SemanticsFlag (#12618)
This adds an isFocusable to SemanticsFlag so that the framework can tell the engine what semantics nodes are allowed to be focused, which will affect what platform flags are applied to the semantics information.

This flag is not yet in use by the frame
2019-09-30 09:46:48 -07:00
Nurhan Turgut
a3a991aef1
Refactoring text_editing.dart (#12479)
* Refacting text_editing.dart to use EditingState more efficiently and removing unused/unimplemented code.

* Addressing PR comments. Comment changes. Removing unused methods. Method renaming.

* commiting text_editing_test.dart changes.
2019-09-30 08:26:28 -07:00
liyuqian
7c3dcee2e9
Revert "[fuchsia] Wire up OpacityLayer to Scenic (#11322)" (#12610)
This reverts commit fcc4ab32301396986dd5103d6d444bff35fe0f63.

Fixes https://github.com/flutter/flutter/issues/41394 and other
related correctness issues.

TBR: @arbreng @jason-simmons @mehmetf
2019-09-27 16:50:43 -07:00
tauu
84c167d8ed [web_ui] add missing dispose handler for MethodCalls to flutter/platform_view (#12226)
* added dispose handler for calls to flutter/platform_view

* improved comment
2019-09-26 16:48:57 -07:00
tauu
92d020f23f [web_ui] PersistedPlatformView attribute update handling to enable resizing (#12227)
* add PersistedPlatformView attribute update handling to enable resizing

* update size of root element created by a PlatformView

* improved comments

* enforce effective size of PlatformView surface

* updated formating of platform_view.dart

* stop storing root element of PlatformView in its Surface

When the PlatformViemSurface adopts the DOM elements from a previous PlatformViewSurface the the stored value will lost.

* move setting overflow property to createElement
2019-09-26 16:48:27 -07:00
Nurhan Turgut
d8d0d3f104
Reflect selection changes in Firefox for text editing (#12447)
* reflect selection changes in Firefox. With this change if the keyboard arrow keys to move the cursor the selection change is synced to Flutter Framework

* Addresing PR comments. Renaming. Adding the domelement to SelectionChangeDetection constructor.

* add initial value to selection start/end

add initial value to selection start/end
2019-09-26 15:24:10 -07:00
Gary Qian
0018135a1c
Make kDoNotResizeDimension public so framework can use it directly (#12448) 2019-09-26 17:07:16 -04:00