20087 Commits

Author SHA1 Message Date
Ferhat
79879802e0
[web] Fix image gap due to svg element without position attribute (#21939) 2020-10-19 22:15:06 -07:00
Ferhat
149ef70830
[web] Implement sweep gradient (#21873) 2020-10-19 22:14:42 -07:00
skia-flutter-autoroll
2dc43eee1e
Roll Fuchsia Mac SDK from MR_bRfe8I... to pZ9FgVZTK... (#21982) 2020-10-19 21:47:02 -07:00
Chinmay Garde
fa11ee6e2a
Fix native constructor of list of zircon handles and remove unused list factory specializations. (#21980) 2020-10-19 19:42:01 -07:00
Ferhat
0747f2f4b1
[web] Fix 3d transforms for html backend (#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
3edc16ca47
Roll Dart SDK from 5c59a47beda7 to 902538ea56d5 (2 revisions) (#21978) 2020-10-19 17:17:02 -07:00
skia-flutter-autoroll
ea2aea1c61
Roll Fuchsia Linux SDK from ZJHmp3INU... to dcMRY8S12... (#21976) 2020-10-19 16:37:02 -07:00
Jenn Magder
0c7c477245
Revert "[ios] Refactor IOSSurface factory and unify surface creation (#21877)" (#21970) 2020-10-19 16:32:03 -07:00
Chris Bracken
25d8fa5a79
Define SK_VULKAN for clang-tidy runs (#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
6fdcdd99cc
Forward font collection APIs to the SkParagraph font collection (#21734) 2020-10-19 16:27:03 -07:00
Chris Bracken
bcc557f1ba
Add multi-step input method support for Linux (#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
9946be45a9
FlTextInputPlugin: fix memory leaks (#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
895940081c
[null-safety] fix types of layer code (#21959) 2020-10-19 16:22:40 -07:00
Jason Simmons
a6857802b7
Fix the initialization of AndroidSurfaceFactoryImpl (#21977)
Fixes https://github.com/flutter/flutter/issues/68446
2020-10-19 16:22:36 -07:00
puelo
43b618e4bf
Added keyEvent support for iOS 13.4+ (#20972) 2020-10-19 16:22:02 -07:00
Jason Simmons
f854cbbfa5
Specify the Noto Naskh Arabic font to get consistent results in tests using Arabic characters (#21974)
See https://github.com/flutter/flutter/issues/68493
2020-10-19 13:51:39 -07:00
gaaclarke
d4ac8e6cb2
Temporarily disabled tests that were using latin and arabic characters (#21971)
while we fix them.
2020-10-19 11:51:34 -07:00
skia-flutter-autoroll
e66e3f5352
Roll Skia from be8004d2fb6c to 27f7fe32f49b (1 revision) (#21956) 2020-10-19 09:42:02 -07:00
skia-flutter-autoroll
f7da9d687d
Roll Fuchsia Mac SDK from 9mMCqUXkF... to MR_bRfe8I... (#21955) 2020-10-17 23:57:01 -07:00
Jason Simmons
499a70f5e2
Restore missing call to RuntimeDelegate.OnRootIsolateCreated (#21953)
Fixes https://github.com/flutter/flutter/issues/68411
2020-10-17 20:33:13 -07:00
skia-flutter-autoroll
e9a43c15b7
Roll Dart SDK from 675c7165c071 to 5c59a47beda7 (1 revision) (#21952) 2020-10-17 15:32:01 -07:00
Jonah Williams
1c35cc6416
[null-safety] fix type declaration of Picutre._toImage (#21942)
Fixes flutter/flutter#68377

Should be a nullable string. Looks like --null-assertions does not cover the native binding code.
2020-10-17 11:02:19 -07:00
skia-flutter-autoroll
56d3da33b2
Roll Fuchsia Mac SDK from XZSNobQCT... to 9mMCqUXkF... (#21950) 2020-10-17 10:52:01 -07:00
skia-flutter-autoroll
3ea02776e8
Roll Dart SDK from 42a0bf548ea3 to 675c7165c071 (1 revision) (#21948) 2020-10-17 04:17:01 -07:00
Ferhat
890f016207
[web] Implement ClipOp.difference (#21901) 2020-10-17 00:09:41 -07:00
skia-flutter-autoroll
815a1f3868
Roll Dart SDK from aaab579579be to 42a0bf548ea3 (1 revision) (#21946) 2020-10-16 23:47:01 -07:00
godofredoc
20d3a0764a
Collect logs in the background. (#21828)
* Collect logs in the background.

* Use fuchsia_ctl log_file option.

* Delete the correct file.

* Remove commented code.
2020-10-16 21:51:37 -07:00
skia-flutter-autoroll
fabcc2de21
Roll Fuchsia Mac SDK from _FaRRt69Z... to XZSNobQCT... (#21944) 2020-10-16 21:47:03 -07:00
Chinmay Garde
cac04c4cfa
Add FML_UNREACHABLE to declare points in code that should never be reached. (#21941)
A version of this macro is present in most code-bases. The use of this macro
must satisfy two requirements:

1: If reached, the process must be terminated in all runtime modes and at all
   optimization levels.
2: If the compiler requires a value to be returned from the function,
   encountering this macro should not make the compiler insist on a return value
  (since the process is about to die anyway).

We used to have a version of this macro that wasn't widely used and didn't
satisfy the two requirements. I have removed the same and another unused macro
in fml/logging.h

Fixes https://github.com/flutter/flutter/issues/68164.
2020-10-16 20:47:43 -07:00
skia-flutter-autoroll
2874fccbbb
Roll Dart SDK from b58cfe5ab24e to aaab579579be (1 revision) (#21938) 2020-10-16 19:17:01 -07:00
Jason Simmons
34832cb782
Roll the process_runner package used by the formatter script (#21937) 2020-10-16 18:39:25 -07:00
skia-flutter-autoroll
f6b8a50ab7
Roll Skia from f60a76e2ac01 to be8004d2fb6c (1 revision) (#21936) 2020-10-16 18:32:02 -07:00
Chris Bracken
2df836f6e2
Require that FLUTTER_NOLINT include issue link (#21922)
This adds enforcement to the linter that all FLUTTER_NOLINT comments be
of the form:

    // FLUTTER_NOLINT: https://github.com/flutter/flutter/issue/ID

Every linter opt-out should have an associated bug describing what issue
it works around so that others can work on eliminating it, or at least
understanding the rationale and whether it's still relevant.

This also reduces the likelihood of inadvertent copy-pasting into new
files either because the author fails to spot it when copying the
copyright block from another file, or assumes that it's necessary for
some subcomponent of the engine.

Bug: https://github.com/flutter/flutter/issues/68273
2020-10-16 17:46:42 -07:00
Chris Bracken
49c35b6177
Eliminate unnecessary linter opt-outs (#21935)
Eliminates FLUTTER_NOLINT where they can be landed without triggering
lint failures.
2020-10-16 17:24:23 -07:00
skia-flutter-autoroll
18357a8581
Roll Skia from f9c7b2803461 to f60a76e2ac01 (4 revisions) (#21929) 2020-10-16 16:22:01 -07:00
Harry Terkelsen
869d3c8c7a
Set strokeCap, strokeJoin, and strokeMiter when resurrecting Paint (#21926) 2020-10-16 16:08:46 -07:00
Chris Bracken
b8fd0013a8
Update FLUTTER_NOLINT uses to include issue link (#21921)
In an upcoming patch, we'll enable enforcement that all FLUTTER_NOLINT
comments include an issue link. This migrates the remaining uses to that
format.

Bug: https://github.com/flutter/flutter/issues/68273
2020-10-16 16:08:36 -07:00
George Wright
04bf8791fe
Add plumbing to grab dart entrypoint args on macOS (#21789) 2020-10-16 16:07:02 -07:00
Ren You
9b752790f4
Revert "[fuchsia] External view embedder will be shared with platform view (#21850)" (#21924)
This reverts commit 1bc025d6cbf1136c2e96c6fb041d24202ea47ff0.
2020-10-16 15:25:13 -07:00
Jason Simmons
787b9c5376
Break the reference cycle between the surface factory and the external view embedder (#21918)
See https://github.com/flutter/flutter/issues/68315
2020-10-16 15:03:26 -07:00
Chinmay Garde
5bd7260a1e
Enable loading snapshots with sound null safety enabled. (#21820)
Snapshots compiled with sound null-safety enabled require changes to the way in
which isolates are launched. Specifically, the `Dart_IsolateFlags::null_safety`
field needs to be known upfront. The value of this field can only be determined
once the kernel snapshot is available. This poses a problem in the engine
because the engine used to launch the isolate at shell initialization and only
need the kernel mappings later at isolate launch (when transitioning the root
isolate to the `DartIsolate::Phase::Running` phase). This patch delays launch of
the isolate on the UI task runner till a kernel mapping is available. The side
effects of this delay (callers no longer having access to the non-running
isolate handle) have been addressed in this patch. The DartIsolate API has also
been amended to hide the method that could return a non-running isolate to the
caller.  Instead, it has been replaced with a method that requires a valid
isolate configuration that returns a running root isolate. The isolate will be
launched by asking the isolate configuration for its null-safety
characteristics.

A side effect of enabling null-safety is that Dart APIs that work with legacy
types will now terminate the process if used with an isolate that has sound
null-safety enabled. These APIs may no longer be used in the engine. This
primarily affects the Dart Convertors in Tonic that convert certain C++ objects
into the Dart counterparts. All known Dart Converters have been updated to
convert C++ objects to non-nullable Dart types inferred using type traits of the
corresponding C++ object. The few spots in the engine that used the old Dart
APIs directly have been manually updated. To ensure that no usage of the legacy
APIs remain in the engine (as these would cause runtime process terminations),
the legacy APIs were prefixed with the `DART_LEGACY_API` macro and the macro
defined to `[[deprecated]]` in all engine translation units. While the engine
now primarily works with non-nullable Dart types, callers can still use
`Dart_TypeToNonNullableType` to acquire nullable types for use directly or with
Tonic. One use case that is not addressed with the Tonic Dart Convertors is the
creation of non-nullable lists of nullable types. This hasn’t come up so far in
the engine.

A minor related change is reworking tonic to define a single library target.
This allows the various tonic subsystems to depend on one another. Primarily,
this is used to make the Dart convertors use the logging utilities. This now
allows errors to be more descriptive as the presence of error handles is caught
(and logged) earlier.

Fixes https://github.com/flutter/flutter/issues/59879
2020-10-16 14:53:26 -07:00
skia-flutter-autoroll
977537b031
Roll Skia from 418eda2c599a to f9c7b2803461 (3 revisions) (#21923) 2020-10-16 14:52:02 -07:00
skia-flutter-autoroll
5121549806
Roll Dart SDK from e655b9a3839e to b58cfe5ab24e (1 revision) (#21920) 2020-10-16 14:02:02 -07:00
skia-flutter-autoroll
eba7a1c90d
Roll Dart SDK from e655b9a3839e to b58cfe5ab24e (1 revision) (#21919)
https://dart.googlesource.com/sdk.git/+log/e655b9a3839e..b58cfe5ab24e

2020-10-16 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.11.0-230.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,asiva@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-16 13:37:43 -07:00
skia-flutter-autoroll
d03b759d04
Roll Skia from 839fb228ac44 to 418eda2c599a (9 revisions) (#21917) 2020-10-16 13:32:02 -07:00
Chris Bracken
c449c8ee50
Eliminate FLUTTER_NOLINT where possible (#21904)
This removes most of the remaining FLUTTER_NOLINT comments and opts
these files back into linter enforcement.

I've filed https://github.com/flutter/flutter/issues/68273 to require
that all FLUTTER_NOLINT comments be followed by a GitHub issue URL
describing the problem to be fixed.
2020-10-16 12:44:49 -07:00
skia-flutter-autoroll
4f89ff7a9c
Roll Dart SDK from 80288ca68c49 to e655b9a3839e (1 revision) (#21915) 2020-10-16 11:32:01 -07:00
skia-flutter-autoroll
ed47fc92ee
Roll Skia from db0288d747ae to 839fb228ac44 (1 revision) (#21911) 2020-10-16 09:02:01 -07:00
Mehmet Fidanboylu
abdc8d3853
Forward Error objects to uncaught exception handler if there is one. (#21806) 2020-10-16 08:21:04 -07:00
skia-flutter-autoroll
15768e5af4
Roll Skia from f1b53836b705 to db0288d747ae (7 revisions) (#21910) 2020-10-16 07:42:02 -07:00