100 Commits

Author SHA1 Message Date
Carlo Bernaschina
e7cd520490 Add waitUIThreadIdle service RPC (flutter/engine#3898)
In https://github.com/flutter/engine/pull/3833 the `_flutter.listViews` RPC moved from thread based to lock based synchronization.
The thread based synchronization side effect was used by flutter benchmarks in https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/vmservice.dart#L1223 and
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/run_hot.dart#L156 to ensure the completeness of the restart/reload and so correct timing.

A new RPC `_flutter.flushUIThreadTasks` is introduced to allow the flutter benchmarks to reintroduce thread based synchronization.

Related https://github.com/flutter/flutter/issues/11241
2017-07-19 15:48:32 -07:00
Brian Osman
1a126078de Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (#3878)" (flutter/engine#3895)
This reverts commit 849b700434fdcd3fc24f05640582b127654aa7d8.
2017-07-18 15:58:35 -04:00
Brian Osman
c193d71868 Revert "Revert "Switch to new encode API on SkPixelSerializer"" (flutter/engine#3896)
* Revert "Accumulate a batch of Skia objects that will be destructed later on the IO thread (#3888)"

This reverts commit 29bacddb699c6f996bf9f6a241d35bd4cf650df4.

* Revert "Revert "Switch to new encode API on SkPixelSerializer (#3892)" (#3894)"

This reverts commit 8648dd3b82ddf58ab4b0230d019219eb890ed173.
2017-07-18 15:44:13 -04:00
Brian Osman
8648dd3b82 Revert "Switch to new encode API on SkPixelSerializer (#3892)" (flutter/engine#3894)
This reverts commit 78023f7ae74df1c543e253ff9ad427ef1f131652.
2017-07-18 13:58:56 -04:00
Brian Osman
78023f7ae7 Switch to new encode API on SkPixelSerializer (flutter/engine#3892)
Previous API is deprecated, soon to be deleted.
2017-07-18 13:04:51 -04:00
Collin Jackson
849b700434 Revert "Reland "Run Flutter on iOS and Android with color correct Skia (#3826)" (flutter/engine#3878)
This reverts commit 3cfb2821b9aa7f288d6aedd9f90c51b11bf451ad.

Fixes a regression with semitransparent images (flutter/flutter#11169)
2017-07-13 14:22:25 -07:00
Carlo Bernaschina
c9286a9e4d Add missing virtual methods in PlatformView (flutter/engine#3867) 2017-07-12 13:06:02 -07:00
Carlo Bernaschina
dc20dc0cec Avoid to freeze the system if hot reloading during debug (flutter/engine#3833) 2017-07-12 10:25:42 -07:00
Brian Osman
3cfb2821b9 Reland "Run Flutter on iOS and Android with color correct Skia (flutter/engine#3826)
* Revert "Revert "Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)" (#3823)"

This reverts commit fdaab5c38fa82de669347508817b377285733946.

* Fix test code to match internal API change
2017-06-27 13:30:10 -04:00
Brian Osman
fdaab5c38f Revert "Reland "Run Flutter on iOS and Android with color correct Skia" (#3818)" (flutter/engine#3823)
This reverts commit cadd2d3fca1103ea0cbfb9f23dbc54907acac759.
2017-06-23 20:28:24 -04:00
Brian Osman
cadd2d3fca Reland "Run Flutter on iOS and Android with color correct Skia" (flutter/engine#3818)
* Revert "Revert "Run Flutter on iOS and Android with color correct Skia (#3743)" (#3775)"

This reverts commit c49f348d7c4238d653e7f3bbb8ce7cfab0996ad1.

* 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
Sarah Zakarias
e0d7204728 Send AppLifecycleState notifications on FlutterViewController lifecycle events. (flutter/engine#3801) 2017-06-21 14:39:05 +02:00
P.Y. Laligand
96ec6f66a4 Update to newer version of the FTL. (flutter/engine#3804) 2017-06-20 16:53:14 -07:00
Chris Bracken
1fd2bd9850 Revert libtxt integration (flutter/engine#3802)
* Revert "Fix licenses_lib golden file (#3798)"

This reverts commit d8ac43c3c9123fead15af3004d1e445834115bbd.

* Revert "Remove ParagraphConstriants (#3796)"

This reverts commit 2358613f9b6e3f3eee70f1cbfd2af92d3c049475.

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

This reverts commit d9bc2f5604e5cfef7deef2f813751e0cd46a515d.
2017-06-20 09:59:56 -07:00
Chris Bracken
22674ba9e6 Eliminate ASL stdout forwarding on iOS (flutter/engine#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
d9bc2f5604 Reland "Initial integration of libtxt with Flutter alongside Blink." (flutter/engine#3793)
* Transition to Hybrid lib/txt and blink text system.
2017-06-19 15:21:41 -07:00
Chris Bracken
ec07bed91f Revert "Update to newer version of the FTL. (#3786)" (flutter/engine#3792)
This reverts commit f757c49416d39e74c5c11bdbd9659aed362a8e32.
2017-06-19 15:02:52 -07:00
P.Y. Laligand
f757c49416 Update to newer version of the FTL. (flutter/engine#3786) 2017-06-19 12:48:23 -07:00
Ian McKellar
756341be6e Revert "Initial integration of libtxt with Flutter alongside Blink." (flutter/engine#3785)
* Revert "Enable line join styles and miter limit. (#3777)"

This reverts commit cafd4b93a06b6d327f1bc59e296bf2c618eb34e4.

* Revert "Revert "Update switches to use StringView." (#3784)"

This reverts commit 5ffa5ef3a6b2c8689c7d12cd67b6823ba25783a5.

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

This reverts commit b4a9f9c6d5008f677400826dfa3a0ab30de3db23.
2017-06-16 15:15:48 -07:00
P.Y. Laligand
5ffa5ef3a6 Revert "Update switches to use StringView." (flutter/engine#3784)
* Revert "Initial integration of libtxt with Flutter alongside Blink. (#3771)"

This reverts commit b4a9f9c6d5008f677400826dfa3a0ab30de3db23.

* Revert "Call Selection.removeSelection if the framework has cleared the selection (#3782)"

This reverts commit 2a34ee9a676b0049a18fc9e131ad1b311e1ea848.

* Revert "Update switches to use StringView. (#3781)"

This reverts commit 6adf58135e16dfb0ff04b00672abe6f0876c91b4.
2017-06-16 14:32:09 -07:00
Gary Qian
b4a9f9c6d5 Initial integration of libtxt with Flutter alongside Blink. (flutter/engine#3771) 2017-06-16 14:15:53 -07:00
P.Y. Laligand
6adf58135e Update switches to use StringView. (flutter/engine#3781)
See https://fuchsia-review.googlesource.com/#/c/31931/.
2017-06-16 12:51:26 -07:00
Sarah Zakarias
0dd69f7b07 Add setInitialRoute on FlutterView. (flutter/engine#3727) 2017-06-06 10:59:41 +02:00
Gary Qian
49440f6e14 Allow switching to the software rendering backend on Android. (flutter/engine#3719)
* Enable software rendering backend on android. Add "enable-software-rendering" flag.

* Fix variable naming and threading.
2017-05-31 17:27:47 -07:00
Chris Bracken
120a624660 Add inactive, suspending ApplicationLifecycleState values (flutter/engine#3713)
**This is a breaking change on iOS**

Previously, the `paused` state was entered when the application resigned
active status. `inactive` now maps to this status. `paused` now maps to
an app that has been backgrounded.

`inactive` is currently emitted on iOS only and corresponds to iOS's
foreground inactive state.

Current state transitions are:
`resumed` <--> `inactive` <--> `paused`

suspending is currently emitted on Android only and corresponds to the
transition to Android's stopped state.

Current state transitions are:
`resumed` <--> `paused` --> `suspending` --> `resumed`

These transitions may change in future.
2017-05-24 16:34:34 -07:00
Todd Volkert
855f18ecc1 Add ipv6 flag to shell. (flutter/engine#3646)
It controls whether the observatory and diagnostic server will
bind to the IPv6 loopback address rather than the IPv4.

Fixes https://github.com/flutter/flutter/issues/9813
2017-05-04 19:35:59 -07:00
Chinmay Garde
b313dac389 Call SkGraphics::Init on shell initialization. (flutter/engine#3628)
This ensures SkOpts are initialized before we start using Skia.
2017-04-25 21:47:09 -07:00
P.Y. Laligand
3e74263ff6 Fix -Wmissing-field-initializer warning on Fuchsia. (flutter/engine#3624) 2017-04-24 14:06:37 -07:00
Chinmay Garde
b1c35cc789 Remove fml::ThreadChecker and use the one in ftl. (flutter/engine#3623) 2017-04-24 12:22:10 -07:00
Chinmay Garde
54d846b871 Only log about resource context setup failures on debug builds. (flutter/engine#3601)
We were unnecessarily alarming users when they used the software backend. Fixes https://github.com/flutter/flutter/issues/9394
2017-04-17 14:26:51 -07:00
Chinmay Garde
97af2def3e Add support for scaling the GPUSurfaceSoftware. (flutter/engine#3600) 2017-04-17 14:07:22 -07:00
Ryan Macnak
32cd986649 AOT for Fuchsia. (flutter/engine#3570) 2017-04-11 14:53:14 -07:00
Ryan Macnak
ec2be075b2 Adjust GN for removal of libdart, take two. (flutter/engine#3584)
Update targets only included in host_debug_unopt.
2017-04-11 09:52:54 -07:00
Ryan Macnak
e869784502 Revert "Adjust GN for removal of libdart. (#3583)"
This reverts commit bb091fd4558c3807e86fe518d036504ebc37bb72.
2017-04-10 17:07:28 -07:00
Ryan Macnak
bb091fd455 Adjust GN for removal of libdart. (flutter/engine#3583) 2017-04-10 16:42:27 -07:00
Mikkel Nygaard Ravn
12745a7b02 Distinguish between null platform message and one with zero-byte payload (flutter/engine#3577) 2017-04-09 00:07:28 +02:00
Chinmay Garde
000807898d Cleanup timeline markers. (flutter/engine#3540)
* Name the platform thread in the timeline. This does not affect (nor is it affected by) the pthread name set by the embedder.
* Make it easier in the timeline to see not only when the frame was request, but also when that frame request was fulfilled.
* Trace message loop wakes.
2017-03-29 13:04:25 -07:00
Chinmay Garde
6ff5a41327 Remove uses of //base from all //flutter projects and replace them with //fml variants. (flutter/engine#3492) 2017-03-22 15:42:51 -07:00
Chris Bracken
b4f50b27ce Perform all iOS logging through ASL (flutter/engine#3481)
* Perform all iOS logging through ASL

As of iOS 10, ASL is deprecated and replaced with os_log. ASL calls
continue to result in logging but as of iOS 10.3, only ASL_LOG_NOTICE
level and above are logged.

This change partially reverts d67972d649157582358876f90a99577cb3708e82,
adding back stdout and stderr redirection, which resulted in loss of
some direct writes to stdout that were necessary for debugging.

This change replaces the direct use of syslog with ASL on iOS, which
Apple has stated will continue to log on iOS >= 10. This eliminates the
need for the previous fwd-declaration of syslog.
2017-03-16 18:50:33 -07:00
Chris Bracken
d67972d649 Eliminate use of ASL on iOS, --no-redirect-to-syslog flag (flutter/engine#3479)
ASL is deprecated and replaced by os_log() on iOS. As of iOS 10.3,
calling this function breaks our logging altogether. os_log isn't
available pre-iOS 10.0. Rather than implement version checks and
conditional logic, this change eliminates the existing redirection
altogether. All engine code should be logging via the syslog redirection
implemented in Logger_PrintString in dart_runtime_hooks.cc.

Since stdio redirection is eliminated, we eliminate the flag that
controls whether such redirection is enabled.
2017-03-15 13:35:53 -07:00
Chinmay Garde
aac27e52b3 Use software rendering on iOS simulators without needing a flag. (flutter/engine#3465) 2017-03-06 14:49:25 -08:00
Jason Simmons
5683b4d5fc Disable the cache on the GrContext used for decoding images (flutter/engine#3451)
Fixes https://github.com/flutter/flutter/issues/8429
2017-02-27 16:21:21 -08:00
Chinmay Garde
0110abf008 Allow plugging in a software backend for rendering in the shell. (flutter/engine#3404) 2017-02-22 15:40:23 -08:00
Chinmay Garde
7e31feadc0 Remove texture image. (flutter/engine#3434) 2017-02-16 16:26:02 -08:00
Dan Rubel
011f142515 add kernel support (flutter/engine#3369) 2017-02-16 10:11:38 -05:00
Chinmay Garde
42d77d6159 Revert ShadowMaskFilter use and roll Skia to 246a3c269d8dc91a47ff27f7b71508bf9e74edf5. (flutter/engine#3409) 2017-02-10 16:01:36 -08:00
Chinmay Garde
ea582e5d36 Allow running in debug product mode with checked mode off. (flutter/engine#3398) 2017-02-07 17:01:27 -08:00
Jason Simmons
23a36caa6f Fix a race in PlatformView construction (flutter/engine#3380)
The PlatformView superclass constructor was posting a task to the UI thread
that adds the view to the shell's global list.  This could result in UI thread
operations seeing PlatformView instances that are not fully constructed and do
not yet have an engine.

This was happening in https://github.com/flutter/flutter/issues/7735
2017-01-31 17:54:34 -08:00
Jason Simmons
cf7899dde4 Return an exit code from sky_shell representing what kind of error occurred (flutter/engine#3368)
This is intended to match the exit codes returned by the Dart command line tool
2017-01-27 09:59:08 -08:00
Ian Hickson
ee825ea5d7 Make the diagnostic "listening on" message consistent with observatory's (flutter/engine#3370) 2017-01-26 15:51:34 -08:00