322 Commits

Author SHA1 Message Date
Michael Goderbauer
a1e4f2f991
Add semantic actions for copy, cut, and paste (#4592) 2018-01-26 12:11:38 -08:00
Michael Goderbauer
7c34dfafc9
Adds a11y action for selecting text (and moving cursor) (#4589)
See https://github.com/flutter/flutter/pull/14275 for framework side change.

Also includes some minor clean-ups for consistency. 

Required for https://github.com/flutter/flutter/issues/13469.
2018-01-25 15:00:29 -08:00
Michael Goderbauer
4c82c566ed
a11y: Announce changes to cursor position on Android (#4587) 2018-01-24 16:54:14 -08:00
Michael Goderbauer
e4cabae56f
Add a11y support for selected text (#4584) 2018-01-24 15:08:29 -08:00
Jason Simmons
f458d99e16
Wrapper for matrix image filters (#4567)
Fixes https://github.com/flutter/flutter/issues/14082
2018-01-19 10:01:57 -08:00
Ian Hickson
f7b7506d05
Explain Window metrics better. (#4555) 2018-01-18 20:22:06 -08:00
Ian Hickson
f3f005c457
Analysis cleanup of the Dart in the Engine repo (#4554)
* Analysis cleanup of the Dart in the Engine repo

* Update painting.dart

* Update painting.dart
2018-01-17 09:48:56 -08:00
Ian Hickson
6fee2654f1
Make Canvas cullRect optional and make Rect.largest a static field. (#4551)
Fixes https://github.com/flutter/flutter/issues/7201.

The change from `new Rect.largest()` to `Rect.largest` saves a few
allocations since we'll be using these with every Canvas.
2018-01-16 10:08:08 -08:00
Michael Goderbauer
e7e94c6307
Properly identify CheckBox and RadioButton on Android (#4547) 2018-01-12 15:27:55 -08:00
Brian Osman
e6c117d0fb
When blurring, clamp to image's edge pixels, not to black (#4546) 2018-01-12 16:27:17 -05:00
Ian Hickson
26c3ab08d9
Convert MaskFilter to pure-Dart. (#4534) 2018-01-11 23:25:18 -08:00
amirh
05fe72d068
Revive always using SkPath for physical models (#4537) 2018-01-11 15:11:00 -08:00
Ian Hickson
9536b80781
Offset.direction (#4530)
Since we've got a vector class, and it has a getter for the magnitude,
why not also a getter for the angle.
2018-01-09 22:17:57 -08:00
Michael Goderbauer
16e365e722
Rename SemanticsFlags to SemanticsFlag (#4526)
To align with `SemanticsAction`.
2018-01-09 09:25:52 -08:00
amirh
b7d99da3e2
Revert "Delete the SkPath/SkRRect code duplication in for physical model layers. (#4519)" (#4527)
This reverts commit d8740c70a58ada74aff5b773e2bec9d622c42a97.
2018-01-08 19:25:56 -08:00
amirh
d8740c70a5
Delete the SkPath/SkRRect code duplication in for physical model layers. (#4519) 2018-01-08 16:13:15 -08:00
Jason Simmons
bbefdf1980
Add a Rect.largest constructor equivalent to SkRect::MakeLargest (#4520) 2018-01-05 13:37:23 -08:00
Michael Goderbauer
12e0e38a8b
Split SemanticsFlags.isDisabled into two (#4517) 2018-01-04 15:15:54 -08:00
Siva
0f0b144b03
Add support for --strong option in the engine, create a strong mode version of the platform file (#4504)
* Add a --strong option to the front end server so we can use strong mode with preview-dart-2.

* Plumb the --strong option through the dart controller into the VM.

* - Build a strong version of platform.dill for use with the engine.
- Fix a strong mode static error in the assert statement

* Enable asserts when running debug version even in strong mode.

* Use the correct platform dill file for linking when doing the aot builds.

* Fix formatting issue.
2018-01-03 16:52:24 -08:00
Ian Hickson
fb0cfcd33c
Further improve painting.dart documentation. (#4505) 2018-01-03 16:34:09 -08:00
Michael Goderbauer
26010cf483
Add SemanticsFlag.isDisabled (#4503) 2018-01-02 15:57:52 -08:00
amirh
0b158a6bc4
Engine support for arbitrary shape physical layers (#4488)
* Adjust PhysicalModelLayer to use an abstract shape, and provide concrete RRect and Path shape implementations

* add a pushPhysicalShape to scene_builder and compositing.dart
2017-12-21 15:57:10 -08:00
Ian Hickson
e7a2947700
Specify what image formats are supported in the API docs. (#4483) 2017-12-21 15:07:17 -08:00
Ian Hickson
d8f5797cf7
Clean up lerp() methods and their documentation. (#4478)
Fixes https://github.com/flutter/flutter/issues/12377.
2017-12-20 14:08:37 -08:00
Sarah Zakarias
0545882650
Select fonts from asset directory instead of FLX (#4464) 2017-12-18 09:01:56 +01:00
Zachary Anderson
df18819048
Fix Platform.localeName by setting _Platform._localeClosure (#4450) 2017-12-12 15:01:13 -08:00
Michael Goderbauer
e07eafae1d
Roll forward: Parameters for SemanticActions; a11y text selection (#4452)
Reverts the revert in #4448 with fixes to pass on the bot.

This change will require framework changes in flutter/flutter#13490.
2017-12-12 14:25:45 -08:00
Michael Goderbauer
056fd4597f
Revert " Add parameters to SemanticActions; implement extend selection for a11y (#4444)" (#4448)
This reverts commit 59c3a37e6436d60381d9708113228c83ccc6b7f9.
2017-12-12 10:53:15 -08:00
Michael Goderbauer
59c3a37e64
Add parameters to SemanticActions; implement extend selection for a11y (#4444) 2017-12-12 10:06:04 -08:00
Michael Goderbauer
9d5cd4b12e
Fix typo (#4424) 2017-12-06 16:14:04 -08:00
Michael Goderbauer
fb44dce8c2
A11y cursor movements for text fields on Android (#4419)
* a11y cursor movement by character

* focus fixes

* doc fixes
2017-12-06 15:46:35 -08:00
Jason Simmons
affa4e7c46
libtxt: handle lines containing both LTR and RTL text runs (#4416)
* Call the ICU bidi API to divide the text into LTR/RTL runs and merge
  them with the styled runs defined by the application
* Maintain a list of glyph positions sorted by the order of the corresponding
  code units in the text, as well as a list of glyphs sorted by x/y coordinates
  in the layout
2017-12-06 14:46:03 -08:00
Ian Hickson
7e4df308a7
Make Locale know about the deprecated Hebrew language code. (#4411)
...by making it know about ALL the deprecated language and region codes.
2017-12-06 12:17:30 -08:00
xster
22e63c3d05
Block image decoding on iOS in the background (#4384)
* Add synchronization to ResourceContext usage

* debug

* Use unique ptr factory

* formatting

* left more notes for future readers
2017-12-01 12:09:00 -08:00
Chris Bracken
77d8acb9be
Use WindowPadding class to represent view insets (#4406)
This drops the ViewInsets class in favour of the existing WindowPadding
class for representing the view insets.
2017-11-30 10:47:14 -08:00
Chris Bracken
93648ef0ed
Expose Window.viewInsets in dart:ui (#4403)
Window.viewInsets is the set of window-relative insets that describe the
area of the window that an application may want to treat as effectively
reducing the size of the content. Typically this is due to system UI
that fully obscures underlying content, such as the keyboard.

This area differs from padding in that padding is the set of insets that
describe the area of the window that may be partially (or fully)
obscured by system UI or physical intrusions into the view area (e.g.
iPhone X sensor housing, status bar, or the iPhone X home indicator
widget).

This patch does not yet enable the iOS bottom edge safe area. Once the
framework has been updated to use viewInsets for bottom-edge occlusions
(today, the keyboard), the bottom safe area will be enabled and
framework patches that depend on it, landed.
2017-11-29 16:27:15 -08:00
amirh
96bd2cf038
More informative error message for image decoding failure. (#4389) 2017-11-22 17:11:53 -08:00
amirh
b6aee8256f
Use a synchronous completer in _futurize. (#4379)
This keeps the futures chain shorter.
2017-11-21 15:31:04 -08:00
amirh
dcf2b78a6f
Delete the native implementation for ui.decodeImageFromList. (#4375)
The new ui.Codec API is a superset of the implementation in
image_decoding.cc. While we are not using ui.decodeImageFromList in the
framework anymore, we keep the dart function for backward compatability, and
just make it a thin wrapper around the codec API.
2017-11-20 14:42:42 -08:00
amirh
5afc1e2848
Enable WebP (#4359) 2017-11-15 16:49:50 -08:00
Ian McKellar
d917c35e72
Allow Flutter apps on Fuchsia to shut down cleanly (#4366)
The UIDartState is now always owned by the isolate and always freed in
the isolate cleanup callback.

In the isolate shutdown callback, if the isolate being shut down is the
main isolate, the RuntimeController is informed which in turn notifies
the RuntimeHolder and thus the ApplicationControllerImpl. The
ApplicationControllerImpl tears down the whole Flutter application.

This fixes Fuchsia bug: MI4-328
2017-11-15 13:28:21 -08:00
Brian Osman
0a7155d4e1
Disable linear blending, use SkColorSpaceXformCanvas instead (#4355)
This retains gamut correction (adjusting colors for screens with different capabilities), but does all blending and interpolation with sRGB-encoded values. That matches the behavior expected by most users, as well as the behavior of nearly all other systems. It also greatly simplifies the EGL code.

A future Skia change will make this behavior more of a first-class citizen, so some of these implementation details will change again, but the behavior will not. The bulk of this change (elimination of complication from the GL surface code) is permanent - it's just the SkColorSpaceXformCanvas that will be replaced.
2017-11-14 13:33:26 -05:00
amirh
6b5d8c99d2
Load animation frames to GPU textures from the IO thread (#4352) 2017-11-10 12:52:32 -08:00
Greg Spencer
130af88fde
Adding Rect.expandToInclude and Rect.longestSide (#4309)
Adding Rect.expandToInclude and Rect.longestSide to make the Rect API more symmetric.
2017-11-09 16:37:21 -08:00
amirh
c1b5e06cb2
expose a Duration object from ui.FrameInfo (#4345) 2017-11-09 14:03:19 -08:00
amirh
2920d61a5c
Make the public ui.Codec API Future based instead of callback based. (#4341) 2017-11-09 09:56:36 -08:00
Chris Bracken
bc2acf7bdd
Revert "Roll Fuchsia buildtools to 85907c59e97527d79bbfdfd849d8e85c24959cc5 (#4331)" (#4340)
With the update to HEAD of the Fuchsia buildtools repo, the new clang
toolchain picked up caused link-time breakage in android x86_64
libFlutter.so builds.

Sample log:
https://build.chromium.org/p/client.flutter/builders/Linux%20Engine/builds/1974/steps/build%20android_debug_x64/logs/stdio

Sample failure:
FAILED: libflutter.so libflutter.so.TOC lib.stripped/libflutter.so
../../third_party/android_tools/ndk/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld.gold: error: obj/flutter/shell/platform/android/libflutter/android_context_gl.o: unsupported reloc 42 against global symbol std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> > >::id

This reverts commit 8ad42f0dae3cb1267c2b9ab99db80e4696ddbc3d.
2017-11-08 16:48:00 -08:00
Chris Bracken
8ad42f0dae
Roll Fuchsia buildtools to 85907c59e97527d79bbfdfd849d8e85c24959cc5 (#4331)
* Roll Fuchsia buildtools to 85907c59e97527d79bbfdfd849d8e85c24959cc5

This also updates Flutter buildroot to a6e52dbb776c45cc8c57d7143b8eb8b2e762fdfb
which disables -Wtautological-constant-compare temporarily until
https://reviews.llvm.org/D39462 lands in clang. This is in line with
Fuchsia's compiler options.

* Apply clang-format diffs

No logical changes. This applies clang-format from the latest Fuchsia
buildtools to the engine codebase.
2017-11-08 11:18:17 -08:00
amirh
179bd4a799
Implement a SingleFrameCodec and return it for non animated images (#4329) 2017-11-07 14:07:02 -08:00
amirh
d8a0dd2958
Decode animation frames and pass FrameInfos to dart (#4324)
https://github.com/flutter/flutter/issues/204
2017-11-06 10:36:02 -08:00