Commit Graph

3296 Commits

Author SHA1 Message Date
Greg Spencer
394c11e33f Adding semantics traversal order support (flutter/engine#4540)
This adds support for semantics traversal ordering.

It is a companion to flutter/flutter#14060, adding support for a sortIndex in the semantics data passed to the engine.

Addresses flutter/flutter#12187
2018-01-30 13:42:12 -08:00
Jason Simmons
c1827995b1 libtxt: update some unit tests (flutter/engine#4603)
* GetGlyphPositionAtCoordinate maps points within the right half of a
  glyph to the next position
* The second pass in RepeatLayoutParagraph was at the borderline between 5
  and 6 lines in the Minikin line breaker.  Add text to ensure that the text
  fills 12 lines at half width and 6 lines at full width.
2018-01-30 13:30:47 -08:00
Jason Simmons
405a30aca6 libtxt: track the range of code units represented by the current glyph (flutter/engine#4598)
This simplifies iteration over graphemes and fixes an off-by-one error seen
when handling RTL runs.
2018-01-30 13:30:06 -08:00
Chris Bracken
65ceaf57f4 Use @available checks for iOS 11 features (flutter/engine#4619)
Use @available checks for iOS 11 features
2018-01-30 09:36:21 -08:00
Coder256
1680d3f3da Only implement application:performActionForShortcutItem:completionHandler: on iOS 9.0+. And fix some tests. (flutter/engine#4600) 2018-01-30 08:00:39 -08:00
Michael Goderbauer
90723f13fd Remove unnecessary trim (flutter/engine#4616)
... which caused trouble for a11y "select all".
2018-01-29 18:12:29 -08:00
Chris Bracken
ee4f722023 Revert "libtxt: extend Minikin to find a fallback font if its font collection can not match a given character (#4595)" (flutter/engine#4609)
This reverts commit ea84dd9118.
2018-01-29 15:23:24 -08:00
Chris Bracken
c709e56e78 Run clang-format checks before other phases (flutter/engine#4608)
We now run clang-format checks before running licenses and other tests.
Since clang-format runs quickly, this allows these diffs to be caught
first, without much real delay to other checks.
2018-01-29 14:59:10 -08:00
Jason Simmons
ea84dd9118 libtxt: extend Minikin to find a fallback font if its font collection can not match a given character (flutter/engine#4595)
Minikin layout uses a FontCollection containing a list of pre-selected fonts
for a particular font family.  This patch extends the FontCollection to invoke
a hook provided by libtxt if layout sees a character that can not be rendered
by any font in the collection.

* Change the Minikin lock to a recursive mutex.  This is required because the
  fallback font provider may create new fonts during a layout operation that
  already holds the lock.
* Implement a fallback font provider hook that queries Skia for fonts matching
  an unrecognized character.
* Maintain a cache of fallback fonts.  Prepopulate the cache with fonts
  covering some commonly used character classes.
* Add a last resort font list for cases where Skia's font manager can not
  find any font for a character (similar to Blink's FontCache::getLastResortFallbackFont)
2018-01-29 12:06:48 -08:00
Craig Stout
fa96568e15 Transition render target images before submit.
Required by the spec; see '6.7.4. Queue Family Ownership Transfer'
of Vulkan 1.0.66.

Transitioning the image layout also fixes an image resolve failure
issue introduced by optimizations present in the intel mesa vulkan
driver v17.2.
2018-01-27 13:17:28 -08:00
Craig Stout
9ee335cdff Introduce VulkanProvider
For more consistent access to base vulkan functionality owned
elsewhere.
2018-01-27 13:17:28 -08:00
Chris Bracken
ced94b8bc1 Revert "Use @available checks for iOS 11 features (#4596)" (flutter/engine#4597)
This reverts commit d468d29a77.

Apparently the clang toolchain is still hitting issues. Will give this
another go after the next clang toolchain update.
2018-01-26 16:08:18 -08:00
Chris Bracken
d468d29a77 Use @available checks for iOS 11 features (flutter/engine#4596)
Guard code that deals with iOS safe area insets behind an @available
check.

This cleans up some old TODOs from before out clang toolchain supported
@available.
2018-01-26 15:51:00 -08:00
Chris Bracken
bc1687f219 Extract common iOS asset path lookup code (flutter/engine#4594)
Consolidates the asset path lookup logic from FlutterDartProject and FlutterMain().
2018-01-26 14:27:46 -08:00
Alexander Aprelev
45ce7ba63f Lookup FTLAssetsPath when deducing assets path on ios (flutter/engine#4593)
* Lookup FTLAssetsPath when deducing assets path on ios

* WS

* Proper fix

* Another whitespace fix
2018-01-26 13:45:04 -08:00
Jason Simmons
b64dcc4470 libtxt: be more resilient if the minikin glyphs and the grapheme breaker get out of sync (flutter/engine#4590) 2018-01-26 13:35:53 -08:00
Michael Goderbauer
0dec4daf0e Add semantic actions for copy, cut, and paste (flutter/engine#4592) 2018-01-26 12:11:38 -08:00
Jason Simmons
50a3db3560 Implement more SkFontMgr APIs in AssetFontManager (flutter/engine#4591) 2018-01-26 11:55:16 -08:00
Abhishek Amit
1e7ddc408a Allow embedder clients to provide a resource context (flutter/engine#4588)
* Allow embedder clients to provide a resource context. Closes flutter/flutter#14263.
2018-01-25 17:30:23 -08:00
Michael Goderbauer
62750283ee Adds a11y action for selecting text (and moving cursor) (flutter/engine#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
667959021d a11y: Announce changes to cursor position on Android (flutter/engine#4587) 2018-01-24 16:54:14 -08:00
Abhishek Amit
eb725ebf42 Fix comment for non-string arg (flutter/engine#4583) 2018-01-24 16:24:12 -08:00
Yegor
775da9060a use Human Interface Guidelines for a11y and non-a11y text sizes (flutter/engine#4586) 2018-01-24 15:46:35 -08:00
Michael Goderbauer
0acff27cfc Add a11y support for selected text (flutter/engine#4584) 2018-01-24 15:08:29 -08:00
Brian Osman
24c68f8454 Include SkBitmap and SkPaint (flutter/engine#4582)
Skia is trimming some of these transitive includes
2018-01-23 16:12:43 -05:00
Jason Simmons
9e1e807c3e Convert other Android clipboard formats into text (flutter/engine#4578)
Fixes https://github.com/flutter/flutter/issues/14093
2018-01-22 13:55:48 -08:00
amirh
b86da443de Explicitly check if the shape layer is an oval. (flutter/engine#4577)
isRRect returns false for RRects that are oval.

Fixes flutter/flutter#14186
2018-01-22 12:15:24 -08:00
Michael Goderbauer
3c0932e7af Echo letters and words typed into TextField back (flutter/engine#4574)
Fixes https://github.com/flutter/flutter/issues/13392.
2018-01-22 11:14:12 -08:00
Ali Bitek
96ef7f6c1a Get active Context from the Registrar (flutter/engine#4523) 2018-01-20 08:46:40 +01:00
Jason Simmons
d595980338 Make the new sysroot format the default in flutter_gdb (flutter/engine#4576) 2018-01-19 15:12:00 -08:00
Jason Simmons
fcc9015373 libtxt: insert styled runs in reverse order if a bidi run is RTL (flutter/engine#4573) 2018-01-19 13:49:14 -08:00
Alexander Aprelev
6b3e3c6184 Fix typo in main_win. This is follow up https://github.com/flutter/engine/pull/4564 (flutter/engine#4572) 2018-01-19 10:59:19 -08:00
Jason Simmons
e07978ee0a Wrapper for matrix image filters (flutter/engine#4567)
Fixes https://github.com/flutter/flutter/issues/14082
2018-01-19 10:01:57 -08:00
Ian Hickson
043ce9d55e Explain Window metrics better. (flutter/engine#4555) 2018-01-18 20:22:06 -08:00
Alexander Aprelev
b4425bcd06 Fix default value for 'packages' option to be null (flutter/engine#4570) 2018-01-18 17:12:29 -08:00
Alexander Aprelev
a8e9231915 Accommodate flutter test --preview-dart-2 on windows and linux (flutter/engine#4564)
* Support .packages option in frontend_server, bundle_path in main_mac.

This is needed to be able to run  in  mode.

* Remove byte store tests

* Remove unused import

* Fix formatting

* Enable flutter test argument passing on win and linux.

* Fix formatting
2018-01-18 16:05:19 -08:00
Siva Chandra
f8600043cc Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06. (flutter/engine#4558)
* Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06.

* Fix analyzer nits

* Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get

* Pin dart to dev.16 to overcome pub issue

* Revert "Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get"

This reverts commit d525a83f4494a511996226d328a5208d4651d46e as it is no
longer needed, was added to diagnose the problem, which turned out to be
a problem with pub in latest dart dev release.

* Fix license hash

* Reintroduce api methods and tests
2018-01-18 12:35:09 -08:00
Abhishek Amit
9cd77fd071 Add API for embedder clients to process platform events (flutter/engine#4549) 2018-01-17 16:59:36 -08:00
amirh
ac2c85c69b Update comment on Scenic shapes following feedback from schwa423@ (flutter/engine#4563) 2018-01-17 14:39:40 -08:00
Ian Hickson
28564ac5f9 Analysis cleanup of the Dart in the Engine repo (flutter/engine#4554)
* Analysis cleanup of the Dart in the Engine repo

* Update painting.dart

* Update painting.dart
2018-01-17 09:48:56 -08:00
jensjoha
54fdc2f5ae Train frontend_server snapshot (flutter/engine#4560)
Reland d7e7abbcc2 with a fix for Windows build

Cuts 30% from hot-reload benchmarks with `--preview-dart-2`
2018-01-17 10:33:10 +01:00
Michael Goderbauer
66fa83780d Announce when checked status changes on Android (flutter/engine#4557)
Fixes https://github.com/flutter/flutter/issues/14092
2018-01-16 23:10:17 -08:00
amirh
9ee5ab1d8b Fallback to compose shapes as their bounding rectangles. (flutter/engine#4553)
Scenic doesn't currently support arbitrary shaped frames.
2018-01-16 18:20:18 -08:00
Jason Simmons
6590ae48d6 libtxt: use an ICU character iterator that can handle complex grapheme clusters (flutter/engine#4548) 2018-01-16 10:43:00 -08:00
Jason Simmons
e7c2f2dfb6 libtxt: skip redundant bidi processing performed by minikin (flutter/engine#4539)
The libtxt Paragraph class now runs the bidi algorithm itself, and each text
run passed to doLayout will be entirely LTR or RTL
2018-01-16 10:39:31 -08:00
Ian Hickson
08f3598be8 Make Canvas cullRect optional and make Rect.largest a static field. (flutter/engine#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
Alexander Aprelev
c03cd3798d Revert "Train frontend_server snapshot (#4512)" (flutter/engine#4556)
This reverts commit d7e7abbcc2 as it
breaks Windows engine buildbot.
2018-01-16 10:05:00 -08:00
jensjoha
d7e7abbcc2 Train frontend_server snapshot (flutter/engine#4512)
Cuts 30% from hot-reload benchmarks with `--preview-dart-2`
2018-01-15 15:59:57 +01:00
Sarah Zakarias
2ad5b735d0 Mark deprecated API in FlutterDartProject.h as unavailable (flutter/engine#4552) 2018-01-15 13:29:43 +01:00
Sarah Zakarias
a50c855b12 Run Fuchsia apps without flx (flutter/engine#4550) 2018-01-15 11:09:01 +01:00