1663 Commits

Author SHA1 Message Date
Adam Barth
2ad422b25f Add asset bundle support on Fuchsia (flutter/engine#3005)
After this patch, Flutter apps on Fuchsia can access their asset
bundles. Unlike other platforms, the asset bundles are stored in memory
rather than in the file system.
2016-09-07 11:17:36 -07:00
Adam Barth
deee07150c Introduce UnzipperProvider (flutter/engine#3004)
This patch abstracts where the content of the zip file is stored.
Currently, zip files are stored in the file system, but in Fuchsia,
we're going to store them in memory (at least for the time being).
Rather than represent a zip file as a path in the file system, we
instead use an UnzipperProvider, which can create zip::UniqueUnzipper
objects on demand.
2016-09-07 00:22:27 -07:00
Chinmay Garde
e963eba8fd Remove references to unused GN files and flags. (flutter/engine#2998)
* Remove references to unused GN files and flags.
* Fix Linux build.
2016-09-02 12:31:54 -07:00
James Robinson
57a5f4cea4 Update flutter_app template to new .packages filename scheme (flutter/engine#3000)
The name of the generated packages file now includes the target name.
2016-09-02 11:12:13 -07:00
James Robinson
99348cbf65 [build] Add new flutter_app GN template for Fuchsia style package management (flutter/engine#2999) 2016-09-01 23:01:58 -07:00
Chinmay Garde
b761c67571 Skia: Add crc32 sources when SK_CPU_ARM64 is defined. (flutter/engine#2997) 2016-09-01 14:38:33 -07:00
Chinmay Garde
5c71303ee8 Rework the skia/BUILD.gn to be more disciplined about not leaking private config information to dependents. (flutter/engine#2996)
* Move all private config information from skia_config to skia_library_config. This was causing most skia specific defines to be applied to all targets that depended on Skia. These defines were only used by the Skia implementation. Makes the command line invocation for our sources smaller and less confusing.
* Removes defines not present in the current Skia sources.
* Dont add both directories containing SkUserConfig.h from ext and the Skia sources. Depending on the order in which the config directory was specified on the command line, the sources would use a different config.
2016-09-01 12:37:38 -07:00
Jason Simmons
f4bf0f6e49 Revert to using SkFontMgr_FontConfigInterface after the latest Skia roll (flutter/engine#2994)
In older versions of Skia, there were two files named SkFontMgr_fontconfig.cpp.
We want to use the one that contains SkFontMgr_FCI.  That file was renamed
to SkFontMgr_FontConfigInterface.cpp

This caused the assert in https://github.com/flutter/flutter/issues/5694
2016-09-01 11:38:50 -07:00
Adam Barth
2761d7bcd8 Build sky/engine on fuchsia (flutter/engine#2992) 2016-08-31 21:01:07 -07:00
Chinmay Garde
66ecf81e48 Remove support for the —enable-checked-mode flag from the engine. (flutter/engine#2987) 2016-08-31 09:46:05 -07:00
Chinmay Garde
72eab498d0 Respect the —enable-checked-mode flag when not running precompiled code instead of defaulting it on. (flutter/engine#2986) 2016-08-30 16:25:51 -07:00
Chinmay Garde
e613297b5e Add trace event slices for the duration in which the engine produces a pipeline item. (flutter/engine#2985)
* Add trace event slices for the duration in which the engine produces a pipeline item.

* Trace the entire lifetime of an item in the pipeline.
2016-08-30 15:44:56 -07:00
Chinmay Garde
332de9c7d2 When rasterizing to a recorder backed canvas for SKP tracing, don’t attempt to update the raster cache. (flutter/engine#2983)
We could get into a situation where the second time we rasterize a picture for an SKP, the raster cache detects that the same picture is being repeated in subsequent onscreen frames and then proceeds to rasterize the contents to an offscreen texture. This not only causes an unnecessary cache entry, but also shows the cached image in the final SKP trace (which is not what was originally displayed on screen).
2016-08-30 14:52:39 -07:00
Chinmay Garde
0df374dd83 Force anti-aliasing on clipRRect calls. (flutter/engine#2982)
Per recommendation from the Skia team. Benefits from optimizations applied in Skia for Chrome.
2016-08-30 14:11:21 -07:00
Adam Barth
82f98b73ad Attempt to fix build by adding factory (flutter/engine#2975) 2016-08-28 23:45:05 -07:00
Adam Barth
18b5e9aebe Update Skia (flutter/engine#2974) 2016-08-28 21:49:16 -07:00
James Robinson
1ef5bf3a08 [gn] Explicitly include common.gni in build files that use vars from it (flutter/engine#2973)
runtime/BUILD.gn and ..core/BUILD.gn use flutter_runtime_mode which
is defined in common.gni. If the build comes through common/BUILD.gn
this is imported (implicity) but builds that depend on specific
files, like the Fuchsia build, won't have this imported.  This
imports the gni from the build files that use it instead of relying
on it already being there.
2016-08-26 13:48:01 -07:00
Chinmay Garde
52f70a61ff Don’t depend on tonic/debugger in release since the Dart debugger is unavailable in product mode. (flutter/engine#2972) 2016-08-26 11:47:50 -07:00
Chinmay Garde
a36164b0b7 Keep track on the layer tree construction time in the animator. (flutter/engine#2968) 2016-08-23 17:03:38 -07:00
Chinmay Garde
8fc97078ca Add “—endless-trace-buffer” to switch to an endless buffer from a ring buffer while tracing. (flutter/engine#2966) 2016-08-23 16:16:22 -07:00
Jason Simmons
70cc2b0e33 Scale picture layers to the picture's cull rect (flutter/engine#2967) 2016-08-23 14:46:23 -07:00
Chinmay Garde
e27ac27b87 Simplify PictureLayer::Paint. (flutter/engine#2962) 2016-08-22 15:11:11 -07:00
Chinmay Garde
1a424320f7 Pipelines vend single use continuations that callers can complete at any time to signal readiness of a pipeline resource. (flutter/engine#2957) 2016-08-19 16:57:05 -07:00
Chinmay Garde
915e97e4b3 Revert "Remove the create_ios_framework.py tool. (#2946)" (flutter/engine#2950)
This reverts commit d173acbd03254d214f2a0b9791f01be937c87628.
2016-08-18 16:51:17 -07:00
Todd Volkert
dd98748b48 Add config properties to specify snapshot blob file names. (flutter/engine#2943)
* Add config properties to specify snapshot blob file names.

This adds the ability of the shell to override the default
dart aot snapshot blob file names, and it wires up Android's
FlutterMain to recognize the properties in the app's manifest.

This will be used for flutter applications that build their
binary snapshots into files other than the default ones
that the engine uses.
2016-08-18 16:27:16 -07:00
Adam Barth
cc54935495 Build WTF on Fuchsia (flutter/engine#2948)
Also, clean out some unneeded dependencies from engine/platform.
2016-08-18 16:13:06 -07:00
Chinmay Garde
d173acbd03 Remove the create_ios_framework.py tool. (flutter/engine#2946) 2016-08-18 12:35:55 -07:00
Chinmay Garde
6cd3679c83 Make the engine provide layer trees to the rasterizer via a pipeline. (flutter/engine#2942) 2016-08-18 11:23:15 -07:00
Chinmay Garde
2f7fde0ebd Completely remove the platform/mojo shell. (flutter/engine#2940) 2016-08-17 15:13:05 -07:00
Chinmay Garde
b18dd4abd1 Add flutter::Pipeline to //synchronization. (flutter/engine#2939) 2016-08-17 15:05:43 -07:00
Chinmay Garde
7cc67cf3a1 flow::Semaphore for simple platform specific unnamed semaphores. (flutter/engine#2937) 2016-08-17 14:28:23 -07:00
Adam Barth
c95e22a428 Add stubs for text handling on Fuchsia (flutter/engine#2935)
We don't yet have support for text on Fuchsia. This patch add stub
implementations of Paragraph and ParagraphBuilder so that Flutter apps
that use text don't error out. Instead, the text is 0x0 and invisible.

Also, teach MojoServices not to crash if it hasn't been created by the
time Dart tries to use it.
2016-08-17 09:56:41 -07:00
John McCutchan
837def95ac Fix build (flutter/engine#2931) 2016-08-16 12:33:30 -07:00
John McCutchan
d5ee913a75 Send richer service protocol respones from the Shell (flutter/engine#2929) 2016-08-16 12:16:41 -07:00
Jason Simmons
b45b6a1bd9 Include the FTL build config macros in some files that rely on them (flutter/engine#2930)
Fixes https://github.com/flutter/flutter/issues/5424
2016-08-16 12:04:11 -07:00
Adam Barth
732fe01353 Add spinning_square example (flutter/engine#2928)
Also, teach gn how to build application bundles.
2016-08-15 23:07:19 -07:00
Adam Barth
a6ef760738 Get spinning square working on Fuchsia (flutter/engine#2926)
After this patch, we're able to run spinning_square on Fuchsia. I've
left some TODO comments about some shortcuts I've taken that we'll need
to improve in the future.
2016-08-14 16:24:40 -07:00
Adam Barth
bf60f2f56f //flutter/content_handler code complete (flutter/engine#2925)
This patch should contain all the code we need to run Flutter on
Fuchsia's software framebuffer (without text). I haven't actually tried
running the code, so I'm sure it doesn't work yet.
2016-08-13 16:38:39 -07:00
Adam Barth
76f0953aef Rename SkyView to RuntimeController (flutter/engine#2924)
Also, rename SkyViewClient to RuntimeDelegate. These names are more
sensible.

This patch also cleans up the RuntimeDelegate a bit, for example by
removing support for flushing real-time events, which aren't used.
2016-08-13 00:18:58 -07:00
Adam Barth
83bf8be528 Add //flutter/content_handler (flutter/engine#2923)
We're now producing a flutter_content_handler binary for Fuchsia that
builds and links.
2016-08-12 22:41:54 -07:00
Adam Barth
1d67a42888 Get //flutter/runtime building on Fuchsia (flutter/engine#2922) 2016-08-12 21:55:00 -07:00
Adam Barth
e3f80d9cda Fix startup crash 2016-08-12 20:38:01 -07:00
Adam Barth
d03e8fa34b Move embedded resources to //flutter/runtime (flutter/engine#2921)
This data is actually used in //flutter/runtime, so it makes more sense to
generate it and include it in the build from there.
2016-08-12 16:54:00 -07:00
Adam Barth
6598d2104d Invert the relationship between lib/ui and sky/engine (flutter/engine#2920)
Now lib/ui depends on sky/engine rather than the reverse.
2016-08-12 16:12:07 -07:00
Todd Volkert
e2298ec5be Pass runtime_mode gn arg through to ShouldEnableCheckedMode() (flutter/engine#2919)
https://github.com/flutter/flutter/issues/4866
2016-08-12 14:45:25 -07:00
Adam Barth
beb84ed2ea Move more code out of //flutter/sky/engine (flutter/engine#2918)
* Move dart:mojo.internal to //flutter/lib/mojo

To be parallel with the other built-in libraries.

* Move DartRuntimeHooks into //flutter/lib/ui

This code manipulates natives.dart, which is part of //flutter/lib/ui.
2016-08-12 13:16:46 -07:00
Adam Barth
6b0e5e85a4 Finish removing //flutter/tonic (flutter/engine#2917)
This pulled a refactoring of how we keep track of the primary threads.
2016-08-12 12:05:48 -07:00
Adam Barth
cbb28cb25d Almost remove //flutter/tonic (flutter/engine#2916)
All that's left is two task runners, which should be statics somewhere.
2016-08-12 09:42:32 -07:00
Adam Barth
37652cc041 Clean up :dist target (flutter/engine#2915)
We only need this target for preparing the Dart packages for distribution now.
2016-08-11 14:59:19 -07:00
Adam Barth
19e8e7fe91 Teach //flutter/lib/ui to build on Fuchsia (flutter/engine#2912)
This patch removes the //flutter/sky/engine dependency from //flutter/lib/ui,
which lets us build the bulk of the dart:ui library without needing to build
//flutter/sky/engine.
2016-08-11 13:13:59 -07:00