5701 Commits

Author SHA1 Message Date
skia-flutter-autoroll
aeae87b4c4
Roll Dart SDK from 38c2cddbe277 to 15dfe858c4a6 (1 revision) (#23959) 2021-01-26 08:39:02 -08:00
skia-flutter-autoroll
3aa5360652
Roll Skia from 98c990eba005 to f661ec788b14 (3 revisions) (#23958) 2021-01-26 08:34:02 -08:00
skia-flutter-autoroll
ff616c212c
Roll Skia from bbc5288f2bb1 to 98c990eba005 (1 revision) (#23956) 2021-01-26 07:09:01 -08:00
Daco Harkes
a6119a3db5
add ffi_allocation_patch.dart to libraries.yaml 2 (#23954) 2021-01-26 14:44:35 +01:00
skia-flutter-autoroll
5d3477eab4
Roll Skia from 02621c33b426 to bbc5288f2bb1 (4 revisions) (#23949) 2021-01-26 01:14:02 -08:00
skia-flutter-autoroll
eb899383a6
Roll Dart SDK from f9e1d1ab4001 to 2607b01bec99 (2 revisions) (#23946) 2021-01-25 23:59:02 -08:00
skia-flutter-autoroll
ab06062afc
Roll Skia from 76389b7d2444 to 02621c33b426 (3 revisions) (#23945) 2021-01-25 23:54:02 -08:00
skia-flutter-autoroll
ea11ccd7bb
Roll Fuchsia Linux SDK from GLRm7LJRm... to DLfskqEUx... (#23943) 2021-01-25 21:29:01 -08:00
skia-flutter-autoroll
f47ab4434d
Roll Skia from 3419dda0588d to 76389b7d2444 (1 revision) (#23940) 2021-01-25 19:14:01 -08:00
skia-flutter-autoroll
6e391c5942
Roll Skia from 3f31f3027f69 to 3419dda0588d (1 revision) (#23939) 2021-01-25 17:54:03 -08:00
skia-flutter-autoroll
686bd76f32
Roll Dart SDK from 70c7daa78288 to f9e1d1ab4001 (1 revision) (#23938) 2021-01-25 16:54:01 -08:00
skia-flutter-autoroll
ae42f120de
Roll Skia from fff4099358bd to 3f31f3027f69 (10 revisions) (#23937) 2021-01-25 16:29:02 -08:00
skia-flutter-autoroll
ee07d1b448
Roll Skia from bd91660b6e12 to fff4099358bd (9 revisions) (#23929) 2021-01-25 13:29:02 -08:00
skia-flutter-autoroll
ef4f5a8577
Roll Dart SDK from 2ddf810f71f6 to 70c7daa78288 (1 revision) (#23922)
https://dart.googlesource.com/sdk.git/+log/2ddf810f71f6..70c7daa78288

2021-01-25 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.12.0-256.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
2021-01-25 12:14:56 -08:00
skia-flutter-autoroll
155827a34c
Roll Skia from fe8a4faa4bb2 to bd91660b6e12 (4 revisions) (#23920) 2021-01-25 09:54:01 -08:00
skia-flutter-autoroll
86e05f0423
Roll Fuchsia Linux SDK from mrFdelzNr... to GLRm7LJRm... (#23913)
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 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
2021-01-25 08:10:00 -08:00
skia-flutter-autoroll
aa56ae2cf0
Roll Skia from 607a382298b2 to fe8a4faa4bb2 (4 revisions) (#23910)
https://skia.googlesource.com/skia.git/+log/607a382298b2..fe8a4faa4bb2

2021-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 465f56090c50 to 09570e87f5f8 (699 revisions)
2021-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from ff5f715e5c4a to 3c3b82abcf0a (9 revisions)
2021-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 22f14a877953 to 413f7cb17c77 (3 revisions)
2021-01-25 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from db383498c5c6 to f1f8394de04e (9 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 nifong@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
2021-01-25 08:09:17 -08:00
skia-flutter-autoroll
611a8d5371
Roll Skia from 069e484cc3b9 to 607a382298b2 (1 revision) (#23907)
https://skia.googlesource.com/skia.git/+log/069e484cc3b9..607a382298b2

2021-01-25 reed@google.com drawBitmap is deprecated, use drawImage

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 nifong@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
2021-01-24 23:25:36 -08:00
Chris Bracken
08daa2c896
Rename TextInputManager to TextInputManagerWin32 (#23905)
The current text input manager is win32-specific due to its use of
IMM32. For UWP, we'll need a TSF implementation. Once that happens we'll
want to extract out a TextInputManager interface and add a separate UWP
implementation of this class.
2021-01-24 16:22:00 -08:00
skia-flutter-autoroll
cad597fd6b
Roll Fuchsia Linux SDK from VYUnZ3Tbh... to mrFdelzNr... (#23903) 2021-01-24 14:19:01 -08:00
Chris Bracken
9365230ac2
Add support for IME-based text input on Windows (#23853)
This updates the Win32 desktop embedder to support input method (abbreviated IM
or IME) composing regions.

In contrast to languages such as English, where keyboard input is
managed keystroke-by-keystroke, languages such as Japanese require a
multi-step input process wherein the user begins a composing sequence,
during which point their keystrokes are captured by a system input
method and converted into a text sequence. During composing, the user is
able to edit the composing range and manage the conversion from keyboard
input to text before eventually committing the text to the underlying
text input field.

To illustrate this, in Japanese, this sequence might look something like
the following:

1. User types 'k'. The character 'k' is added to the composing region.
   Typically, the text 'k' will be inserted inline into the underlying
   text field but the composing range will be highlighted in some manner,
   frequently with a highlight or underline.
2. User types 'a'. The composing range is replaced with the phonetic
   kana character 'か' (ka). The composing range continues to be
   highlighted.
3. User types 'k'. The character 'k' is appended to the composing
   range such that the highlighted text is now 'かk'
4. User types 'u'. The trailing 'k' is replaced with the phonetic kana
   character 'く' (ku) such that the composing range now reads 'かく'
   The composing range continues to be highlighted.
5. The user presses the space bar to convert the kana characters to
   kanji. The composing range is replaced with '書く' (kaku: to write).
6. The user presses the space bar again to show other conversions. The
   user's configured input method (for example, ibus) pops up a
   completions menu populated with alternatives such as 各 (kaku:
   every), 描く (kaku: to draw), 核 (kaku: pit of a fruit, nucleus), 角
   (kaku: angle), etc.
7. The user uses the arrow keys to navigate the completions menu and
   select the alternative to input. As they do, the inline composing
   region in the text field is updated. It continues to be highlighted
   or underlined.
8. The user hits enter to commit the composing region. The text is
   committed to the underlying text field and the visual highlighting is
   removed.
9. If the user presses another key, a new composing sequence begins.

If a selection is present when composing begins, it is preserved until
the first keypress of input is received, at which point the selection is
deleted. If a composing sequence is aborted before the first keypress,
the selection is preserved. Creating a new selection (with the mouse,
for example) aborts composing and the composing region is automatically
committed. A composing range and selection, both with an extent, are
not permitted to co-exist.

During composing, keyboard navigation via the arrow keys, or home and
end (or equivalent shortcuts) is restricted to the composing range, as
are deletions via backspace and the delete key. This patch adds two new
private convenience methods, `editing_range` and `text_range`. The
former returns the range for which editing is currently active -- the
composing range, if composing, otherwise the full range of the text. The
latter, returns a range from position 0 (inclusive) to `text_.length()`
exclusive.

Windows IME support revolves around two main UI windows: the composition window
and the candidate window. The composition window is a system window overlaid
within the current window bounds which renders the composing string. Flutter
already renders this string itself, so we request that this window be hidden.
The candidate window is a system-rendered dropdown that displays all possible
conversions for the text in the composing region.  Since the contents of this
window are specific to the particular IME in use, and because the user may have
installed one or more third-party IMEs, Flutter does not attempt to render this
as a widget itself, but rather delegates to the system-rendered window.

The lifecycle of IME composing begins follows the following event order:
1. WM_IME_SETCONTEXT: on window creation this event is received. We strip the
   ISC_SHOWUICOMPOSITIONWINDOW bit from the event lparam before passing it to
   DefWindowProc() in order to hide the composition window, which Flutter
   already renders itself.
2. WM_IME_STARTCOMPOSITION: triggered whenever the user begins inputting new
   text. We use this event to set Flutter's TextInputModel into composing mode.
3. WM_IME_COMPOSITION: triggered on each keypress as the user adds, replaces,
   or deletes text in the composing region, navigates with their cursor within
   the composing region, or selects a new conversion candidate from the
   candidates list.
4. WM_IME_ENDCOMPOSITION: triggered when the user has finished editing the text
   in the composing region and decides to commit or abort the composition.

Additionally, the following IME-related events are emitted but not yet handled:
* WM_INPUTLANGCHANGE: triggered whenever the user selects a new language using
  the system language selection menu. Since there some language-specific
  behaviours to IMEs, we may want to make use of this in the future.
* WM_IME_NOTIFY: triggered to notify of various status events such as opening
  or closing the candidate window, setting the conversion mode, etc. None of
  these are relevant to Flutter at the moment.
* WM_IME_REQUEST: triggered to notify of various commands/requests such as
  triggering reconversion of text, which should begin composition mode, insert
  the selected text into the composing region, and allow the user to select new
  alternative candidates for the text in question before re-committing their
  new selection. This patch doesn't support this feature, but it's an important
  feature that we should support in future.
2021-01-24 12:56:08 -08:00
skia-flutter-autoroll
f3c5687c81
Roll Skia from 5bbf72757349 to 069e484cc3b9 (2 revisions) (#23900) 2021-01-24 12:04:03 -08:00
skia-flutter-autoroll
cae91309af
Roll Skia from d396cd50ff15 to 5bbf72757349 (2 revisions) (#23898) 2021-01-24 03:04:02 -08:00
skia-flutter-autoroll
d3a1acbc99
Roll Fuchsia Linux SDK from uMOnDLfvl... to VYUnZ3Tbh... (#23894) 2021-01-23 23:09:01 -08:00
skia-flutter-autoroll
397274f345
Roll Skia from 8d29ab630996 to d396cd50ff15 (1 revision) (#23893) 2021-01-23 20:29:01 -08:00
skia-flutter-autoroll
381d8bd079
Roll Skia from 07c5f52c947d to 8d29ab630996 (1 revision) (#23892) 2021-01-23 17:24:01 -08:00
skia-flutter-autoroll
221259bc4c
Roll Skia from 9702fc6f3852 to 07c5f52c947d (2 revisions) (#23890) 2021-01-23 12:24:01 -08:00
skia-flutter-autoroll
443bf5c3e1
Roll Fuchsia Linux SDK from edqShE0QE... to uMOnDLfvl... (#23886) 2021-01-23 08:09:01 -08:00
skia-flutter-autoroll
dc22edea2e
Roll Skia from 8a42b09c162e to 9702fc6f3852 (1 revision) (#23882) 2021-01-22 21:44:01 -08:00
skia-flutter-autoroll
f77fea282e
Roll Dart SDK from 748993c3997a to 2ddf810f71f6 (1 revision) (#23881) 2021-01-22 21:34:02 -08:00
skia-flutter-autoroll
ebbf0dfdd1
Roll Skia from 2a4c0fbdca1a to 8a42b09c162e (9 revisions) (#23878) 2021-01-22 18:29:02 -08:00
Greg Spencer
c8620c3fc1
Implement delayed key event synthesis for Windows (#23524)
This changes the Windows text handling so that keyboard events are sent to the framework first for handling, and then passed to the text input plugin, so that the framework has a chance to handle keys before they get given to the text field.

This is complicated by the async nature of the interaction with the framework, since Windows wants a synchronous response. So, in this change, I always tell Windows that the event was handled, and if the framework (eventually) responds that it wasn't, then I synthesize a new event and send it with SendEvent.

I also added support for detecting "extended" keys, since that was missing, and converted the OnKey handlers in the API to return a bool to indicate whether or not they have handled the event.
2021-01-22 18:14:39 -08:00
Chris Bracken
8671aef05b
Notify Win32FlutterWindow of cursor updates (#23795)
During multi-step text input composing, such as with Chinese, Japanese,
and Korean text input, the framework sends embedders cursor rect updates
in the form of two messages:

* TextInput.setMarkedTextRect: notifies the embedder the size and
  position of the composing text rect (or cursor when not composing) in
  local coordinates.
* TextInput.setEditableSizeAndTransform: notifies the embedder of the
  size of the EditableText and 4x4 transform matrix from local to
  PipelineOwner.rootNode coordinates.

On receipt of either message, we cache a local copy on the
TextInputPlugin and notify the Win32FlutterWindow of the updated cursor
rect. In a followup patch, we update Win32FlutterWindow to implement the
Win32 input manager (IMM) calls required to position the IME candidates
window while editing.
2021-01-22 16:31:09 -08:00
skia-flutter-autoroll
492759ecf3
Roll Dart SDK from 82b4c77fb17f to 748993c3997a (1 revision) (#23874)
https://dart.googlesource.com/sdk.git/+log/82b4c77fb17f..748993c3997a

2021-01-22 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.12.0-254.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
2021-01-22 16:13:03 -08:00
skia-flutter-autoroll
f0e25c5332
Roll Skia from 3193ff271628 to 2a4c0fbdca1a (3 revisions) (#23875) 2021-01-22 15:39:02 -08:00
skia-flutter-autoroll
63b3440639
Roll Fuchsia Linux SDK from mODEe2CNk... to edqShE0QE... (#23873) 2021-01-22 14:34:01 -08:00
skia-flutter-autoroll
a787229108
Roll Skia from bfc9be0f773f to 3193ff271628 (5 revisions) (#23872) 2021-01-22 14:19:02 -08:00
skia-flutter-autoroll
004d8ad041
Roll Skia from cc6961b9ac5e to 6a272434c2b2 (3 revisions) (#23864) 2021-01-22 11:24:02 -08:00
skia-flutter-autoroll
fdddf87080
Roll Dart SDK from 1db2d4d95562 to 82b4c77fb17f (2 revisions) (#23861)
https://dart.googlesource.com/sdk.git/+log/1db2d4d95562..82b4c77fb17f

2021-01-22 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.12.0-253.0.dev
2021-01-22 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.12.0-252.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
2021-01-22 10:18:23 -08:00
skia-flutter-autoroll
fb4873562f
Roll Skia from ce75036b3eaf to cc6961b9ac5e (3 revisions) (#23860) 2021-01-22 09:59:01 -08:00
chunhtai
0118b54392
Implements accessibility bridge in common library (#23491) 2021-01-22 09:29:02 -08:00
skia-flutter-autoroll
20ff574d87
Roll Skia from 372791761157 to ce75036b3eaf (4 revisions) (#23858) 2021-01-22 08:39:02 -08:00
skia-flutter-autoroll
cb7106dd7c
Roll Skia from 450f8565c7f3 to 372791761157 (1 revision) (#23855) 2021-01-22 07:09:02 -08:00
skia-flutter-autoroll
b51da31eb9
Roll Skia from c09761f57605 to 450f8565c7f3 (5 revisions) (#23851) 2021-01-22 01:04:01 -08:00
skia-flutter-autoroll
475a2349d5
Roll Fuchsia Linux SDK from UGavhI1zv... to mODEe2CNk... (#23848) 2021-01-21 23:49:02 -08:00
skia-flutter-autoroll
07f4861167
Roll Dart SDK from 704928da5702 to 1db2d4d95562 (1 revision) (#23846)
https://dart.googlesource.com/sdk.git/+log/704928da5702..1db2d4d95562

2021-01-22 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.12.0-251.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
2021-01-21 22:49:47 -08:00
skia-flutter-autoroll
e7e76f1d14
Roll Skia from 37d16f135265 to e89d8ea20b62 (2 revisions) (#23841) 2021-01-21 16:49:03 -08:00
Dan Field
5dc24693d5
Reland path vol tracker (#23840)
This time making sure to deref the native object on GC.
2021-01-21 16:03:43 -08:00
skia-flutter-autoroll
1474d0873f
Roll Skia from 8a37fb2c605b to 37d16f135265 (4 revisions) (#23839) 2021-01-21 15:24:02 -08:00
skia-flutter-autoroll
b0c46d88e6
Roll Skia from 6de1e52d0b12 to 8a37fb2c605b (5 revisions) (#23836)
https://skia.googlesource.com/skia.git/+log/6de1e52d0b12..8a37fb2c605b

2021-01-21 tdenniston@google.com [svg] Implement SourceAlpha input for filter effects
2021-01-21 kjlubick@google.com [canvaskit] Include types in docker build
2021-01-21 tdenniston@google.com [svg] Several filter helper tweaks
2021-01-21 johnstiles@google.com Improve consistency of SPIR-V code generation.
2021-01-21 reed@google.com Update legacy shader context to take sampling

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 scroggo@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
2021-01-21 14:00:46 -08:00