14557 Commits

Author SHA1 Message Date
Kaushik Iska
2b337d1d98 Reland fuchsia external view embedder will be shared with platform view (flutter/engine#22008)
* Reland fuchsia external view embedder will be shared with platform view

This reverts commit cecec62028b09097675f041a7203708b99d4d2c6.

* wait for the external view embedder to be initialized before creating
shell
2020-10-22 13:48:36 -07:00
skia-flutter-autoroll
e0e921f157 Roll Dart SDK from a3d902d8598e to 9f907e198970 (2 revisions) (flutter/engine#22058)
https://dart.googlesource.com/sdk.git/+log/a3d902d8598e..9f907e198970

2020-10-22 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.11.0-244.0.dev
2020-10-21 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.11.0-243.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
2020-10-22 12:17:30 -07:00
skia-flutter-autoroll
945b3d42dd Roll Fuchsia Mac SDK from pZ9FgVZTK... to WLxBkBnZa... (flutter/engine#22055)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-mac-sdk-flutter-engine
Please CC chinmaygarde@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
2020-10-22 10:28:02 -07:00
skia-flutter-autoroll
eac74c95b5 Roll Fuchsia Linux SDK from lPMs_KwnU... to gqS_DIjN4... (flutter/engine#22057)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC chinmaygarde@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
2020-10-22 10:27:52 -07:00
skia-flutter-autoroll
e4f96191d7 Roll Skia from 2d2f82c00aeb to 5c7bb326a7b3 (33 revisions) (flutter/engine#22059)
https://skia.googlesource.com/skia.git/+log/2d2f82c00aeb..5c7bb326a7b3

2020-10-22 johnstiles@google.com Reland "Create a basic IRNode pooling system."
2020-10-22 egdaniel@google.com Revert "Reland "Create a basic IRNode pooling system.""
2020-10-22 egdaniel@google.com Revert "Add pooling support on iOS."
2020-10-22 brianosman@google.com Add much better SkTHashMap visualization to Skia.natvis
2020-10-22 kjlubick@google.com [fuzz] Copy crashing outputs before failing
2020-10-22 johnstiles@google.com Add pooling support on iOS.
2020-10-22 jvanverth@google.com Fix storage class issues for push constant variables.
2020-10-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 84f5eeb6dd9b to e02d8938821a (3 revisions)
2020-10-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 4bdce889ea35 to 502ec4ce30b3 (465 revisions)
2020-10-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from e2147a58a233 to d74754378f09 (16 revisions)
2020-10-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from cca03ca6bfe9 to 22505a5afe1f (9 revisions)
2020-10-22 johnstiles@google.com Reland "Create a basic IRNode pooling system."
2020-10-21 fmalita@chromium.org [svg] Add support for preserveAspectRatio
2020-10-21 johnstiles@google.com Pop the symbol table if compilation fails.
2020-10-21 kjlubick@google.com [canvaskit] Load resources into wasm gms/unit tests.
2020-10-21 egdaniel@google.com In Vk don't set dynamic blend constant on Pipeline if we don't use it.
2020-10-21 tdenniston@google.com [svg] Add gradientUnits attribute, value, and parsing
2020-10-21 jlavrova@google.com Underline decorations with gaps and no text
2020-10-21 bsalomon@google.com Reland "Perform bounding rect-relative calcs in full float in GrRRectBlurEffect"
2020-10-21 brianosman@google.com Add several more visualizations to Skia.natvis
2020-10-21 michaelludwig@google.com Make small epsilons more rigorous for gpu gaussian blurs
2020-10-21 johnstiles@google.com Revert "Create a basic IRNode pooling system."
2020-10-21 bsalomon@google.com Revert "Perform bounding rect-relative calcs in full float in GrRRectBlurEffect"
2020-10-21 johnstiles@google.com Migrate additional FPs to `return` instead of `sk_OutColor`.
2020-10-21 johnstiles@google.com Wrap built-in symbol tables when a switch statement is cloned.
2020-10-21 bsalomon@google.com Perform bounding rect-relative calcs in full float in GrRRectBlurEffect
2020-10-21 johnstiles@google.com Create a basic IRNode pooling system.
2020-10-21 robertphillips@google.com Increase encapsulation of GrThreadSafeCache::Entry
2020-10-21 kjlubick@google.com [canvaskit] Fix gm test runner on non-tryjobs
2020-10-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from df17a76102df to 84f5eeb6dd9b (3 revisions)
2020-10-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 2be35682cd67 to e2147a58a233 (40 revisions)
2020-10-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 60b90a0bfd24 to 4bdce889ea35 (441 revisions)
2020-10-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from c4593127cbdd to cca03ca6bfe9 (7 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC egdaniel@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
2020-10-22 10:26:39 -07:00
Chinmay Garde
c721e67cb7 Isolates launched by the engine instance use the settings of that instance. (flutter/engine#22052)
This regression was introduced in https://github.com/flutter/engine/pull/21820
for sound-null safety. The settings used to launch the VM were incorrectly used
to determine the isolate lifecycle callbacks. Since the first shell/engine in
the process also starts the VM, these objects are usually identical. However,
for subsequent engine shell/engine launches, the callbacks attached to the new
settings object would be ignored. The unit-test harness is also structured in
such a way that each test case tears down the VM before the next. So all
existing tests created a bespoke VM for the test run, and, the tests that did
create multiple isolates did not also test attaching callbacks to the settings
object.

Fixes https://github.com/flutter/engine/pull/22041
2020-10-22 02:20:50 -07:00
Chinmay Garde
288c5ee97d Ensure root isolate create callback is invoked before the isolate is in the running phase. (flutter/engine#22041)
Embedders that have access to the Dart native API (only Fuchsia now) may perform
library setup in the isolate create callback. The engine used to depend on the
fact the root isolate entrypoint is invoked in the next iteration of message
loop (via the `_startIsolate` trampoline in `isolate_patch.dart`) to ensure that
library setup occur before the main entrypoint was invoked. However, due to
differences in the way in which message loops are setup in Fuchsia, this
entrypoint was run before the callback could be executed. Dart code on Fuchsia
also has the ability to access the underlying event loops directly. This patch
moves the invocation of the create callback to before user dart code has a
chance to run. This difference in behavior on Fuchsia became an issue when the
isolate initialization was reworked in https://github.com/flutter/engine/pull/21820
for null-safety.

Another issue was discovered in that the callback was being invoked twice, I
fixed that too and added a test.

Fixes https://github.com/flutter/flutter/issues/68732
2020-10-21 15:57:10 -07:00
George Wright
fe489569a7 Plumb through Dart entrypoint arguments on the Linux embedder (flutter/engine#21933) 2020-10-22 09:47:04 +13:00
Michael Goderbauer
3aac6f8e69 Run framework tests in sound null safety mode (flutter/engine#22038) 2020-10-21 13:38:24 -07:00
skia-flutter-autoroll
44de75650a Roll Dart SDK from 874709e52a99 to a3d902d8598e (1 revision) (flutter/engine#22026)
https://dart.googlesource.com/sdk.git/+log/874709e52a99..a3d902d8598e

2020-10-21 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.11.0-242.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
2020-10-21 08:13:06 -07:00
skia-flutter-autoroll
ba32565fe6 Roll Dart SDK from 86242db30c23 to 874709e52a99 (1 revision) (flutter/engine#22023) 2020-10-20 23:27:01 -07:00
skia-flutter-autoroll
327424a1e2 Roll Dart SDK from 8be6a08153cc to 86242db30c23 (2 revisions) (flutter/engine#22018) 2020-10-20 18:47:02 -07:00
skia-flutter-autoroll
75275bb2c1 Roll Skia from 1c823674d957 to 2d2f82c00aeb (13 revisions) (flutter/engine#22015)
https://skia.googlesource.com/skia.git/+log/1c823674d957..2d2f82c00aeb

2020-10-20 brianosman@google.com Always declare sk_FragColor in GLSL, even if unused
2020-10-20 ethannicholas@google.com added SkSLNodeArrayWrapper
2020-10-20 reed@google.com update dox for drawPaint
2020-10-20 johnstiles@google.com Wrap built-in symbol tables during inlining.
2020-10-20 johnstiles@google.com Wrap built-in symbol tables when an IRNode is cloned.
2020-10-20 johnstiles@google.com Fix typo in class name.
2020-10-20 robertphillips@google.com Make GrFillRectOp::onPrePrepareDraws also call base class' version
2020-10-20 adlai@google.com Reland "Remove GrContext"
2020-10-20 robertphillips@google.com Rename some of GrThreadSafeCache's member variables
2020-10-20 abarth@google.com [fuchsia] Migrate to new zx::vmar::map method
2020-10-20 mtklein@google.com upstream cl/337571894 with tweaks
2020-10-20 robertphillips@google.com Pull the triangulating path renderer's shape-space triangulation into a helper method
2020-10-20 fmalita@chromium.org [svg] Parse text attributes

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skia-flutter-autoroll
Please CC egdaniel@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
2020-10-20 17:01:28 -07:00
Chinmay Garde
c0f4a193b0 Determine null-safety isolate flags for launches of the service isolate. (flutter/engine#22013) 2020-10-20 16:57:01 -07:00
Chris Bracken
9482036304 Revert "Define SK_VULKAN for clang-tidy runs (#21927)" (flutter/engine#22012)
This breaks linting on other targets that include skia headers that do
ifdef checks on SK_VULKAN.

This reverts commit 939c3de58aa3ebeed23221b84883aa7bd7365f2e.
2020-10-20 15:17:05 -07:00
Adam Barth
d81873950d [fuchsia] zx::vmar::map migration (flutter/engine#22003)
The new map() method receives its arguments in the same order as the
underlying C system call. This patch should not change any behavior.
2020-10-20 21:59:46 +00:00
Chase Latta
fc4683d135 [fuchsia] opt-out null-safety in standalone scripts (flutter/engine#22009) 2020-10-20 14:47:01 -07:00
skia-flutter-autoroll
0d1103ff8f Roll Dart SDK from fc82eeed7df3 to 8be6a08153cc (1 revision) (flutter/engine#22005) 2020-10-20 12:57:01 -07:00
skia-flutter-autoroll
cfecd4a5cf Roll Dart SDK from fc82eeed7df3 to 8be6a08153cc (1 revision) (flutter/engine#22002)
https://dart.googlesource.com/sdk.git/+log/fc82eeed7df3..8be6a08153cc

2020-10-20 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.11.0-238.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC dart-vm-team@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
2020-10-20 12:16:45 -07:00
Greg Spencer
22f99901e4 Revert "Reland: Use dispatchKeyEventPreIme, and handle keys sent to InputConnection.sendKeyEvent on Android (#21979)" (flutter/engine#22004)
This reverts commit 410db6115268fe6d7561adf68d0fb04adf314c43 because it causes some failures in web tests.
2020-10-20 11:42:01 -07:00
skia-flutter-autoroll
73c6189c55 Roll Skia from 51dc28505fb9 to 1c823674d957 (8 revisions) (flutter/engine#21995) 2020-10-20 10:22:01 -07:00
Wu Zhong
8c77ec7238 [iOS] Fixes leaks of presses key message (flutter/engine#21987)
Related PR: #20972
2020-10-20 10:15:44 -07:00
Greg Spencer
410db61152 Reland: Use dispatchKeyEventPreIme, and handle keys sent to InputConnection.sendKeyEvent on Android (flutter/engine#21979)
This re-lands #21163, which was reverted in #21513

Now that flutter/flutter#67359 has landed, this change will no longer cause spaces (and other shortcuts) to be ignored in text fields if there is no action associated with the intent, even if there is a shortcut key mapping to an intent.

Here's the original PR description:

This switches from using dispatchKeyEvent to using dispatchKeyEventPreIme so that keys can be intercepted before they reach the IME and be handled by the framework.

It also now intercepts key events sent to InputConnection.sendKeyEvent, as some IMEs do (e.g. the Hacker's Keyboard), and sends the to Flutter before sending them to the IME (which it now only does if they are not handled by the framework).

This fixes the problem where pressing TAB on a hardware keyboard sends the tab to both the text field and to the focus traversal system.

Note that we still can't intercept all keystrokes given to a soft keyboard, only those which the soft keyboard decides to send to InputConnection.sendKeyEvent.
2020-10-20 10:14:31 -07:00
Jonah Williams
97b83448f6 [null-safety] fix soundness of Paragraph._addPlaceholder (flutter/engine#21994) 2020-10-20 09:57:59 -07:00
skia-flutter-autoroll
7b9356f615 Roll Dart SDK from 902538ea56d5 to fc82eeed7df3 (1 revision) (flutter/engine#21981) 2020-10-20 09:52:02 -07:00
skia-flutter-autoroll
50c3a4ee2f Roll Skia from 4964300530d3 to 51dc28505fb9 (5 revisions) (flutter/engine#21993) 2020-10-20 09:02:03 -07:00
skia-flutter-autoroll
ea4df4465d Roll Skia from a25c0619b5ef to 4964300530d3 (2 revisions) (flutter/engine#21990) 2020-10-20 07:37:02 -07:00
skia-flutter-autoroll
cac364e4f7 Roll Skia from ac1ded033136 to a25c0619b5ef (2 revisions) (flutter/engine#21989) 2020-10-20 06:12:02 -07:00
skia-flutter-autoroll
01a0c5e72e Roll Fuchsia Linux SDK from dcMRY8S12... to lPMs_KwnU... (flutter/engine#21988) 2020-10-20 05:57:02 -07:00
Damian Wrobel
16f0aff1a2 Fix linking issue (missing wayland-client library) (flutter/engine#21408)
As fl_renderer_wayland.cc uses directly some of the wayland-client
related functions it should also add this library as a dependency.
2020-10-20 05:47:40 -07:00
Clement Skau
559463b492 Enable lazy-async-stacks by-default in all modes (Take 4) (flutter/engine#21802) 2020-10-20 10:31:15 +02:00
Zachary Anderson
287d19398b Revert "[web] Fix image gap due to svg element without position attribute (#21939)" (flutter/engine#21986)
This reverts commit 13441fa711439808a4d9b4472714364f902de355.
2020-10-19 23:54:07 -07:00
Jonah Williams
3800b018d9 [null-safety] fix Scene.toImage declaration (flutter/engine#21983) 2020-10-19 22:52:19 -07:00
skia-flutter-autoroll
b76ca878fc Roll Skia from 27f7fe32f49b to ac1ded033136 (15 revisions) (flutter/engine#21984) 2020-10-19 22:52:01 -07:00
Ferhat
13441fa711 [web] Fix image gap due to svg element without position attribute (flutter/engine#21939) 2020-10-19 22:15:06 -07:00
Ferhat
3e8771c0d8 [web] Implement sweep gradient (flutter/engine#21873) 2020-10-19 22:14:42 -07:00
skia-flutter-autoroll
881acb9d95 Roll Fuchsia Mac SDK from MR_bRfe8I... to pZ9FgVZTK... (flutter/engine#21982) 2020-10-19 21:47:02 -07:00
Chinmay Garde
927393d54b Fix native constructor of list of zircon handles and remove unused list factory specializations. (flutter/engine#21980) 2020-10-19 19:42:01 -07:00
Ferhat
12845a6dde [web] Fix 3d transforms for html backend (flutter/engine#21499)
* Workaround for canvas element lacking support for 3d setTransform

* update golden test

* Add webkit workaround

* Implement DOM rendering for perspective

* cleanup

* update goldens lock

* Add check for shader and filtermask for dom use

* Fix svg viewBox. Move zIndex check to bitmap canvas

* Fix null check warning

* Fix scene_builder zIndex=-1 test to force canvas usage

* Add blendmode handling for DOM mode

* Update maxdiff and golden locks

* Remove unused import

* Add drawcolor/drawpaint test. Fix bounds for drawColor/drawPaint

* update golden locks

* adjust drawColor for dpr

* Update test to use canvas

* Fix toDataUrl NNBD

* Update Picture.toImage to use canvas to obstain image data

* Remove write:true from golden calls

* Add fill-rule for _pathToSvgElement

* Update golden locks

* Fix sceneBuilder pushClip / add missing clipBehaviour

* Fix test now that clipping works correctly

* move overflow handling for tests into DOMClip.addOverflow

* Add clipRect to test to keep render inside bitmap canvas area

* Update compositing test, fix drawColor coordinates

* update golden locks

* Skip test for matchGolden infra fail

* update golden lock

* merge

* update maxdiff for text over canvas

* update golden diff

* update paint spread bounds maxdiff

* update paint spread maxDiff
2020-10-19 17:27:27 -07:00
skia-flutter-autoroll
0dfa5ed7f4 Roll Dart SDK from 5c59a47beda7 to 902538ea56d5 (2 revisions) (flutter/engine#21978) 2020-10-19 17:17:02 -07:00
skia-flutter-autoroll
46ee82fbca Roll Fuchsia Linux SDK from ZJHmp3INU... to dcMRY8S12... (flutter/engine#21976) 2020-10-19 16:37:02 -07:00
Jenn Magder
ebc513283f Revert "[ios] Refactor IOSSurface factory and unify surface creation (#21877)" (flutter/engine#21970) 2020-10-19 16:32:03 -07:00
Chris Bracken
939c3de58a Define SK_VULKAN for clang-tidy runs (flutter/engine#21927)
When linting flutter/vulkan/vulkan_window.cc, the call to
GrDirectContext::MakeVulkan is undefined when SK_VULKAN is not defined,
triggering a lint error.

Bug: https://github.com/flutter/flutter/issues/68331
2020-10-19 16:31:07 -07:00
Jason Simmons
546df582bb Forward font collection APIs to the SkParagraph font collection (flutter/engine#21734) 2020-10-19 16:27:03 -07:00
Chris Bracken
617f0096e3 Add multi-step input method support for Linux (flutter/engine#21897)
This implements the Gtk hooks required to support multi-step input
methods on Linux. This builds on the support for composing regions
(preedit region in Gtk terminology) added to TextInputModel in
https://github.com/flutter/engine/pull/21682.

Specifically, the following changes are included:

1. Add handler for TextInput.setMarkedTextRegion framework messages: On
any change to the EditableText in the framework, this message is sent
which provides an updated rect (in the local co-ordinates of the
EditableText) for the composing region. If not in composing mode, the
cursor rect is sent.

2. Add handler for TextInput.setEditableSizeAndTransform framework messages:
On any change to the RenderObject underlying the EditableText, an
updated size for the full EditableText widget, as well as an affine
transform matrix from local co-ordinates to Flutter root co-ordinates is
sent.

3. On either of the above messages, we use the transformed composing
rect to compute the cursor position in Gtk window co-ordinates and
inform Gtk, so that it can position any system IM composing window
correctly for on-the-spot composing, such as is used when inputting
Japanese text.

4. Adds handlers for preedit-start, preedit-changed, and preedit-end
signals from Gtk. These are passed on to the TextInputModel.

5. Updates the preedit-commit handler to commit the composing region to
the text or, if not composing, insert new text at the cursor.

6. Updates the handler for TextInput.setEditingState framework messages
to extract the composing range base and extent and pass these on to
TextInputModel.

7. Updates update_editing_state function to set composing base and
extent on text input state updates sent to the framework.
2020-10-19 16:25:56 -07:00
J-P Nurmi
3e2a675dfa FlTextInputPlugin: fix memory leaks (flutter/engine#21879)
This PR fixes a few small memory leaks in FlTextInputPlugin. All three cases
are creating temporary FlValue instances for lookups and comparison without
ever releasing them.
2020-10-19 16:23:10 -07:00
Jonah Williams
c796eb8294 [null-safety] fix types of layer code (flutter/engine#21959) 2020-10-19 16:22:40 -07:00
Jason Simmons
9af9295516 Fix the initialization of AndroidSurfaceFactoryImpl (flutter/engine#21977)
Fixes https://github.com/flutter/flutter/issues/68446
2020-10-19 16:22:36 -07:00
puelo
8ca4f647dd Added keyEvent support for iOS 13.4+ (flutter/engine#20972) 2020-10-19 16:22:02 -07:00
Jason Simmons
4e7a837cfa Specify the Noto Naskh Arabic font to get consistent results in tests using Arabic characters (flutter/engine#21974)
See https://github.com/flutter/flutter/issues/68493
2020-10-19 13:51:39 -07:00