87 Commits

Author SHA1 Message Date
Adam Barth
9c09565712 Update paths to account for buildroot 2016-08-09 13:52:15 -07:00
Adam Barth
5f65a121ad Remove //base dependency from engine.cc (#2891)
We now just call stat directly to test whether a file exists.
2016-08-09 11:21:02 -07:00
Adam Barth
5f75e0bf30 Remove more //base dependencies from //sky/shell (#2889)
This patch hides the base::SingleThreadedTaskRunner, which pulls a big
switchover to ftl::WeakPtr and std::function.
2016-08-08 20:00:37 -07:00
John McCutchan
dedab3e6e7 Add an association between FlutterViews and Dart Isolates to the PlatformView service protocol support (#2886) 2016-08-08 13:04:15 -07:00
Adam Barth
13af58bfc4 Remove //base dependency from asset system (#2885)
This patch centralizes the asset bundle processing in //flutter/assets and
removes the //base dependency from the code.
2016-08-08 12:56:13 -07:00
Chinmay Garde
cebfd92d5b Give the mac desktop its own VSync provider. (#2877) 2016-08-05 16:37:12 -07:00
Adam Barth
5feb8266f8 Switch //sky/engine to ftl::TaskRunner (#2866)
The ftl::TaskRunner is still based on a base::MessageLoop, but this patch paves
the way to replace the message loop on Fuchsia.
2016-08-04 19:25:04 -07:00
John McCutchan
b13b79b331 Implement RunInView service protocol extension (#2862) 2016-08-04 14:10:27 -07:00
Adam Barth
2629d5e73b Remove a pile of dead code (#2855)
* Remove time

* Remove rand

* Remove array buffers

* Remove more code

* Remove more image decoding code

* Remove more code

* Remove old public API

* Remove more old public headers

* Remove layout test support

* Remove WebPrivateOwnPtr

* Remove WebString

* Remove worker pool
2016-08-03 09:14:34 -07:00
Adam Barth
d6476a65c3 Port //flow to //lib/ftl (#2847)
This patch removes almost all //base dependency of //flow. The only dependency
left is on tracing.
2016-08-01 15:11:56 -07:00
Adam Barth
b6ad88501f Roll mojo2 (#2722)
* Update to mojo 7d579155cc597aa3befcbfad66eef54bda06b57c

* Update to new API
2016-05-27 17:06:21 -07:00
Adam Barth
1035e5e60b Roll Mojo to 9a791294e429f9f2ca4f427796a284edb6f6768e (#2663)
* Update to mojo 9a791294e429f9f2ca4f427796a284edb6f6768e

* Update to account for Mojo API changes
2016-05-09 10:56:47 -07:00
Adam Barth
622afbb75c window.render should render immediately (#2603)
Previously we would hold the layer tree until the we returned from Dart. Now we
send the layer tree to the rasterizer thread immediately.

Fixes #212
2016-04-20 13:37:40 -07:00
Adam Barth
0edb28b1a7 Fix Mozart crash
Fixes #3095
2016-04-05 12:02:37 -07:00
Adam Barth
3f7d5ef6f8 Update code to account for Mozart changes
The layout protocol in Mozart changed. Now we need to pipe a scene version
through the system to the compositor.
2016-03-30 15:13:58 -07:00
Adam Barth
c4e182743e Teach SkyShell about .packages files
SkyShell now supports --packages instead of --package-root.
2016-03-28 12:51:56 -07:00
Adam Barth
678d5f9bac Cleanup MojoServices in dart:ui
This patch cleans up the way we expose Mojo services into Dart. It also adds a
service provider for "view services," which will evetually contain the raw
keyboard service.
2016-03-18 10:52:13 -07:00
Adam Barth
410aac589b Flutter apps in Mozart should have reasonable Uri.base
Previously this value was the temp directory that we used to store the FLX
bundle. Now it's the URL given to us by MojoShell.
2016-03-18 09:53:44 -07:00
Chinmay Garde
09972ad11c Wire up the TracingController to the the Dart embedder timeline API 2016-03-16 16:08:47 -07:00
Hixie
121fe0df40 Fix startup crash caused by mojo roll. 2016-03-03 09:29:33 -08:00
Adam Barth
95b5d5dfa8 Update uses of Mojo to new interfaces 2016-03-02 14:14:55 -08:00
Jason Simmons
41f93f4099 Rename DOMDartState to UIDartState 2016-03-02 10:47:30 -08:00
Jason Simmons
0ede7dded8 Implement support for invoking Mojo services from secondary isolates 2016-02-29 16:20:27 -08:00
Chinmay Garde
f9281a1edf Allow specification of the FLX bundle (containing no Dart snapshot) outside the iOS/Mac application bundle.
Allows launching of apps without having any Xcodebuild step in the simulator.
2016-02-29 13:16:01 -08:00
Jason Simmons
470118b0de Support spawning new Dart isolates from within a Flutter app 2016-02-24 14:59:59 -08:00
Jason Simmons
0b8038fa1e Support loading of custom fonts
The FLX will contain a font manifest JSON file that maps font family names
to custom font assets.  Flutter will provide a FontSelector that loads
fonts on demand and caches typeface and style data.
2016-02-17 12:07:22 -08:00
Adam Barth
9dae74e97b Remove dart:ui_internals
This patch merges these functions into dart:ui, which is simpler.

Fixes #83
2016-02-12 22:44:20 -08:00
Jason Simmons
f4542c9152 Use Engine::RunFromBundle and the ZipAssetBundle on all platforms 2016-02-12 11:50:00 -08:00
Jason Simmons
ae517c2fee Add a way to override the snapshot when running an FLX bundle 2016-02-09 10:08:26 -08:00
Jason Simmons
97e65a4571 Serve the asset bundle directly out of an FLX zip file
Currently, during application startup we:
  * copy the FLX file to a Mojo pipe
  * write the Mojo pipe contents back to a temporary file on disk
  * unzip the FLX contents into cache storage
This contributes to startup latency and requires that we later clean up the
cache.

With this change, the assets will be extracted from the FLX archive
on demand with no writes to storage. Runtime cost should be minimal
given that most assets (except for the snapshot) are not compressed
in the archive.
2016-02-05 14:38:42 -08:00
Jason Simmons
bb50a35434 Reset the animator before assigning a new vsync provider
When the engine starts a new version of the Dart application, the animator may
have pending callbacks and other state related to the previous run of the app.
This state must be cleared before the new vsync provider is assigned.
2016-01-28 16:41:12 -08:00
Adam Barth
411c6bfa4b Port flutter.mojo to Mozart
Everything should work except the keyboard.
2016-01-28 16:04:19 -08:00
Adam Barth
c3a78a1796 Remove dependencies on ui/gfx/geometry
We have enough geometry classes kicking around. We don't need the
ui/gfx/geometry types too.
2016-01-26 23:57:20 -08:00
Adam Barth
33d7553e39 Improve handling of window insets on Android
Now that we understand window insets, we don't need to hard-code the size of
the status bar. Also, convert the viewport metrics to be consistently in
physical pixels.
2016-01-21 11:24:17 -08:00
Adam Barth
0140555b54 Remove integration between tonic and WTFString
We used to share memory between Dart strings and WTF::String objects by
way of the Dart externalized strings. That used to be important when the
DOM shared many strings between C++ and Dart. However, now that we don't
retain strings in C++ much anymore, we don't need this complexity.

This patch removes DartStringCache and the integration. It also unwinds
several cases where we were converting back and forth between
WTF::String and std::string for no reason. Now we use std::string more
consistently.

For the case of ParagraphBuilder::addText, we now take a raw const
char*, which more closely matches the API the DartVM exposes. That means
we do a single copy out of the VM and into the render tree at that
point.
2016-01-18 20:47:46 -08:00
Adam Barth
0b629d419f Move //sky/compositor to //flow
Now that the compositor doesn't have any tricky deps, we can make it a
top-level project, which saves a bunch of typing.
2016-01-12 22:39:51 -08:00
Adam Barth
bec6ad5d3f Merge pull request #2178 from floitschG/handleRealTime
Add 'HandleRealTimeEvents' to window.
2016-01-12 12:25:13 -08:00
Adam Barth
b4377c93dd Remove RuntimeEnabledFeatures
This complex machinery made sense for Blink, which has hundreds of
developers. In our case, we're just moving around two bools. We can do
that in a much simpler way.
2015-12-29 22:27:18 -08:00
Jason Simmons
e55cf62694 Provide callbacks for activity pause and resume events 2015-12-15 18:01:36 -08:00
Florian Loitsch
8e1fc82146 Add 'FlushRealTimeEvents' to window. 2015-12-11 16:11:47 -08:00
Jason Simmons
98427a2763 Tell Flutter about the host platform's locale 2015-12-07 14:27:22 -08:00
Chinmay Garde
ee55c83609 Add startup trace events 2015-12-04 14:40:12 -08:00
Chinmay Garde
0bc34f0394 Allow tracing during startup 2015-12-03 11:01:45 -08:00
Florian Loitsch
5fa49e11ad Merge pull request #2121 from floitschG/raster_pipe
Make rasterizer a mojo service.
2015-12-02 16:32:45 -08:00
Florian Loitsch
372355ad22 Make rasterizer a mojo service. 2015-12-02 16:28:39 -08:00
Eric Seidel
a92597ee07 Add various trace events for tracing startup
@abarth
2015-12-02 12:18:20 -08:00
Chinmay Garde
34696334a4 Allow capturing unified (Dart and base) traces from observatory
* Start capturing via <obs_host>:<obs_port>/flutter_startTracing
* Stop capturing via <obs_host>:<obs_port>/flutter_stopTracing
2015-12-01 13:26:53 -08:00
Adam Barth
68dfad8e92 Add --flx flag to load FLX files
Also, remove the --snapshot flag because using FLX files is the path we're
paving.
2015-11-27 23:14:07 -08:00
Adam Barth
97a375f096 Flutter for Modroid should use vsync
This patch teaches Flutter how to connect to the vsync service on Modroid.
Also, remove our now-redunant copy of vsync.mojom.

Fixes #589
2015-11-25 13:10:44 -08:00
Adam Barth
a9db805f58 Add system-level routing
We now respect the "route" field in Intents to load a route other than '/'.
Also, use popRoute rather than events to indicate that the framework has asked
us to go back.
2015-11-24 12:40:41 -08:00