121 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
mikejurka
cb40b67f55 Roll mojo (#2881)
* Update to mojo ba13534f2b2af27a1d73e176f7406dbab25f8e14

* Fix build for updated mojo

* Fix android build. Undo some of the mojo roll.

* Fix iOS build.
2016-08-08 12:00:35 -07:00
Chinmay Garde
cebfd92d5b Give the mac desktop its own VSync provider. (#2877) 2016-08-05 16:37:12 -07:00
Adam Barth
31cd9361ff Remove more //base dependencies (#2871) 2016-08-05 10:14:32 -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
John McCutchan
c1dbf57395 Add DirectoryAssetBundleService to engine (#2827) 2016-08-03 18:01:10 -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
410bc4c313 Remove skia::RefPtr (#2851)
Also, remove the hacks that integrate Skia ref counting with WTF. Now we
just use sk_sp everywhere for managing Skia ref counts.
2016-08-01 22:21:37 -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
a126207c6e Update Skia (#2704) 2016-05-23 13:48:18 -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
James Robinson
24adf9dbdc Merge pull request #2611 from jamesr/better_tracing
Improve tracing in graphics stack, esp on Mojo
2016-04-22 12:38:55 -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
Jason Simmons
89a9295289 Match fonts based on weight and style attributes 2016-03-04 16:03:57 -08: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
Eric Seidel
f94ca77317 Add explicit destructor to appease clang plugin
@jason-simmons
2016-02-19 11:03:12 -08:00
Jason Simmons
6d9419a3e7 Fix iOS build 2016-02-19 10:56:25 -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
Hixie
adbb587ab1 Flutter<->Android accessibility bridge
This is another step towards enabling accessibility for Flutter on
Android. It exposes the semantics tree to Android's accessibility API
when accessibility is enabled.

It does not yet:
 - allow one to actually interact with the application via the
   accessibility API
 - expose the accessibility tree to touch exploration
 - implement the accessibility focus API

However, you can see the tree if you run uiautomatorviewer. It is there,
and it matches the UI. At least in Stocks. I didn't test anything else.
2016-02-04 09:15:07 -08:00
Adam Barth
aec7d422e7 Pass the Mozart ViewHost into Dart
Dart needs access to the ViewHost in order to create child views.
2016-02-03 14:39:45 -08:00
Jason Simmons
3407ce1fb9 Reset all animator state when restarting a paused animator
Fixes #1499
2016-02-01 13:05:54 -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
e22e75ea50 Merge pull request #2302 from abarth/rm_scoped_ptr
Remove almost all uses of base::scoped_ptr
2016-01-27 08:38:41 -08:00
Adam Barth
142c5dc5ec Remove almost all uses of base::scoped_ptr
We now use std::unique_ptr more consistently.
2016-01-27 01:05:47 -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