21294 Commits

Author SHA1 Message Date
skia-flutter-autoroll
23bef4dc9b Roll Skia from 7d4e12544e2d to 6a1055677534 (3 revisions) (flutter/engine#31878) 2022-03-07 09:46:04 -08:00
skia-flutter-autoroll
cceb2c5f2b Roll Skia from c8cb357b532f to 7d4e12544e2d (3 revisions) (flutter/engine#31876) 2022-03-07 08:26:12 -08:00
skia-flutter-autoroll
06762e606d Roll Skia from 8e6f4d08ce6a to c8cb357b532f (1 revision) (flutter/engine#31874) 2022-03-07 07:01:06 -08:00
skia-flutter-autoroll
8f07961435 Roll Fuchsia Linux SDK from p4GalDfuj... to yTaNdjzJe... (flutter/engine#31870) 2022-03-07 02:01:06 -08:00
skia-flutter-autoroll
6ddb62d869 Roll Fuchsia Mac SDK from IHhPR4wYb... to TuoiNkJMk... (flutter/engine#31869) 2022-03-07 01:36:06 -08:00
skia-flutter-autoroll
d7bd39541a Roll Skia from 0152ee9981e7 to 8e6f4d08ce6a (2 revisions) (flutter/engine#31868) 2022-03-06 23:26:05 -08:00
skia-flutter-autoroll
d603d7bc0c Roll Skia from f029354f16cf to 0152ee9981e7 (1 revision) (flutter/engine#31867) 2022-03-06 22:06:08 -08:00
skia-flutter-autoroll
b4ac2ab967 Roll Dart SDK from 5422228147cd to 4fbe27c0f148 (1 revision) (flutter/engine#31866) 2022-03-06 21:46:06 -08:00
skia-flutter-autoroll
2312dc849d Roll Dart SDK from 6171198cb639 to 5422228147cd (1 revision) (flutter/engine#31864) 2022-03-06 13:06:08 -08:00
skia-flutter-autoroll
9e16babe92 Roll Fuchsia Linux SDK from lKN__45iV... to p4GalDfuj... (flutter/engine#31863) 2022-03-06 12:36:07 -08:00
Chris Bracken
4f4fcb224e [macos] Register log handler (flutter/engine#31861)
Previously, the macOS embedder relied on the deprecated built-in log
handling in lib/ui/ui_dart_state.cc. Instead, we now register a
dedicated log handler for the macOS embedder. This is used, for example,
to output Dart 'print' calls.

While unlikely that we'll break the internal generic fallback logging,
it's preferable to keep platform-specific functionality in the embedder.

Issue: https://github.com/flutter/flutter/issues/99636
2022-03-06 12:31:29 -08:00
skia-flutter-autoroll
3484dc171b Roll Fuchsia Mac SDK from G06EX5e0x... to IHhPR4wYb... (flutter/engine#31862) 2022-03-06 12:06:10 -08:00
skia-flutter-autoroll
276971f7dc Roll Dart SDK from 80d41d76c87c to 6171198cb639 (1 revision) (flutter/engine#31860) 2022-03-06 05:01:09 -08:00
skia-flutter-autoroll
139b01d292 Roll Skia from d7bcfecfaf82 to f029354f16cf (1 revision) (flutter/engine#31858) 2022-03-06 01:21:09 -08:00
skia-flutter-autoroll
0a21c6e804 Roll Skia from cf67cbeb2fb1 to d7bcfecfaf82 (1 revision) (flutter/engine#31857) 2022-03-05 23:31:01 -08:00
skia-flutter-autoroll
2b03db058d Roll Fuchsia Linux SDK from CIoEAnQLF... to lKN__45iV... (flutter/engine#31856) 2022-03-05 23:16:04 -08:00
skia-flutter-autoroll
5d791d63de Roll Fuchsia Mac SDK from YiE1Vkwcn... to G06EX5e0x... (flutter/engine#31855) 2022-03-05 23:01:09 -08:00
skia-flutter-autoroll
77bd214b1f Roll Dart SDK from f175a7cf984c to 80d41d76c87c (1 revision) (flutter/engine#31854) 2022-03-05 14:01:09 -08:00
skia-flutter-autoroll
78e0859708 Roll Dart SDK from 38c809abde23 to f175a7cf984c (1 revision) (flutter/engine#31851)
https://dart.googlesource.com/sdk.git/+log/38c809abde23..f175a7cf984c

2022-03-05 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-178.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 file a bug in Flutter Engine: 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
2022-03-05 09:54:21 -08:00
skia-flutter-autoroll
70ebe4068d Roll Fuchsia Mac SDK from AtocdkOD4... to YiE1Vkwcn... (flutter/engine#31852)
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 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
2022-03-05 09:54:02 -08:00
skia-flutter-autoroll
3811268674 Roll Fuchsia Linux SDK from an6xkzyWJ... to CIoEAnQLF... (flutter/engine#31850)
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 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
2022-03-05 09:53:38 -08:00
skia-flutter-autoroll
f92578453e Roll Dart SDK from 9030f94e7d66 to 38c809abde23 (1 revision) (flutter/engine#31847) 2022-03-04 20:51:09 -08:00
skia-flutter-autoroll
86d2378e5e Roll Dart SDK from 1a3682169d68 to 9030f94e7d66 (7 revisions) (flutter/engine#31846) 2022-03-04 16:41:09 -08:00
skia-flutter-autoroll
de81387e98 Roll Skia from 0817ce7c5bce to cf67cbeb2fb1 (1 revision) (flutter/engine#31845) 2022-03-04 16:21:11 -08:00
skia-flutter-autoroll
ff958284c2 Roll Skia from 1a01d5a1f13a to 0817ce7c5bce (4 revisions) (flutter/engine#31843) 2022-03-04 15:01:02 -08:00
Justin McCandless
b7f187c7d2 TextEditingDelta Windows (flutter/engine#30329)
Support for TextEditingDeltas (useful for rich text editors) on Windows.
2022-03-04 13:31:06 -08:00
skia-flutter-autoroll
3a642f6414 Roll Skia from 11206c3faf1b to 1a01d5a1f13a (6 revisions) (flutter/engine#31839) 2022-03-04 13:16:05 -08:00
skia-flutter-autoroll
38e53f7093 Roll Fuchsia Mac SDK from pWucjLN69... to AtocdkOD4... (flutter/engine#31838) 2022-03-04 13:01:05 -08:00
skia-flutter-autoroll
2325e82503 Roll Skia from a27ddd91675b to 11206c3faf1b (1 revision) (flutter/engine#31836) 2022-03-04 11:56:10 -08:00
Zachary Anderson
53e8808dcb Add include to header for coming libc++ updates (flutter/engine#31835) 2022-03-04 11:41:03 -08:00
Chris Bracken
8335c02fd1 [Linux] Fix CJK input (flutter/engine#31813)
Fixes an issue with CJK IMEs wherein a text input state update may be
sent to the framework that misleads the framework into assuming that IME
composing has ended.

As an example, when inputting Korean text, characters are built up keystroke by
keystroke until the point that either:

* the user presses space/enter to terminate composing and commit the
  character, or;
* the user presses a key such that the character currently being
  composed cannot be modified further, and the IME determines that the
  user has begun composing the next character.

The following is an example sequence of events for the latter case:

1. User presses ㅂ. Begin compose event followed by change event
   received with ㅂ. Embedder sends state update to framework.
2. User presses ㅏ. im_preedit_changed_cb with 바. Embedder sends state
   update to framework.
3. User presses ㄴ. im_preedit_changed_cb with 반.  Embedder sends state
   update to framework.
4. User presses ㅏ. At this point, the current character being composed
   (반) cannot be modified in a meaningful way, and the IME determines
   that the user is typing 바 followed by 나. im_commit_cb received with
   바, immediately followed by im_preedit_changed event with 나.

In step 4, we previously sent two events to the framework, one
immediately after the other:

* im_commit_cb triggers the text input model to commit the current
  composing region to the string under edit. This causes the composing
  region to collapse to an empty range.
* im_preedit_change_cb triggers the text input model to insert the new
  composing character and set the composing region to that character.

Conceptually, this is an atomic operation. The fourth keystroke causes
the 반 character to be broken into two (바 and ㄴ) and the latter to be
modified to 나. From the user's point of view, as well as from the IME's
point of view, the user has NOT stopped composing, and the composing
region has simply moved on to the next character.

Flutter has no concept of whether the user is composing or not other
that whether a non-empty composing region exists. As such, sending a
state update after the commit event misleads the framework into
believing that composing has ended. This triggers a serious bug:

Text fields with input formatters applied do not perform input
formatting updates while composing is active; instead they wait until
composing has ended to apply any formatting. The previous behaviour
would thus trigger input formatters to be applied each time the user
input caused a new character to be input. This has the add-on negative
effect that once formatting has been applied, it sends an update back to
the embedder so that the native OS text input state can be updated.
However, since the commit event is immediately followed by a
preedit change, the state has changed in the meantime, and the embedder
is left processing an update (the intermediate state sent after the
commit) which is now out of date (i.e. missing the new state from the
change event).

The source of this bug is as follows:
* Commit event for a character/compose region is sent from the engine.
  The engine TextInputModel still models its `composing` field as true.
  An update is sent to the framework with the committed text and an
  empty composing range such as (1, 1). Note that the engine previously
  only sends a range of (-1, -1) when composing has ended, NOT just when
  it has an empty composing region.
* Framework receives commit event and updates the text to match. The
  framework does not model the system composing state; instead its
  understanding of whether the user is composing or not is entirely
  predicated on whether the composing region is empty or not. If it is,
  it triggers input formatters, which in this case have no effect on the
  text/selection. However, the framework consistently models empty
  compose regions as (-1, -1) and resets the text editing value as such.
  Because the framework triggered a change to the TextEditingValue, it
  dutifully sends the update back to the engine.
* In the meantime, in parallel with the above step, the engine starts
  processing the change event immediately following the commit, and
  updates the text and composing region with the next character. This
  change is promptly stomped on by the incoming framework update.

To avoid this, we have the engine consistently send empty compose
regions as (-1, -1) to the framework. After the input formatter is
applied on commit, the compose region is still (-1, -1) and there are
therefore no diffs, and the framework will not send an update back to
the engine and stomp on any new state on the engine side.

Longer-term, we really should add some form of versioning information to
the text edit protocol so as to detect and resolve conflicts rather than
relying entirely on not creating races in the first place.

This bug was revealed by flutter/flutter#90211
which applies an input formatter to single-line text fields in order to
suppress newlines.

Issue: flutter/flutter#97174
2022-03-04 11:39:26 -08:00
skia-flutter-autoroll
de90062f6a Roll Fuchsia Linux SDK from VugIP5E35... to an6xkzyWJ... (flutter/engine#31834) 2022-03-04 11:11:02 -08:00
godofredoc
97e4aaef77 Fix archive names for windows_host_engine. (flutter/engine#31832) 2022-03-04 10:36:05 -08:00
skia-flutter-autoroll
45bb03f4bd Roll Skia from 4d428f375c5a to a27ddd91675b (2 revisions) (flutter/engine#31833) 2022-03-04 10:21:11 -08:00
skia-flutter-autoroll
cb0fcc5a51 Roll Skia from 87496d3cc94c to 4d428f375c5a (1 revision) (flutter/engine#31829) 2022-03-04 08:46:05 -08:00
skia-flutter-autoroll
d3f373a587 Roll Skia from 6bb185bf5496 to 87496d3cc94c (1 revision) (flutter/engine#31827) 2022-03-04 07:26:07 -08:00
Daco Harkes
4c2fccfc57 Add VM Finalizer patch files (flutter/engine#31825) 2022-03-04 13:47:56 +01:00
skia-flutter-autoroll
0b53ebc441 Roll Fuchsia Mac SDK from F_kIcfT52... to pWucjLN69... (flutter/engine#31820) 2022-03-03 23:46:12 -08:00
godofredoc
7009452d86 Adding archives to the windows host engine. (flutter/engine#31821) 2022-03-03 23:26:09 -08:00
skia-flutter-autoroll
6cf96b3919 Roll Skia from 6ff07e0b0296 to 6bb185bf5496 (3 revisions) (flutter/engine#31822) 2022-03-03 22:51:06 -08:00
chunhtai
3037b0b6a5 iOS removes children references when semantics node is replaced (flutter/engine#31810) 2022-03-03 22:01:07 -08:00
skia-flutter-autoroll
ee5131f5d7 Roll Fuchsia Linux SDK from bMiP04o2C... to VugIP5E35... (flutter/engine#31809) 2022-03-03 21:46:10 -08:00
skia-flutter-autoroll
a13215d2d3 Roll Skia from b2ba7ee49704 to 6ff07e0b0296 (7 revisions) (flutter/engine#31819) 2022-03-03 21:31:16 -08:00
Tong Mu
2ed741ac83 [macOS, Keyboard] Duplicate down events are no longer ignored, but kept and preceded by up events (flutter/engine#31800) 2022-03-03 21:31:12 -08:00
Jonah Williams
643b1cd598 Add support for setting thread priority in embedder.h and update windows embedding to do so (flutter/engine#31778) 2022-03-03 21:21:03 -08:00
godofredoc
b046d20d3d Fix archive name in linux_host_engine. (flutter/engine#31808)
The archive name for linux embedder was changed to end with .zip.

Bug: https://github.com/flutter/flutter/issues/81855
2022-03-03 20:29:32 -08:00
godofredoc
b2755566f6 Clobber Linux_unopt checkouts by default. (flutter/engine#31817)
This is to prevent licenses checks to fail when files from previous
changes are left in the cache.

Bug: https://github.com/flutter/flutter/issues/99526
2022-03-03 19:20:11 -08:00
skia-flutter-autoroll
9247df6f05 Roll Skia from be46542a7f0b to b2ba7ee49704 (3 revisions) (flutter/engine#31807) 2022-03-03 13:46:11 -08:00
skia-flutter-autoroll
de9d4c748f Roll Dart SDK from a7348f3f911e to 1a3682169d68 (1 revision) (flutter/engine#31806) 2022-03-03 13:36:11 -08:00
Niklas Schulze
caf008b9f6 Windows: Fix plugin destruction (flutter/engine#30760) 2022-03-03 13:16:11 -08:00