22215 Commits

Author SHA1 Message Date
Casey Hillers
e331048fc7 Revert "Remove GN staging flag for save layer bounds" (flutter/engine#42026)
Reverts flutter/engine#41940

See b/282115120

This caused a golden failure on Google Testing where a rectangular avatar became circular.
2023-05-14 17:01:17 +00:00
Jim Graham
820d1dbbde add non-rendering operation culling to DisplayListBuilder (flutter/engine#41463)
This optimization avoids recording unnecessary render operations that will not affect the output and also eliminates the need for "draw detection" mechanisms like `DlOpSpy` and `CanvasSpy` by remembering if any non-transparent operations were included. The `DlOpSpy` unit tests were updated to check if the results from that object match the new `DisplayList::affects_transparent_surface()` method.

Fixes https://github.com/flutter/flutter/issues/125338

In addition, this change will unblock some other Issues:

- https://github.com/flutter/flutter/issues/125318
- https://github.com/flutter/flutter/issues/125403
2023-05-14 02:14:33 +00:00
skia-flutter-autoroll
d6720aa1f3 Roll Fuchsia Linux SDK from bddx8p5907poNnZTq... to mAQy_vMru3cTWSoBl... (flutter/engine#42016)
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 aaclarke@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-13 15:10:13 +00:00
skia-flutter-autoroll
4c6d847954 Roll Skia from 872787e7595c to 1c00432c2a85 (1 revision) (flutter/engine#42013)
https://skia.googlesource.com/skia.git/+log/872787e7595c..1c00432c2a85

2023-05-13 sallyqi@google.com Fix the way of Alpha8 gainmap support in Skia.

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-13 06:57:15 +00:00
Bruno Leroux
80c4704ddf [macOS - TextInput] Insert new line only when TextInputAction.newline (flutter/engine#41977)
## Description

This PR updates the macOS text input plugin to avoid adding a new line on a multiline text field when action is not set to `TextInputAction.newline`.

## Related Issue

macOS implementation for https://github.com/flutter/flutter/issues/125879.
(similar to the Linux implementation in https://github.com/flutter/engine/pull/41895).

## Tests

Adds 2 tests.
2023-05-13 06:48:14 +00:00
skia-flutter-autoroll
d182d2be80 Roll Skia from cfdfc039b848 to 872787e7595c (1 revision) (flutter/engine#42010)
https://skia.googlesource.com/skia.git/+log/cfdfc039b848..872787e7595c

2023-05-13 michaelludwig@google.com [skif] Fix inset=0 case for new Magnifier

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-13 05:04:16 +00:00
skia-flutter-autoroll
8056ac6066 Roll Skia from 6a4e29cbd73b to cfdfc039b848 (2 revisions) (flutter/engine#42004)
https://skia.googlesource.com/skia.git/+log/6a4e29cbd73b..cfdfc039b848

2023-05-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0d737f701865 to 3a356ab97987 (1 revision)
2023-05-12 johnstiles@google.com Add null guard to intrinsic evaluation of normalize().

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-13 03:10:26 +00:00
skia-flutter-autoroll
638a24666a Roll Skia from 64bdd87fadfe to 6a4e29cbd73b (2 revisions) (flutter/engine#41999)
https://skia.googlesource.com/skia.git/+log/64bdd87fadfe..6a4e29cbd73b

2023-05-12 johnstiles@google.com Allow convertArraySize to take an integer size.
2023-05-12 lokokung@google.com Updates webgpu C++ Release call to use MoveToCHandle.

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-12 23:48:18 +00:00
Jason Simmons
d3132f8e6a [Impeller] Remove a debug log from the Vulkan render pass (flutter/engine#41987) 2023-05-12 16:42:03 -07:00
Brandon DeRosier
54d5c489c2 [Impeller] Ignore the Z basis when scaling text (flutter/engine#41995)
Fixes https://github.com/flutter/flutter/issues/126510.

`GetMaxBasisLength()` includes the Z basis vector, which happens to not
be getting scaled down along with the X and Y for this reproduction
case. And so given the 2D nature of text and the intent of this scale
parameter, it's returning a value that's too large here.
2023-05-12 15:28:19 -07:00
skia-flutter-autoroll
b46ff342f3 Roll Skia from 539fb10d7cfb to 64bdd87fadfe (18 revisions) (flutter/engine#41993)
https://skia.googlesource.com/skia.git/+log/539fb10d7cfb..64bdd87fadfe

2023-05-12 johnstiles@google.com Remove unused methods from DSLFunction.
2023-05-12 michaelludwig@google.com [skif] Re-arrange static functions in SkImageFilterTypes.cpp
2023-05-12 robertphillips@google.com Add default for Mock backend types' 'isProtected' parameters
2023-05-12 kjlubick@google.com Manually Roll Dawn from 776a762c9a4d to 6d50a49da6d0 (19 revisions)
2023-05-12 johnstiles@google.com Enable OutParamsFunctionCallInArgument test on GPU.
2023-05-12 kjlubick@google.com Decouple SkImage and Graphite backend
2023-05-12 jamesgk@google.com [graphite] Account for primitive blending depending on dst
2023-05-12 jamesgk@google.com [graphite] Incorporate coverage into blending
2023-05-12 jvanverth@google.com [graphite] Set up snippetID and data for YUV shader
2023-05-12 brianosman@google.com Disallow SkSL in glyph drawables
2023-05-12 johnstiles@google.com Update SkSLTest to use SkEnumBitMask.
2023-05-12 brianosman@google.com Remove some unused SkPicture code
2023-05-12 kjlubick@google.com Make IWYU build skip linking
2023-05-12 robertphillips@google.com Adjust Mock backend's Protected implementation
2023-05-12 johnstiles@google.com Remove SkVM from the SkSL test matrix.
2023-05-12 johnstiles@google.com Remove DSLField type.
2023-05-12 johnstiles@google.com Rename SkSL::Type::Field and SkSL::Field.
2023-05-12 michaelludwig@google.com Handle zero-scale factors in InverseMapRect

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-12 21:56:02 +00:00
Mouad Debbar
7b3b362623 [web] Cleaner output on LUCI (flutter/engine#41989)
Using ansi colors in LUCI results in output that looks like:
```
00:00 +0: loading flutter_tester_emulation_golden_test.dart                                                                                                                                            
00:01 +0: loading flutter_tester_emulation_golden_test.dart                                                                                                                                            
00:02 +0: loading flutter_tester_emulation_golden_test.dart
```

This PR disables colors on LUCI so that we get clean output that's easily scannable and searchable.
2023-05-12 21:50:22 +00:00
Bruno Leroux
fea415faa0 [Web+Linux] Fix pressing Meta keys throws (flutter/engine#41694)
## Description

This PR fixes Meta keys throwing exception on Chrome Linux.

The assertions throws because the DOM event sent when Meta keys is pressed is not coherent when Meta is the only pressed key.

## Related Issue

Fixes https://github.com/flutter/flutter/issues/125672

## Tests

Adds 1 test.
2023-05-12 21:46:17 +00:00
gaaclarke
015608f15e [Impeller] starts running vulkan golden image tests with swiftshader (flutter/engine#41958)
fixes https://github.com/flutter/flutter/issues/126022

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-12 20:34:55 +00:00
Mouad Debbar
e87d7155d2 [web] Fix crash on old versions of Chrome (Intl.Segmenter missing) (flutter/engine#41986)
`Chrome < v87` have the `v8BreakIterator` API but don't have `Intl.Segmenter`. This caused crashes for some apps (see b/281377168).

This PR enhances our feature detection to take into account this API mismatch.
2023-05-12 19:59:30 +00:00
godofredoc
bb93b87e6a Move clang tidy v2 build to prod. (flutter/engine#41985)
The mac clang tidy build has been running successfully on staging for several days. This is also moving the ios and host legacy clang tidy builds to staging.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-12 18:13:25 +00:00
godofredoc
e22a07ec64 Reland "Move linux_license to engine v2."" (flutter/engine#41983)
Relands https://github.com/flutter/engine/pull/41863
2023-05-12 17:57:52 +00:00
skia-flutter-autoroll
ec9efaf5f5 Roll Skia from 0b929ada9cc6 to 539fb10d7cfb (2 revisions) (flutter/engine#41979)
https://skia.googlesource.com/skia.git/+log/0b929ada9cc6..539fb10d7cfb

2023-05-12 kjlubick@google.com Move SkSurface::MakeNull to SkSurfaces::Null
2023-05-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 729c65ec74f6 to 0d737f701865 (1 revision)

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-12 14:03:12 +00:00
skia-flutter-autoroll
141e7f3731 Roll Fuchsia Linux SDK from lf8VcONMWlne4oa3H... to HMLNsG7w9sTDpW2Ge... (flutter/engine#41973)
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 aaclarke@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-12 10:02:16 +00:00
Dan Field
29c5e7808b [Impeller] [Android] Refactor the Android context/surface implementation to work more like Skia. (flutter/engine#41059)
Noticed this while working on  https://github.com/flutter/flutter/issues/124181

In Impeller right now, Android creates a context for each surface - but in Skia, Android creates one context and shares it across surfaces. For the multiple-engine scenario this matters. This also makes it possible for Android to provide the impeller::Context independently of surface creation.
2023-05-12 07:10:05 +00:00
skia-flutter-autoroll
dcc6e318f8 Roll Skia from ccec5093ca38 to 208a07f71701 (1 revision) (flutter/engine#41970)
https://skia.googlesource.com/skia.git/+log/ccec5093ca38..208a07f71701

2023-05-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from 5a8b571f3a48 to 0d899fb75655 (6 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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-12 07:00:22 +00:00
Jonah Williams
e8cf388701 [Impeller] Dont synthesize fake index buffer if none was provided to VBB (flutter/engine#41969)
Followup from https://github.com/flutter/flutter/issues/126572
2023-05-12 05:58:04 +00:00
Dan Field
d1c3dac55d [Impeller] Make index buffer optional (flutter/engine#41962)
Makes the index buffer optional. For calls that were just filling the index buffer with e.g. `std::iota`, it was wasteful. @jonahwilliams has also found cases where the index buffer will run out of room for drawPoints with lots of points.

Fixes https://github.com/flutter/flutter/issues/126572
2023-05-12 05:12:22 +00:00
Bruno Leroux
8a9edf40aa [Linux - TextInput] Do not add new line for send action (flutter/engine#41895)
Respects input action.
2023-05-11 16:32:43 -07:00
skia-flutter-autoroll
878e2b2c28 Roll Skia from aed81125e6bc to ccec5093ca38 (10 revisions) (flutter/engine#41963)
https://skia.googlesource.com/skia.git/+log/aed81125e6bc..ccec5093ca38

2023-05-11 johnstiles@google.com Restructure Extension processing.
2023-05-11 johnstiles@google.com Simplify DSLVar classes.
2023-05-11 michaelludwig@google.com [skif] Don't assume SkSpecialImage::asShader() is non-null
2023-05-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0b71657bab97 to 729c65ec74f6 (5 revisions)
2023-05-11 michaelludwig@google.com [skif] Only consider CF's transparency not whole IF subtree
2023-05-11 jmbetancourt@google.com set SlotType to use enum
2023-05-11 jmbetancourt@google.com [skottie] set up ImageAssetProxy to support slottable assets
2023-05-11 jmbetancourt@google.com [skottie] apply changes live to slottable properties
2023-05-11 jmbetancourt@google.com [skottie] automatically populate slotManager with slots
2023-05-11 johnstiles@google.com Remove more unused portions of DSLCore.

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-11 23:26:36 +00:00
Callum Moffat
1b72600567 iPhone floating cursor selection (flutter/engine#36643)
Floating cursor selection hasn't worked as we haven't been returning a real value for `caretRectForPosition:`. If we have the selection rectangles, we can do so. 

Fixes [#30476](https://github.com/flutter/flutter/issues/30476)

Requires selection rects to be turned on for iPhone (https://github.com/flutter/flutter/pull/113048)

writing and running engine tests.
2023-05-11 22:19:01 +00:00
Victoria Ashworth
b68df6cc8a Update README.md (flutter/engine#41953)
Fix formatting

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-11 21:09:14 +00:00
Kevin Lubick
0c3dbe50e1 Use moved SkImage procs (flutter/engine#41947)
Use relocated SkImages context typedefs

In http://review.skia.org/661059, we moved many SkImage related methods, including these typedefs. This updates Flutter to use the moved types.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-11 20:16:54 +00:00
lauren n. liberda
998f826cb9 allow supplying custom gn args in gn wrapper (flutter/engine#41794)
allows to supply gn args that do not have their cli switches (yet), like this:
```sh
python3 ./tools/gn --gn-args 'use_default_linux_sysroot=false'
```

*List which issues are fixed by this PR. You must list at least one issue.*
https://github.com/flutter/flutter/issues/126197

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-11 20:13:50 +00:00
Samuel
3b10a111f4 fix: platform_dispatcher documentation typo (flutter/engine#41739)
fixes [https://github.com/flutter/flutter/issues/126082](https://github.com/flutter/flutter/issues/126082) 

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-11 20:13:47 +00:00
Michael Ludwig
c80779a479 Remove GN staging flag for save layer bounds (flutter/engine#41940)
See skbug.com/12083, skbug.com/12303.

SkCanvas::saveLayer() calls with an SkColorFilter that affects transparent black will now fill out to the bounds of the clip before the layer, which prevents leaking internal layer allocation decisions in the final rendering.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-11 19:51:48 +00:00
Jim Graham
5117fc0945 switch MockTexture off of MockCanvas calls (flutter/engine#41906)
Part of an ongoing set of efforts to address https://github.com/flutter/flutter/issues/106448

MockTexture now executes a call on the supplied DlCanvas object rather than creating its own list of MockCanvas-style draw calls. The TextureLayer tests now no longer use MockCanvas.
2023-05-11 18:37:15 +00:00
Greg Spencer
96db8b56f6 [Android] Lifecycle defaults to focused instead of unfocused (flutter/engine#41875)
## Description

In https://github.com/flutter/engine/pull/41702, the default state of the focus bit is "false", assuming that Android will send an `onWindowFocusChanged(true)` when the window is first focused, but there appear to be some cases where that doesn't happen.

This change puts the initial state back to what it used to be: in the absence of focus change events, entering the "onResume" Android state will report the `resumed` state in Flutter. Before this PR, and after https://github.com/flutter/engine/pull/41702, if no focus events were received, it would default to `inactive`.

## Tests
 - Updated tests to match.
2023-05-11 18:08:04 +00:00
skia-flutter-autoroll
6ebd217f9c Roll Skia from ccf73af6ca91 to aed81125e6bc (9 revisions) (flutter/engine#41946)
https://skia.googlesource.com/skia.git/+log/ccf73af6ca91..aed81125e6bc

2023-05-11 johnstiles@google.com Remove DSL type constants.
2023-05-11 jamesgk@google.com [sksl] Support dual-src blending in Metal
2023-05-11 jvanverth@google.com [Direct3D] Check for valid ID3D12PipelineState allocation.
2023-05-11 johnstiles@google.com Remove DSLExpression::field and DSLVar::field.
2023-05-11 johnstiles@google.com Remove operator overloads from DSLExpression.
2023-05-11 brianosman@google.com Change SkDrawable::newPictureSnapshot to makePictureSnapshot
2023-05-11 armansito@google.com [vello_cpp] Conditional compilation of shader and encoding features
2023-05-11 johnstiles@google.com Remove unused methods from DSLVar.
2023-05-11 johnstiles@google.com Remove DSL swizzle support.

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-11 17:57:48 +00:00
godofredoc
93572e708a Clobber caches in licenses test. (flutter/engine#41942)
This is to avoid files left in cache by other builds to interfere with the license check process.

Bug: https://github.com/flutter/flutter/issues/126475

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-11 16:48:37 +00:00
William Hesse
cb63c1f350 Add pkg:protobuf as a dependency for testing/dart (flutter/engine#41938)
Package vm_service added dependencies on protobuf and fixnum. Adding these, and transitive dependency on collections, to the path overrides in the testing/dart package's pubspec.yaml.

This is needed to roll https://github.com/dart-lang/sdk/commit/6c3c34560e6fdac211e362078557fdda254baf
2023-05-11 12:46:20 +00:00
skia-flutter-autoroll
81b645805d Roll Skia from a12a999cbd09 to 0c979da775be (1 revision) (flutter/engine#41935)
https://skia.googlesource.com/skia.git/+log/a12a999cbd09..0c979da775be

2023-05-11 armansito@google.com [graphite][compute] Introduce VelloRenderer

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-11 09:45:14 +00:00
skia-flutter-autoroll
866314e22c Roll Skia from 1a29bd9a0147 to 9cbc2c578e10 (10 revisions) (flutter/engine#41932)
https://skia.googlesource.com/skia.git/+log/1a29bd9a0147..9cbc2c578e10

2023-05-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 569699725145 to 776a762c9a4d (47 revisions)
2023-05-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia Infra from c4d18f21ffde to 5a8b571f3a48 (12 revisions)
2023-05-11 johnstiles@google.com Remove last vestiges of DSL from SPIR-V code generator.
2023-05-11 johnstiles@google.com Remove DSL-based constructor expressions.
2023-05-11 johnstiles@google.com Apply RTFlip to the sk_FragCoord without using DSL.
2023-05-11 armansito@google.com [graphite][compute] Add ComputeStep definitions for Vello stages
2023-05-10 johnstiles@google.com Avoid DSL usage when emitting `DFdy`.
2023-05-10 johnstiles@google.com Rename assemble_compound to ConstructorCompound::MakeFromConstants.
2023-05-10 jvanverth@google.com Remove outdated comment.
2023-05-10 herb@google.com Expose the GPU side drawable

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-11 07:01:05 +00:00
Jackson Gardner
d03ba5aacb Return fonts in a deterministic order. (flutter/engine#41907)
We need to make sure to return fonts in the order we passed them in, so that unit tests don't flake if they load in a different order.
2023-05-11 05:13:03 +00:00
Srujan Gaddam
df4bd5d036 Turn @staticInterop tear-off into closure (flutter/engine#41885)
@staticInterop members will start disallowing tear-offs, so this member should turn into a closure.

The static check wasn't added in time, so this is modifying the source code again.

ee3ce32c7c was the original change, but the static error didn't make it into the Dart SDK, so this is fixing another tear-off.

- [] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt. See [testing the engine] for instructions on writing and running engine tests.
2023-05-11 00:18:14 +00:00
Mouad Debbar
9fce37c015 [web] Expose PlatformLocation and HashUrlStrategy through ui_web (flutter/engine#41163)
1. Expose `PlatformLocation` and its subclass `BrowserPlatformLocation` through the new `ui_web`.
2. Expose `HashUrlStrategy` too. It's useful for users who want to extend and customize it instead of building their own from scratch.
3. `ui_web/url_strategy.dart` => `ui_web/navigation/url_strategy.dart`.
2023-05-10 23:57:46 +00:00
Chris Bracken
de7c02c2cb [macos] Disable background colour tests (flutter/engine#41904)
These tests are flaky. Until they've been deflaked, disable the
following two tests:
* FlutterEngineTest.BackgroundIsBlack
* FlutterEngineTest.CanOverrideBackgroundColor

Issue: https://github.com/flutter/flutter/issues/124677
2023-05-10 16:03:58 -07:00
Yegor
bdfce08b64 [web] generalize focusability in semantics (flutter/engine#41831)
Introduce 2 new classes for a11y focus management:

* `AccessibilityFocusManager`: a generic class that attaches "focus" and "blur" event handlers, and forwards the events to the framework as `SemanticsAction.didGainAccessibilityFocus` and `SemanticsAction.didLoseAccessibilityFocus` respectively. Provides the `changeFocus` method for the framework to move a11y focus to the target element.
* `Focusable`: a role manager that provides generic focus management functionality to `SemanticsObject`s that don't need anything special.

Rewrites focus management using the above two classes as follows:

* All focusable nodes except text fields and incrementables get the `Focusable` role (all custom focus stuff in `Tappable` was removed and delegated to `Focusable`).
* `Incrementable` uses a custom `<input>` internally and so it cannot use the `Focusable` role. Instead, it uses `AccessibilityFocusManager` to manage the focus on the `<input>` element.

Behavioral changes:

* Fixes https://github.com/flutter/flutter/issues/118737, but more generally fixes all nodes that use the `isFocusable` and `hasFocus` bits.
* `Tappable` only partially implemented focusability (e.g. it didn't generate the respective `SemanticsAction` events). Now by delegating to `Focusable`, it will inherit all the functionality.
* `Incrementable` and `Checkable` (checkboxes, radios, switches) get focus management features for the first time.
* Elements that are not inherently focusable (text, images) can now be focused if semantics requires them to be.
* `TextField` is left alone for now as focus and on-screen keyboard interact with each other in non-obvious ways.
2023-05-10 22:40:20 +00:00
skia-flutter-autoroll
9a60f2897e Roll Skia from 32f4cfc2460b to 1a29bd9a0147 (12 revisions) (flutter/engine#41905)
https://skia.googlesource.com/skia.git/+log/32f4cfc2460b..1a29bd9a0147

2023-05-10 johnstiles@google.com Squelch UBSAN divide-by-zero error.
2023-05-10 jamesgk@google.com [sksl] Rename Program::Inputs to Program::Interface
2023-05-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d36b7c91621a to 28971a855c5f (9 revisions)
2023-05-10 nicolettep@google.com [graphite] Add VulkanDescriptorPool Class
2023-05-10 armansito@google.com [graphite][compute] Initial ComputeTask handling in Device/DrawContext
2023-05-10 drott@chromium.org Roll Fontations dependencies
2023-05-10 johnstiles@google.com Reclaim heap space from mangled-names in Variables.
2023-05-10 johnstiles@google.com Add null guards to intrinsic constant evaluation.
2023-05-10 kjlubick@google.com Move SkSurface factories to SkSurfaces namespace
2023-05-10 johnstiles@google.com Move modifiers-declaration support out of DSLCore.
2023-05-10 jamesgk@google.com Split off BlendFormula to be shared with Graphite
2023-05-10 drott@chromium.org Fix fontations build after 2c322383044e4

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 aaclarke@google.com,brianosman@google.com,djsollen@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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/main/autoroll/README.md
2023-05-10 22:01:13 +00:00
godofredoc
be453d455f Revert "Move linux_license to engine v2." (flutter/engine#41903)
Reverts flutter/engine#41863
2023-05-10 20:52:33 +00:00
hellohuanlin
80c0f9d47f [backdrop_filter]Avoid relying on internal class details (flutter/engine#41873)
The original code creates an internal `class` which is alarming: 

`NSClassFromString(@"_UIVisualEffectBackdropView")`

This PR removes such usage. 

*List which issues are fixed by this PR. You must list at least one issue.*

Fixes https://github.com/flutter/flutter/issues/124008

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-10 20:31:11 +00:00
Mouad Debbar
fdb4e5468d [web] Re-enable history tests on Safari (flutter/engine#41901)
Fixes https://github.com/flutter/flutter/issues/51169
2023-05-10 19:58:05 +00:00
Jim Graham
7fea2b0933 switch from MockCanvas to DisplayListBuilder in layer unit tests (flutter/engine#41889)
Part of an ongoing set of efforts to address https://github.com/flutter/flutter/issues/106448

The layer unittests have been using a MockCanvas class to record the painting of trees of layers and then testing for the expected output.

A while back a similar mechanism was created to compare DisplayList output and to print out a human-friendly version of the differences found, but it was only used in a few tests written at the time it was created and a few since then.

This is the first in a series of PRs that will move all the rest of the unit tests onto the new DL comparison mechanism, starting with the layer types that just do basic drawing. Some of the remaining layers will require creating new hooks in, for instance, the Texture registry, the performance overlay TextBlob generation, etc.
2023-05-10 19:00:18 +00:00
Zachary Anderson
b676910c42 Revert "Move linux fuchsia engine v2 build to prod." (flutter/engine#41902)
Reverts flutter/engine#41865

Failing a framework test on presubmit:
https://github.com/flutter/flutter/pull/126452
2023-05-10 11:46:52 -07:00
godofredoc
adf99b66bf Migrate mac host clang tidy to engine v2. (flutter/engine#41824)
This removes the additional gn command from the ci/lint tool and uses a single gn command.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-10 17:31:31 +00:00