53 Commits

Author SHA1 Message Date
Jason Simmons
2c5f028ddd Fix a race in PlatformView construction (#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
8e7d68f823 Return an exit code from sky_shell representing what kind of error occurred (#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
2986418cf4 Make the diagnostic "listening on" message consistent with observatory's (#3370) 2017-01-26 15:51:34 -08:00
Jason Simmons
8fea842f02 Add a flag to sky_shell that keeps the process alive after the Dart script completes (#3363) 2017-01-25 12:06:23 -08:00
Jason Simmons
fdcd65eedd Exit the non-interactive sky_shell on Linux when the Dart script has completed (#3358)
The script will be finished when the microtask queue has been drained and
Dart_HasLivePorts is returning false for the main isolate
2017-01-24 15:39:30 -08:00
Ryan Macnak
adef37080f Adapt to refactoring of snapshot APIs in the Dart VM. (#3354)
Adapt to refactoring of snapshot APIs in the Dart VM.
2017-01-23 12:09:59 -08:00
Jason Simmons
d9cc317771 Add flags for disabling the diagnostic server or setting its port (#3352)
Fixes https://github.com/flutter/flutter/issues/7557
2017-01-20 15:18:13 -08:00
Chinmay Garde
94306f4103 Add a Vulkan backend for Fuchsia and Android. (#3282) 2017-01-20 14:37:10 -08:00
Jason Simmons
d394e8a9bf Clear the GPU thread's EGL context only after the GPUSurfaceGL has been destroyed (#3346)
The GPUSurfaceGL holds references to Skia objects that may own GL objects.
If the GL objects are destructed on the GPU thread after the EGL context has been
dropped, then the GL delete calls will not take effect.
2017-01-18 17:19:50 -08:00
Jason Simmons
5f91ff02a9 An API for setting the tag for Flutter log messages on Android (#3335)
Fixes https://github.com/flutter/flutter/issues/7226
2017-01-12 15:47:18 -08:00
Chinmay Garde
b03af31861 Re-format all GN files using gn format. (#3319) 2017-01-03 15:59:48 -08:00
Chinmay Garde
8ae2d455be Display resident memory statistics on the performance overlay. (#3314) 2017-01-03 12:27:30 -08:00
Jason Simmons
c6e008178e Detach the EGL surface from the GPU thread and then destroy it during the FlutterView surfaceDestroyed callback (#3316)
Fixes https://github.com/flutter/flutter/issues/7147
2016-12-16 15:36:33 -08:00
Chinmay Garde
e133b4fb17 Add option to desktop test shells to use an embedded font for consistent unit tests. (#3301)
* This allows the tests to add their own FLX files but still use consistent fonts.
* The test fonts are only embedded on the desktop test shells. The option is not available on mobile platforms.
* Right now, all fonts will resolve to the test font. If we want tests to be able to use the fonts they embed in FLX files but use the test font for platform fallbacks, we will need to add font selector fallbacks. I can do this in an another patch. So far, there are no users of this functionality.
2016-12-09 14:47:49 -08:00
Jason Simmons
cd04cf5ced Fix invalid JSON in listViews RPC response when a view does not have an isolate (#3295)
Fixes https://github.com/flutter/flutter/issues/7174
2016-12-07 13:11:41 -08:00
Todd Volkert
dd17a112c1 Make dylib filename configurable in Info.plist for iOS (#3277) 2016-11-28 19:44:08 -08:00
Chinmay Garde
cd9caf6de6 Update Skia revision to pull in GL native interface construction fixes on iOS. (#3265)
* Update Skia revision to pull in GL native interface construction fixes on iOS.

Fixed in https://skia-review.googlesource.com/c/5212/

* Use the new image encoder API from Skia.
2016-11-23 13:36:14 -08:00
Chinmay Garde
cc45975563 Rework switches in the shell so that they display help text for all flags. (#3259) 2016-11-22 16:58:55 -08:00
Chinmay Garde
44ef3f3d23 Remove defunct reference to //third_party/libjpeg. (#3261) 2016-11-22 16:55:53 -08:00
Chinmay Garde
327d122de9 Disable profiling by default. Allow enabling via --enable-dart-profiling. (#3238) 2016-11-21 11:50:42 -08:00
Adam Barth
21f6aa5270 Composite child views in proper paint order (#3243)
We push a bit up the tree during preroll to learn whether there system
composited layers below each layer. During update scene, we squash down
to paint tasks, which we execute after publishing the new scene.
2016-11-18 12:54:54 -08:00
Chinmay Garde
036bc0d356 Update Skia and get using its BUILD.gn instead of maintaining own own copy. (#3233) 2016-11-17 12:36:16 -08:00
Adam Barth
63e71803de Unlink from mojo (#3187)
After this patch, we no longer link with Mojo. We still use some gn definitions
from //mojo to create Dart packages.
2016-10-28 15:01:07 -07:00
Adam Barth
4b8c9051e5 Remove last mojom interface (#3184)
We no longer use mojom to transport messages. We still use the Mojo EDK
to spin the event loop, however.
2016-10-28 11:46:57 -07:00
Adam Barth
e26bf9a813 Unify the various run methods on engine (#3183)
Now they all flow through some common routines.
2016-10-27 17:03:32 -07:00
Adam Barth
9eaedb0677 Migrate ViewportMetrics away from Mojo (#3180)
Now we just pass the data directly.
2016-10-27 13:12:55 -07:00
Adam Barth
7e5d63513a Move lifecycle, navigation, and localization to platform messages (#3172)
Previously, these signals were sent over Mojo. Now we send them through
platform messages.
2016-10-25 15:51:27 -07:00
Adam Barth
a8604ba9d2 Remove spurious log 2016-10-24 19:54:42 -07:00
Adam Barth
d4f67e6b75 Migrate vsync away from Mojo services (#3169)
Instead, just use JNI and Objective-C directly.
2016-10-24 16:14:37 -07:00
Adam Barth
0aea498f61 Remove MojoServices from dart:ui (#3161)
We no longer offer mojo handles via this mechanism.
2016-10-20 20:27:07 -07:00
Adam Barth
b1c0ea79ca Switch engine over to platform messages (#3153)
This patch removes the use of the host messages mojom and switch all
message routing over to platform messages.
2016-10-19 22:36:00 -07:00
Adam Barth
6aab8f2c60 Add assets plugin (#3151)
This plugin is implemented internally by the engine to integrate with the asset
system.
2016-10-19 16:57:32 -07:00
Adam Barth
ae5d521e54 Switch from char to uint8_t to represent memory (#3147)
Previously we had a mix of the two.
2016-10-19 16:49:36 -07:00
Adam Barth
82728570b7 Response messages (#3134)
Add plunbing for Host-to-Dart platform messages

We'll use the plumbing in this direction for things like key events.
2016-10-14 15:51:25 -07:00
Adam Barth
6042580f9e Rewire platform messages to work like semantics (#3118)
After this patch, platform messages now take the same path through the system
that semantics data does (on Android). Support on iOS will be in another patch.
2016-10-11 19:02:04 -07:00
Adam Barth
e8f57e74a1 Improve new semantics backend (#3113)
TalkBack still isn't fully working, but this patch gets us much closer.
2016-10-11 13:27:11 -07:00
Jason Simmons
7d7a9c76b3 Remove obsolete PlatformView::Resize and GetSize methods (#3112) 2016-10-11 11:55:23 -07:00
Adam Barth
2dc88cc6a5 Switch backend to consume new semantics API (#3103) 2016-10-11 10:52:48 -07:00
Adam Barth
192bc174c2 Update //lib/ftl (#3108)
This fixes this Fuchsia build, which uses the latest //lib/ftl.
2016-10-07 14:07:09 -07:00
Adam Barth
dec24015d7 Add new platform message transport on Android (#3105)
This transport uses the Dart and JNI APIs directly instead of indirecting
through Mojo.
2016-10-07 12:05:43 -07:00
Adam Barth
881fc5841f Remove failed UIDelegate abstraction (#3106)
We only ever had one UIDelegate. We might as well have people use the Engine
interface directly.
2016-10-06 16:19:05 -07:00
Chinmay Garde
fdf13d720e Make the PlatformView client rendering API agnostic. (#3099) 2016-10-06 15:06:21 -07:00
Adam Barth
166f44c0f7 Remove pointer.mojom (#3102)
This patch moves the rest of the clients to use the new PointerData
transport.
2016-10-06 10:59:30 -07:00
Adam Barth
f97caf271c Expose SemanticsUpdate and SemanticsUpdateBuilder (#3098)
This patch prepares us to switch sending semantics information over mojom to
using dart:ui directly. Currently the recorded information is dropped on the
floor, but that will improve in future patches.
2016-10-05 12:22:03 -07:00
Adam Barth
862d9e9f6b Android should use PointerDataPackets (#3092)
We now use JNI rather than Mojo to transport pointer data from Java to Dart.
Also, fill in a few more of the pointer data fields from information in Java.
2016-10-03 21:02:46 -07:00
Jason Simmons
8de1aedc20 Service protocol extension for grabbing screenshots (#3087)
This is intended for use in flutter_driver tests
2016-10-03 10:39:16 -07:00
Adam Barth
30d87519b1 Stop dispatching pointer packets (#3080)
Long live pointer data packets.
2016-09-29 21:59:44 -07:00
Jeff Brown
d755b30ffd Update skia to e038489a743d6c0ab1cb208862c305180815bc8e. (#3074) 2016-09-28 19:39:19 -07:00
Adam Barth
5f7b060522 Switch to manually encoded pointer data (#3073)
Rather than using mojom to encode pointer data, we now encode and decode it
manually. A future patch will remove the mojom codepath once the framework is
updated.
2016-09-28 15:50:09 -07:00
Chinmay Garde
d60efb4289 Update buildtools to latest, account for GN updates and use Clang on Android. (#3064) 2016-09-28 11:48:48 -07:00