3193 Commits

Author SHA1 Message Date
Jason Simmons
9d96957b4e libtxt: make minIntrinsicWidth match maxIntrinsicWidth if constraints prevent line wrapping (flutter/engine#4468) 2017-12-18 16:06:19 -08:00
Jason Simmons
ac3844c916 Revert "libtxt: Restore code that had been disabled due to older versions of ICU and HarfBuzz (#4456)" (flutter/engine#4474)
This reverts commit 041deb64dcb3c26856e56bcadd1c938edd0d2691.

Fuchsia is still pinned to ICU version 57, which doesn't have these APIs
2017-12-18 15:02:16 -08:00
Brian Osman
0c2cf26813 Roll Skia and remove PngPixelSerializer (flutter/engine#4472)
* Roll Skia and remove PngPixelSerializer

* Update licenses
2017-12-18 15:44:54 -05:00
Brian Osman
93cd451764 Fix formatting (flutter/engine#4473) 2017-12-18 13:21:32 -05:00
Chris Bracken
8a9f21d076 Document that Xcode 9 is required to build the engine (flutter/engine#4469)
The engine build bots and engine development team now rely solely on
Xcode 9 to build the engine. The iOS 11 SDK is required (though we build
with deployment target of iOS 8) for several features such as safe area
inset support.
2017-12-18 10:00:19 -08:00
Sarah Zakarias
aedb6d58e5 Read platform kernel blob from asset directory instead of FLX (flutter/engine#4471) 2017-12-18 13:15:01 +01:00
Sarah Zakarias
d8a79eacf9 Select fonts from asset directory instead of FLX (flutter/engine#4464) 2017-12-18 09:01:56 +01:00
Jason Simmons
50183917b0 libtxt: fixes to text style inheritance (flutter/engine#4466)
* newly pushed styles should inherit from the top of the paragraph's style
  stack, not the most recently added style in StyledRuns
* make the paragraph-level style a default that is not pushed onto the stack
  and can not be popped
2017-12-15 16:21:40 -08:00
Ryan Macnak
dc5714d32b Fix spawnFunction on iOS in debug mode. (flutter/engine#4467)
Issue flutter/flutter#12939
2017-12-15 16:11:09 -08:00
Jason Simmons
d95b01846f libtxt: If no glyphs were rendered, then compute baseline metrics using the paragraph style's font (flutter/engine#4462)
Fixes the "empty text baseline" case in text_painter_rtl_test
2017-12-15 10:07:11 -08:00
Jason Simmons
041deb64dc libtxt: Restore code that had been disabled due to older versions of ICU and HarfBuzz (flutter/engine#4456) 2017-12-14 09:43:59 -08:00
Jason Simmons
99a8a731bb libtxt: fix the paragraph level text direction passed to the ICU bidi API (flutter/engine#4455)
Also includes some cleanup of the BidiRun struct
2017-12-14 09:43:49 -08:00
Vyacheslav Egorov
88e1e258a7 Fix frontend_server error reporting. (flutter/engine#4461)
* Do not use CompilerOptions.onError to report errors.

CompilerMessage does not carry correct SourceSpan
which makes errors unreadable: they all point to
line 1 column XYZ.

* Run dartfmt on frontend_server/lib/server.dart.

* Fix linting issues for frontend_server
2017-12-14 16:26:53 +01:00
Jason Simmons
f6c572ca91 Update the path to Skia test images in codec_test (flutter/engine#4460) 2017-12-13 18:12:42 -08:00
Jason Simmons
49769ea252 Provide the skia_vulkan_header variable now required by Skia's Vulkan build scripts (flutter/engine#4459) 2017-12-13 17:17:05 -08:00
Ben Konyi
1a0df4d250 Updated message_loop_unittests.cc to use a macro instead of #ifdef (flutter/engine#4441)
OS_WIN blocks when adding platform specific captures.
2017-12-13 10:13:24 -08:00
Sarah Zakarias
0fc35ac4f9 Add missing include (flutter/engine#4454) 2017-12-13 14:29:14 +01:00
Sarah Zakarias
88f345d1d3 Add #define's in dart_init.cc (flutter/engine#4453) 2017-12-13 14:13:02 +01:00
Sarah Zakarias
5b8c89eaf0 Handle Flutter assets outside FLX (flutter/engine#4343) 2017-12-13 10:55:24 +01:00
Jason Simmons
ec44545e82 libtxt: improvements to GetWordBoundary (flutter/engine#4446)
* fix an off-by-one when the offset itself is a word boundary
* lazily create the word break iterator
2017-12-12 17:44:34 -08:00
Zachary Anderson
e2bb119248 Fix Platform.localeName by setting _Platform._localeClosure (flutter/engine#4450) 2017-12-12 15:01:13 -08:00
Michael Goderbauer
9e95f34064 Roll forward: Parameters for SemanticActions; a11y text selection (flutter/engine#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
najeira
0c188ca473 Map iOS touches to Flutter view coordinate system (flutter/engine#4425)
This change ensures that touches are mapped to the Flutter view
co-ordinate system. In the case of a Flutter view that doesn't share the
same origin and orientation as the screen co-ordinate system, touches
were appled in the wrong location. This bug affected Flutter views whose
origin was not the screen origin and Flutter apps running with the
in-call status bar on iPhones other than the iPhone X.
2017-12-12 13:22:53 -08:00
Chris Bracken
7f0f66cf1a Model Android keyboard height as view inset (flutter/engine#4447)
Model top and side system insets as padding and bottom (keyboard) as a
view inset. This avoids applying system insets twice (once as an inset,
once as padding).
2017-12-12 11:04:42 -08:00
Michael Goderbauer
4cc04bfe16 Revert " Add parameters to SemanticActions; implement extend selection for a11y (#4444)" (flutter/engine#4448)
This reverts commit 4fc00d4735d43ef0ab9504111541928a3c2167ea.
2017-12-12 10:53:15 -08:00
Michael Goderbauer
4fc00d4735 Add parameters to SemanticActions; implement extend selection for a11y (flutter/engine#4444) 2017-12-12 10:06:04 -08:00
Jason Simmons
6e8a6af1f8 Check for a detached FlutterNativeView before sending messages (flutter/engine#4445)
Fixes https://github.com/flutter/flutter/issues/13481
2017-12-11 17:15:21 -08:00
Jason Simmons
b2f8ce750a libtxt: track the font metrics of each run in order to calculate heights in GetRectsForRange (flutter/engine#4442)
Previously GetRectsForRange was assigning each rectangle a height matching the
height of the entire line.  If the line includes multiple text styles, callers
will expect each span's rectangle to reflect the height of that span.
(see text_painter_rtl_test.dart)
2017-12-11 14:38:17 -08:00
Vyacheslav Egorov
95058cefa9 Update VM entry points list to include some previous omitted entries. (flutter/engine#4440)
This fixes obfuscated snapshot mode.
2017-12-11 11:27:23 -08:00
Chris Bracken
fd36bd7b22 Support iOS scroll-to-top tap on iPhone X (flutter/engine#4436)
This adds support for scrolling the primary scroll view to the top on
status bar touches, on the iPhone X.

Notes:
1. The iPhone X status bar doesn't change height when in in-call/etc.
   mode, and unlike other iPhones, does scroll to top when in in-call mode.
2. No matter which model of iOS device, the top safe area inset doesn't
   change when in in-call mode. In in-call mode, the OS reduces the app
   view height by 20px off the top, and the double-height 'in-call' status
   bar covers this new inset (outside the view) and there continues to be a
   20px safe area in the app.

On iOS 11, rather than comparing status bar height to a hardcoded 20px
'standard height' we now compare to the top safe area inset (which is
always the standard status bar height, regardless of device). On iOS
versions prior to iOS 11, we use the previous logic.

Fixes flutter/flutter#13439
2017-12-08 19:36:53 -08:00
Ben Konyi
6bc54d490c Fixed failure on Windows in paragraph.cc which was surfaced by enabling (flutter/engine#4434)
Fixed failure on Windows in paragraph.cc which was surfaced by enabling flutter_tester.exe build on bots.
2017-12-08 16:27:47 -08:00
Chinmay Garde
003e3cce17 Add macros to mark APIs as being deprecated or unavailable. (flutter/engine#4401) 2017-12-08 13:30:45 -08:00
Jason Simmons
161f3faa33 Exclude Skia's copy of libjpeg-turbo from the license crawl (flutter/engine#4432) 2017-12-08 11:50:13 -08:00
Ben Konyi
d023506388 Fixed errors introduced in landing of fml changes for Windows. (flutter/engine#4431) 2017-12-08 11:17:48 -08:00
Ben Konyi
5ff8528682 Updated fml to build on Windows. (flutter/engine#4415) 2017-12-08 10:40:10 -08:00
Brian Osman
adf6949757 Remove SkToBool usage (flutter/engine#4429) 2017-12-08 13:28:06 -05:00
Chris Bracken
34b9f8685b Expose keyboard height as view inset on iOS (flutter/engine#4428)
Keyboard height is now treated as a view inset, which could be used to
shrink the content area of the app as is done in the Material Scaffold,
rather than padding, which is used to indicate content areas where user
interaction should be avoided.
2017-12-07 18:37:46 -08:00
Jason Simmons
271d4be92e Do not report a cursor location if there is no active selection (flutter/engine#4427)
Fixes https://github.com/flutter/flutter/issues/13398
2017-12-07 17:43:51 -08:00
Michael Goderbauer
d07e420443 Fix typo (flutter/engine#4424) 2017-12-06 16:14:04 -08:00
Michael Goderbauer
18e6fd711d A11y cursor movements for text fields on Android (flutter/engine#4419)
* a11y cursor movement by character

* focus fixes

* doc fixes
2017-12-06 15:46:35 -08:00
Chris Bracken
c3a99d4fbb Fix an extra paren in locale_test.dart (flutter/engine#4423) 2017-12-06 15:38:40 -08:00
Jason Simmons
c159071c43 libtxt: implement GetWordBoundary using the ICU word breaker (flutter/engine#4421) 2017-12-06 15:23:40 -08:00
Chris Bracken
cfc2cf4c3a Set window.viewInsets.bottom to keyboard height on iOS (flutter/engine#4420)
This allows for us to start migrating framework classes (notably
Scaffold) to use window.viewInsets.bottom to get the keyboard height.
Once framework updates have landed, we will land an engine patch to
expose the iOS bottom safe area inset as padding.

This change is already landed for Android.

Related issue: flutter/flutter#12098
2017-12-06 15:06:12 -08:00
Jason Simmons
4d46c62401 libtxt: handle lines containing both LTR and RTL text runs (flutter/engine#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
e900158d72 Make Locale know about the deprecated Hebrew language code. (flutter/engine#4411)
...by making it know about ALL the deprecated language and region codes.
2017-12-06 12:17:30 -08:00
Chris Bracken
cac7eba5ea Update the iOS mark region on setTextInputState (flutter/engine#4418)
Previously, we failed to clear/update the mark text range on updates
from the framework. This resulted in a crash if the incoming text value
was shorter than the current mark range when iOS attempts to extract the
mark range substring from the text.

Fixes flutter/flutter#12585
2017-12-06 11:30:14 -08:00
Brian Osman
49808d7687 Disable linear blending on iOS simulator (flutter/engine#4413)
Fixes flutter/flutter#13308

Overlooked this case when I previously removed linear blending. MakeS32 creates a surface with a color space attached (triggering the linear blending behavior). MakeN32 creates a legacy surface (no color space), which matches what the other backend bindings do (including the GL surface factory, and the raster cache).
2017-12-05 08:38:53 -05:00
Adam Barth
e76704006f [fuchsia] Sandbox Flutter runner (flutter/engine#4410) 2017-12-04 12:35:38 -08:00
Alexander Markov
e7d9371831 Front-end server: use VM-specific package:vm/kernel_front_end (flutter/engine#4412)
* Use the VM-specific wrapper for the kernel front-end to support VM-specific kernel transformations.
* Also, pass a flag to distinguish AOT mode from JIT mode to enable whole-program optimizations.
2017-12-02 17:37:32 -08:00
xster
9d2403ff10 Block image decoding on iOS in the background (flutter/engine#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