200 Commits

Author SHA1 Message Date
Jason Simmons
a7e14ea474 libtxt: refactor glyph position calculation (#4134)
* Remove padding values in line_heights and glyph_position_x.  Each value
  in glyph_position_x now represents an actual glyph in the layout.

* Remove code intended to handle extra characters beyond the end of the
  last line.  The LineBreaker should ensure that the end of the last run
  matches the end of the last line.

* Return the upstream/downstream affinity of the cursor position in
  GetGlyphPositionAtCoordinate.

* Account for the space at the end of a word wrapped line in
  GetGlyphPositionAtCoordinate / GetCoordinatesForGlyphPosition
2017-09-22 15:15:59 -07:00
P.Y. Laligand
fc3cb8fb3b Adjust to new location of lib/tonic. (#4132) 2017-09-21 14:30:28 -07:00
Ian McKellar
dd1e0b59ec Support cleaner Dart isolate shutdown handling. (#4121)
If an isolate shuts down (for example if an app calls
Isolate.current.kill()), the UIDartState* on DartController will refer
to a freed object. This wires through notification that the is shutting
down through to the DartController so it can clean up appropriately.

This also makes gives the vm-service isolate an UIDartState* so that
the shutdown callback can behave correctly.
2017-09-19 12:11:05 -07:00
Ian Hickson
82fb559566 Add operators to Radius (#4117)
This will make it easier to implement BorderRadius RTL in a manner consistent with EdgeInsets.
2017-09-15 14:52:38 -07:00
Alexander Aprelev
0e8ffa24e0 Reverting to unblock engine roll (#4109)
* Revert "Make Travis happy again (#4101)"

This reverts commit c99b2559df05f4b5f547d26bb0a61d88809f5564.

* Revert "Support cleaner Dart isolate shutdown handling. (#4096)"

This reverts commit 05751f7be993316057d772e8334a783537e10e26.
2017-09-14 12:10:11 -07:00
Ian McKellar
05751f7be9 Support cleaner Dart isolate shutdown handling. (#4096)
If an isolate shuts down (for example if an app calls
Isolate.current.kill()), the UIDartState* on DartController will refer
to a freed object. This wires through notification that the is shutting
down through to the DartController so it can clean up appropriately.
2017-09-13 10:29:21 -07:00
Michael Goderbauer
08961f8ec5 Format all c-like sources with clang-format (#4088)
* format

* license script adaptions

* updated licenses

* review comments
2017-09-12 15:36:20 -07:00
George Kulakowski
3aa7522c11 Rename ftl to fxl in Fuchsia specific code (#4090) 2017-09-11 15:58:48 -07:00
Michael Goderbauer
afcc1d1e1f a11y improvements for iOS (#4079)
* Various iOS a11y fixes

* undo

* review comments

* review comments
2017-09-11 14:44:17 -07:00
Adam Barth
457f92ba48 Update paths for Mozart move (#4081) 2017-09-08 15:24:16 -07:00
Ian Hickson
2d7c30033d Pass TextDirection to ParagraphBuilder. (#4001) (#4019) 2017-09-07 15:37:25 -07:00
Ian McKellar
0047b71aaf Updates for the dart:fidl.internal rename and split. (#4070)
Now it references dart:zircon and dart:fuchsia.
2017-09-06 15:33:43 -07:00
Jason Simmons
1c6433fab4 Ellipsizing implementation for libtxt (#4048) 2017-09-01 14:17:04 -07:00
Chinmay Garde
a0f9084f48 Wire up support for multiple font managers in txt::FontCollection. (#4042) 2017-09-01 11:56:38 -07:00
Adam Barth
73554a1c32 Add //garnet (#4043)
This repository contains FTL now in the Fuchsia build.
2017-08-31 16:47:13 -07:00
Ian Hickson
60bce44c9f Implement i18n features in the a11y API. (#4029) 2017-08-28 16:12:39 -07:00
Jason Simmons
0fc962f0dc Rebase the libtxt integration by @GaryQian onto the current engine head (#4022)
See https://github.com/flutter/engine/pull/3964
2017-08-28 13:01:15 -07:00
Carlo Bernaschina
f5371156d2 Remove dependency from VM isolate name convention (#4007)
Dart_DebugName should be used just to make debug outputs more readable.

We remove the dependency from this API and form the UIDartState debug
name in the engine using the predefined format:
<script_uri>$main-<main_port>

This will allow the engine to change the format of the isolate name
without breaking the engine.
Related https://codereview.chromium.org/3004563003/
2017-08-25 11:11:52 -07:00
mikejurka
3e245ae812 Fix crash when removing stories. (#4003)
Ensure that a Mozart EntityNode (that corresponds
to an ExportNode) is always released on the
Rasterizer thread.

MZ-259
2017-08-23 17:32:19 -07:00
Ian Hickson
49d06b3860 Revert "Pass TextDirection to ParagraphBuilder. (#4001)" (#4004)
This reverts commit 86591145a320f2978c3f4c742c972a32bb8cb02a.
2017-08-23 11:14:26 -07:00
Ian Hickson
86591145a3 Pass TextDirection to ParagraphBuilder. (#4001) 2017-08-23 10:34:57 -07:00
Ian McKellar
f08b08417d Update to new Dart FIDL bindings API. (#3988)
* Update to new Dart FIDL bindings API.
2017-08-22 13:32:46 -07:00
Jason Simmons
74248d13e4 Allow infinity values in the Dart wrappers for Skia Canvas (#3985)
Fixes https://github.com/flutter/flutter/issues/11586
2017-08-16 16:21:52 -07:00
Jason Simmons
fef7d827d6 Allow infinite cull rectangles on a Canvas (#3975) 2017-08-10 17:20:59 -07:00
Jason Simmons
06f6a98706 Apply antialiasing in calls to SkCanvas::clipRect (#3973)
Without this, the cull rect calculated by an SkPicture may be truncated
to integer pixel coordinates.  The raster cache relies on a precise cull
rect in logical coordinates.

See https://bugs.chromium.org/p/skia/issues/detail?id=6954
2017-08-10 13:23:35 -07:00
Jason Simmons
27dfd06f91 Assert checks for NaN/infinite values in Skia canvas Dart wrappers (#3967) 2017-08-08 15:49:51 -07:00
Vyacheslav Egorov
c51b3ca86b hide Symbol exported from dart:_internal (#3861)
Both dart:core and dart:_internal export Symbol. 

This is silently ignored by the VM but some tools (e.g. fasta) report a warning when processing dart:ui sources.

See https://github.com/dart-lang/sdk/issues/30127 for more details.
2017-08-02 16:55:10 -07:00
xster
cafbd9b0b5 Extend iOS's drawing time to viewWillAppear <-> viewDidDisappear (#3934)
* fix (with squashed debug stuff)

* clean up
2017-07-31 15:12:32 -07:00
Ian Hickson
6bba11247c More documentation, mainly around saveLayer. (#3932) 2017-07-28 14:38:42 -07:00
Ian McKellar
68d3553f5b Use the tonic::HandleTable (#3924) 2017-07-26 12:19:34 -07:00
Jeff Brown
8ee1910ca9 Use metrics provided by scene events. (#3922)
Compute the necessary texture resolution using more accurate scaling
information provided by Mozart scene node metrics events instead of the
device pixel ratio provided by the Mozart view properties (which we
might remove in the future).

This allows us to allocate smaller textures when a Flutter view is
being scaled down.
2017-07-24 19:17:55 -07:00
Jason Simmons
e687626a65 Incorporate the device pixel ratio when drawing shadows (#3919) 2017-07-24 12:01:43 -07:00
Jason Simmons
784905ee92 Add an RRect.isRect property (#3908) 2017-07-19 17:30:31 -07:00
Chinmay Garde
536fb276fb Visualize image decoding and texture upload using trace flows. (#3907) 2017-07-19 16:22:06 -07:00
Ian Hickson
99bc6ee6bb Cleaner RRect.toString (#3906)
Will make debugging layer trees with PhysicalLayers easier.
2017-07-19 14:41:07 -07:00
Chinmay Garde
925298d947 Update the content handler to use the Mozart session API. (#3887) 2017-07-18 15:40:18 -07:00
Brian Osman
de00757ddb Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (#3878)" (#3895)
This reverts commit 1db18a40da855b102e391cb11189e73f9c2ec40d.
2017-07-18 15:58:35 -04:00
Jason Simmons
dd2fb3c04b Accumulate a batch of Skia objects that will be destructed later on the IO thread (#3888)
See https://github.com/dart-lang/sdk/issues/29971
2017-07-18 11:45:34 -07:00
Collin Jackson
1db18a40da Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (#3878)
This reverts commit 2d9155e174d83e9646c951dbbc85fe1eda8b20e9.

Fixes a regression with semitransparent images (flutter/flutter#11169)
2017-07-13 14:22:25 -07:00
Michael Goderbauer
63bf1d282f a11y: Add SemanticsAction "showOnScreen" (#3856)
This action is triggered when the user swipes (in accessibility mode) to the last visible item of a scrollable list to bring that item fully on screen.

iOS implementation to follow.
2017-07-12 15:52:30 -07:00
Jason Simmons
e556332932 Report size estimates to Dart for Image/Picture/Paragraph objects (#3840)
Fixes https://github.com/flutter/flutter/issues/11007
2017-06-29 14:14:33 -07:00
Brian Osman
2d9155e174 Reland "Run Flutter on iOS and Android with color correct Skia (#3826)
* Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)" (#3823)"

This reverts commit db8d8a9979901d05b011368226ad5bf61b1da13f.

* Fix test code to match internal API change
2017-06-27 13:30:10 -04:00
Yegor
926c9a581f preserve Window callback zones (#3817)
* preserve Window callback zones

Run Window callbacks in the zone they are registered in. This is consistent with how other native API work, such as `scheduleMicrotask`, `Timer`, and `dart:io`. This also enables the developers to use the `Zone` API to capture and log unhandled Dart errors.

* refactor wrapping

* new line

* fewer if checks; group getters/setters/fields

* inline _invokeOnPointerDataPacket
2017-06-26 15:08:43 -07:00
Brian Osman
db8d8a9979 Revert "Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)" (#3823)
This reverts commit 2650f529a138de9cc9116bb9194dbe22f8e0df25.
2017-06-23 20:28:24 -04:00
Brian Osman
2650f529a1 Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)
* Revert "Revert "Run Flutter on iOS and Android with color correct Skia (#3743)" (#3775)"

This reverts commit cfe70e07d386d6052267fe3772bbd641c8413a54.

* Enable sRGB on IO thread, too

* Add 4444 as a fallback rendering mode

* Use bare ptr to SkColorSpace (not sk_sp) in PrerollContext
2017-06-23 20:21:29 -04:00
Ian Hickson
6cf34cb5b3 Throw exceptions rather than crashing when Canvas API is misused. (#3811)
This attempts to make the Canvas API and some related features more
likely to throw a Dart exception than crash when exposed to bad input.

Depends on rolling tonic to
https://fuchsia-review.googlesource.com/c/35742/ which this patch does
not yet do, but I wanted to put it up for review to see if it was even
a reasonable approach.
2017-06-22 17:06:59 -07:00
Chris Bracken
fffe502d43 Revert libtxt integration (#3802)
* Revert "Fix licenses_lib golden file (#3798)"

This reverts commit d8ac43c3c9123fead15af3004d1e445834115bbd.

* Revert "Remove ParagraphConstriants (#3796)"

This reverts commit 8ccf767ff71c781588fb1e79cf3369604099a7cc.

* Revert "Reland "Initial integration of libtxt with Flutter alongside Blink." (#3793)"

This reverts commit 3c049219e1429c8e08632889b6c9e7b070bba534.
2017-06-20 09:59:56 -07:00
Chris Bracken
25c7a86a53 Eliminate ASL stdout forwarding on iOS (#3797)
ASL was deprecated in iOS 10 and started causing SIGPIPE issues in iOS
10.3. Under the iOS 8 SDK, syslog() stopped working as of iOS 10.3
devices, with the result that ASL stdout/stderr forwarding was the only
means of logging. The engine now builds against the iOS 10 SDK, with
deployment target of iOS 8. Under this SDK, syslog() works correctly
across all supported OS versions.

NOTE: This is a temporary fix to get developers unblocked. While this
does fix the SIGPIPE issue and put iOS logging on par with the Android
solution, the intent is to move to a dedicated communication channel
with flutter_tools that isn't log-based.
2017-06-19 18:10:30 -07:00
Gary Qian
8ccf767ff7 Remove ParagraphConstriants (#3796) 2017-06-19 17:12:54 -07:00
Gary Qian
3c049219e1 Reland "Initial integration of libtxt with Flutter alongside Blink." (#3793)
* Transition to Hybrid lib/txt and blink text system.
2017-06-19 15:21:41 -07:00