109 Commits

Author SHA1 Message Date
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
Zachary Anderson
23036e515a Fixes for gypi -> gni change in Dart (#3977) 2017-08-15 07:44:27 -07:00
xster
f187a5c219 Create platform API for first frame callback. Use for defer hiding splash screens on Android and iOS (#3956)
* Add back launch screen view until first frame on iOS

* improvements

* Move callback plumbing from ios surfaces to the gpu rasterizer. Didn’t wire java JNI yet.

* Android JNI

* Fix ios reference count and let android engine manage a view on top with launch screen

* Hook up Android activity and view

* review notes

* review notes

* Move thread switching upstream. Use weak references for callbacks.

* Some clean up
2017-08-14 15:44:52 -07:00
Jason Simmons
42f5bc5fdf Fixes related to usage of std::weak_ptr to hold PlatformViews (#3949)
* Call weak_ptr.lock(), which returns a null shared_ptr and does not throw
* IsViewInvalid was inverted
2017-08-03 10:53:17 -07:00
Chinmay Garde
f2af347363 Always consume items from the pipeline in the null rasterizer. (#3937)
Now, frame requests past the pipeline depth will never be deferred due
to back pressure. This backend is only used in the test runner.
2017-07-31 15:16:48 -07:00
Chinmay Garde
ddaa125ca7 When the surface does not support SRGB, render to an offscreen texture. (#3930) 2017-07-28 12:48:32 -07:00
Alexander Aprelev
ba9a525bdc Update Flutter engine kernel-loading logic. (#3886)
* Fix Flutter loading from dill files.

* Remove disable of causal async stacks.

* Include mirrors patch files as they are needed for release/profile gen_snapshot

* Free the bytes

* Add FTL_DCHECK
2017-07-24 09:47:23 -07:00
xster
aeaefbaddf Always schedule a frame on app did become active (#3910) 2017-07-20 10:54:08 -07:00
Chinmay Garde
5fcfb995bb Reduce layer tree pipeline depth to 2. (#3909) 2017-07-19 17:47:44 -07:00
Carlo Bernaschina
53c9a70282 Add waitUIThreadIdle service RPC (#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
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
Brian Osman
569de1e6d5 Revert "Revert "Switch to new encode API on SkPixelSerializer"" (#3896)
* Revert "Accumulate a batch of Skia objects that will be destructed later on the IO thread (#3888)"

This reverts commit dd2fb3c04bb090915b698266ace8680d2747c9db.

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

This reverts commit bd2294381078dddb12cd95a6b0bd681c6c5de54a.
2017-07-18 15:44:13 -04:00
Brian Osman
bd22943810 Revert "Switch to new encode API on SkPixelSerializer (#3892)" (#3894)
This reverts commit aabc95df8c93625be74c8413816f54d6f71bae94.
2017-07-18 13:58:56 -04:00
Brian Osman
aabc95df8c Switch to new encode API on SkPixelSerializer (#3892)
Previous API is deprecated, soon to be deleted.
2017-07-18 13:04:51 -04: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
Carlo Bernaschina
354d90a957 Add missing virtual methods in PlatformView (#3867) 2017-07-12 13:06:02 -07:00
Carlo Bernaschina
8ba522eeae Avoid to freeze the system if hot reloading during debug (#3833) 2017-07-12 10:25:42 -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
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
Sarah Zakarias
a87d15d62e Send AppLifecycleState notifications on FlutterViewController lifecycle events. (#3801) 2017-06-21 14:39:05 +02:00
P.Y. Laligand
76397e98b4 Update to newer version of the FTL. (#3804) 2017-06-20 16:53:14 -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
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
Chris Bracken
14f2ffaeaa Revert "Update to newer version of the FTL. (#3786)" (#3792)
This reverts commit 1e9e134d7d7444506f3103d673fcd26e4066e80a.
2017-06-19 15:02:52 -07:00
P.Y. Laligand
1e9e134d7d Update to newer version of the FTL. (#3786) 2017-06-19 12:48:23 -07:00
Ian McKellar
d2c77f973d Revert "Initial integration of libtxt with Flutter alongside Blink." (#3785)
* Revert "Enable line join styles and miter limit. (#3777)"

This reverts commit 5403f65bcad98bd0d434cae590e2a337a1ea218c.

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

This reverts commit 80f039ff324b827cc17567867bd17c788277b0cf.

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

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

This reverts commit c548c65b5020653087b63f1f156741a1f95b5117.

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

This reverts commit e5b79ba63b92aa0c4299836f4433ec0de23b7cb3.

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

This reverts commit 07d4357b1ac4c7aa8c13f1627071e43096ef3cc5.
2017-06-16 14:32:09 -07:00
Gary Qian
c548c65b50 Initial integration of libtxt with Flutter alongside Blink. (#3771) 2017-06-16 14:15:53 -07:00
P.Y. Laligand
07d4357b1a Update switches to use StringView. (#3781)
See https://fuchsia-review.googlesource.com/#/c/31931/.
2017-06-16 12:51:26 -07:00
Sarah Zakarias
f37aafd456 Add setInitialRoute on FlutterView. (#3727) 2017-06-06 10:59:41 +02:00
Gary Qian
796259c089 Allow switching to the software rendering backend on Android. (#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
75c74dc463 Add inactive, suspending ApplicationLifecycleState values (#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
f5d92bee15 Add ipv6 flag to shell. (#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
cfcf10bb41 Call SkGraphics::Init on shell initialization. (#3628)
This ensures SkOpts are initialized before we start using Skia.
2017-04-25 21:47:09 -07:00
P.Y. Laligand
2e7e40c5a7 Fix -Wmissing-field-initializer warning on Fuchsia. (#3624) 2017-04-24 14:06:37 -07:00
Chinmay Garde
5757991fe9 Remove fml::ThreadChecker and use the one in ftl. (#3623) 2017-04-24 12:22:10 -07:00
Chinmay Garde
c92f5508d3 Only log about resource context setup failures on debug builds. (#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
306a4772f5 Add support for scaling the GPUSurfaceSoftware. (#3600) 2017-04-17 14:07:22 -07:00
Ryan Macnak
1084a83f11 AOT for Fuchsia. (#3570) 2017-04-11 14:53:14 -07:00
Ryan Macnak
1fed16fb25 Adjust GN for removal of libdart, take two. (#3584)
Update targets only included in host_debug_unopt.
2017-04-11 09:52:54 -07:00
Ryan Macnak
6d4b153ba8 Revert "Adjust GN for removal of libdart. (#3583)"
This reverts commit f5d0004ebd0db95c4019ca27fde2aceb0b3fe3e3.
2017-04-10 17:07:28 -07:00
Ryan Macnak
f5d0004ebd Adjust GN for removal of libdart. (#3583) 2017-04-10 16:42:27 -07:00
Mikkel Nygaard Ravn
68194b8df8 Distinguish between null platform message and one with zero-byte payload (#3577) 2017-04-09 00:07:28 +02:00
Chinmay Garde
0451dc1106 Cleanup timeline markers. (#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
1c07ea530f Remove uses of //base from all //flutter projects and replace them with //fml variants. (#3492) 2017-03-22 15:42:51 -07:00
Chris Bracken
24d9d25395 Perform all iOS logging through ASL (#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 2937f06a15cecf5e9398334617ca156316dae52b,
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
2937f06a15 Eliminate use of ASL on iOS, --no-redirect-to-syslog flag (#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
be5d971aa7 Use software rendering on iOS simulators without needing a flag. (#3465) 2017-03-06 14:49:25 -08:00