9144 Commits

Author SHA1 Message Date
Sigurd Meldgaard
e58764fbe0
Move texture registry ownership to platform view (#4348)
* Move texture registry ownership to platform view

This enables the texture registry to survive activity pause on Android.
2017-11-22 09:55:45 +01:00
Alexander Aprelev
fbd384329b
Turn off smart minimal IKG compilation (#4383) 2017-11-21 16:09:41 -08:00
Chris Bracken
e89272ab1f
Roll topaz to 1eb2e77be92ed968223b0cea19fe2108e689dcd5 (#4380)
Picks up:
1. Windows support for flutter tester
2. Spaces in Dart package paths in the loader.
2017-11-21 15:42:53 -08:00
Chris Bracken
a2a3dc05ae
Catch divide-by-zero errors early in license tool (#4382)
If Progress is instantiated with a max of 0, throw immediately to avoid
a divide-by-zero later in toString(). This typically happens if the tool
recurses over an empty top-level component, which can happen when a
component is moved around in the repo and the developer hasn't cleaned
up old empty directories from their git client.
2017-11-21 15:42:17 -08:00
Chris Bracken
546cc39f84
Minor formatting fix in license script (#4381)
Fixes an errrant tab and unnecessary braces.
2017-11-21 15:34:13 -08:00
amirh
b6aee8256f
Use a synchronous completer in _futurize. (#4379)
This keeps the futures chain shorter.
2017-11-21 15:31:04 -08:00
Zachary Anderson
5f9c8522dd
Roll Dart to 3ee0a4284203ebc6991c78054583a7c02dc8faf9 (#4378) 2017-11-21 12:16:34 -08:00
Martin Kustermann
5c6ebf7994
Enable flutter engine to also work with .*so files on android (#4298)
* Enable flutter engine to also work with .*so files on android

We would like to be able to use native tools (e.g. simpleperf, gdb) with
precompiled flutter apps.  The native tools work much better with *.so
files instead of the custom formats the Dart VM uses by default.

This CL adds support for being able to load the flutter app from an *.so
file on Android.

* Add sanity check to ensure we have either shared library or instruction snapshot (but not both)
2017-11-21 13:14:50 +01:00
Benjamin Lerman
32270c7836 Update API to use sized vmo instead of raw vmo. 2017-11-21 10:09:20 +01:00
amirh
dcf2b78a6f
Delete the native implementation for ui.decodeImageFromList. (#4375)
The new ui.Codec API is a superset of the implementation in
image_decoding.cc. While we are not using ui.decodeImageFromList in the
framework anymore, we keep the dart function for backward compatability, and
just make it a thin wrapper around the codec API.
2017-11-20 14:42:42 -08:00
Chris Bracken
82cd793ee5
Use iOS scale when computing render buffer size (#4171) (#4373)
When checking whether render buffer size has changed, apply the device
scale factor used to convert points to pixels to ensure we're not
needlessly re-allocating render buffer storage.

Adds trace + debug log to make this easier to detect in future.

Originally introduced in 2d530daeca438ca24562d290616c0aec5ab76b88, but
rolled back in 0a6e415b60581ef7934032df20401da1fae9ea9f to test whether
it was responsible for regressions to
flutter_gallery_ios__transition_perf benchmarks:
  * average_frame_build_time_millis
  * missed_frame_build_budget_count

Re-landed in d43d35347594c893687dec7402a525d83f57db10, and reverted in
459f722b86415da01386fe41f37bafa842f11ae8 after it appeared to regress
the above two benchmarks. After recent changes to microtask execution
order which fixed https://github.com/flutter/flutter/issues/9998,
re-introducing this fix results in benchmark improvements to the above
two benchmarks in local testing.
2017-11-20 14:15:26 -08:00
amirh
4733e33737
roll skia (#4372) 2017-11-17 10:33:56 -08:00
Sigurd Meldgaard
9b31717923
Avoid double retain of Texture on ios. (#4354)
The "raw" pointer is already managed by ARC.
2017-11-17 13:49:57 +01:00
amirh
25912b8482
add ui.Codec and ui.FrameInfo constructors to the dart_vm_entry_points.txt (#4371) 2017-11-16 16:49:20 -08:00
Zachary Anderson
0e564957ac
Roll Dart back to 4dd4fd745e588eef64b8d85811d847ab72633cb7 (#4370) 2017-11-16 09:24:13 -08:00
Martin Kustermann
a5ab58352e
Make frontend_server depend on dart/pkg/* files (#4369)
It speeds up local development workflow when doing changes to the front end
when ninja automatically rebuilds the frontend_server.dart.snapshot.
2017-11-16 15:34:23 +01:00
amirh
384e351d4f
roll buildroot to 82a50e874d17d810886ec6d782662ab79ebbd921 (#4368) 2017-11-15 18:11:39 -08:00
Jason Simmons
8109be8e21
Removed unused declaration of Animator::RequestDrawOnVSync (#4367) 2017-11-15 17:44:46 -08:00
amirh
5afc1e2848
Enable WebP (#4359) 2017-11-15 16:49:50 -08:00
Ian McKellar
d917c35e72
Allow Flutter apps on Fuchsia to shut down cleanly (#4366)
The UIDartState is now always owned by the isolate and always freed in
the isolate cleanup callback.

In the isolate shutdown callback, if the isolate being shut down is the
main isolate, the RuntimeController is informed which in turn notifies
the RuntimeHolder and thus the ApplicationControllerImpl. The
ApplicationControllerImpl tears down the whole Flutter application.

This fixes Fuchsia bug: MI4-328
2017-11-15 13:28:21 -08:00
Zachary Anderson
7033e104e3
Roll Dart forward (#4363) 2017-11-15 13:17:10 -08:00
xster
4fcb19258a
Roll skia (#4364)
* roll to 09b8c91b696925c6c6a25c35173f2da27abf0fbe

* update licenses
2017-11-15 11:46:46 -08:00
Brian Osman
e03cab39d7
Prevent Skia from trying to use stencil buffers (#4362)
Fixes flutter/flutter#13018

When linear blending was disabled, we started rendering directly to FBO0 again. We can't attach stencil there, and the profile graph code triggers a path that (by default) uses it. This option forces us to use alternate rendering methods.

Note that the graph rendering code is constructing a fairly complex path. It would probably be much faster to render as a simpler series of drawRect calls for each box (which would get batched inside Skia).
2017-11-15 13:10:56 -05:00
Chinmay Garde
bedba1267f
Allow embedders to respond to platform messages from the Dart application. (#4361)
This updated the native embedder API in a non-ABI breaking way.
2017-11-14 15:51:19 -08:00
amirh
f8c4a02b56
roll skia (#4360) 2017-11-14 15:34:30 -08:00
Brian Osman
0a7155d4e1
Disable linear blending, use SkColorSpaceXformCanvas instead (#4355)
This retains gamut correction (adjusting colors for screens with different capabilities), but does all blending and interpolation with sRGB-encoded values. That matches the behavior expected by most users, as well as the behavior of nearly all other systems. It also greatly simplifies the EGL code.

A future Skia change will make this behavior more of a first-class citizen, so some of these implementation details will change again, but the behavior will not. The bulk of this change (elimination of complication from the GL surface code) is permanent - it's just the SkColorSpaceXformCanvas that will be replaced.
2017-11-14 13:33:26 -05:00
Zachary Anderson
242ce44af5
[Android] Cleanup in FlutterActivityDelegate (#4357) 2017-11-13 14:13:04 -08:00
Zachary Anderson
7804e8588a
View destroy listener (#4347)
[Android] Allow persisting a FlutterNativeView across activities.
2017-11-13 13:56:48 -08:00
Jason Simmons
bb55d65085
Delete the native view when destroying the FlutterView (#4356)
Fixes https://github.com/flutter/flutter/issues/12996
2017-11-13 13:16:48 -08:00
Mikkel Nygaard Ravn
1f0c959189
Align iOS event channel semantics to Android counterpart (#4353) 2017-11-13 15:34:29 +01:00
Mikkel Nygaard Ravn
bc3ac074d2
Make EventChannel survive hot restart on Android (#4350) 2017-11-13 07:47:36 +01:00
amirh
6b5d8c99d2
Load animation frames to GPU textures from the IO thread (#4352) 2017-11-10 12:52:32 -08:00
Alexander Markov
11d68f63da
Revert "Enable Dart 2.0 fixed-size integers in Flutter (#4337)" (#4344)
This reverts commit 0b7582e6a130fc99270dafec5113a7ec46ed522a.
2017-11-10 11:08:42 -08:00
Brian Osman
2973109f1a
Roll skia to 0658f7 (#4349)
* Roll skia to 0658f7

* Update licenses
2017-11-10 12:57:20 -05:00
Greg Spencer
130af88fde
Adding Rect.expandToInclude and Rect.longestSide (#4309)
Adding Rect.expandToInclude and Rect.longestSide to make the Rect API more symmetric.
2017-11-09 16:37:21 -08:00
amirh
c1b5e06cb2
expose a Duration object from ui.FrameInfo (#4345) 2017-11-09 14:03:19 -08:00
Jason Simmons
fb6f3e0734
Log stack traces from exceptions thrown by calls from native into Java (#4346) 2017-11-09 13:04:12 -08:00
Zachary Anderson
f5bdf9b0fc
[Android] Pulls the native platform view out of FlutterView (#4338) 2017-11-09 12:10:00 -08:00
Jason Simmons
a9319a100a
Allow rendering of frames in a paused animator during a change to screen dimensions (#4333)
Fixes https://github.com/flutter/flutter/issues/12886
2017-11-09 10:04:51 -08:00
Jason Simmons
fe6f3ab33a
In GetTexture, do not insert missing IDs into the texture registry map (#4339)
Fixes https://github.com/flutter/flutter/issues/12924
2017-11-09 10:04:41 -08:00
amirh
2920d61a5c
Make the public ui.Codec API Future based instead of callback based. (#4341) 2017-11-09 09:56:36 -08:00
Alexander Markov
0b7582e6a1
Enable Dart 2.0 fixed-size integers in Flutter (#4337) 2017-11-09 09:42:40 -08:00
mikejurka
45464c0a31
Add more tracing to content_handler. (#4328) 2017-11-08 18:39:28 -08:00
P.Y. Laligand
d8dab8aa18
[fuchsia] Allow flutter_app to be included in non-Fuchsia toolchains. (#4342)
A flutter_app target might be declared in a build file alongside some host tool.
The intent of the assertion seemed to be restricting the use of the template to the Fuchsia codebase.
2017-11-08 18:33:09 -08:00
Alexander Aprelev
e92933611a
Roll dart (#4336)
* Roll dart

* Update license hash key, no changes to licenses themselves
2017-11-08 18:22:41 -08:00
Chris Bracken
bc2acf7bdd
Revert "Roll Fuchsia buildtools to 85907c59e97527d79bbfdfd849d8e85c24959cc5 (#4331)" (#4340)
With the update to HEAD of the Fuchsia buildtools repo, the new clang
toolchain picked up caused link-time breakage in android x86_64
libFlutter.so builds.

Sample log:
https://build.chromium.org/p/client.flutter/builders/Linux%20Engine/builds/1974/steps/build%20android_debug_x64/logs/stdio

Sample failure:
FAILED: libflutter.so libflutter.so.TOC lib.stripped/libflutter.so
../../third_party/android_tools/ndk/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld.gold: error: obj/flutter/shell/platform/android/libflutter/android_context_gl.o: unsupported reloc 42 against global symbol std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> > >::id

This reverts commit 8ad42f0dae3cb1267c2b9ab99db80e4696ddbc3d.
2017-11-08 16:48:00 -08:00
Chris Bracken
a8237ecca0
Roll garnet to b3ba6b6d6ab8ef658278cc43c9f839a8a8d1718e (#4335)
* Roll garnet to b3ba6b6d6ab8ef658278cc43c9f839a8a8d1718e

Also includes a buildroot patch to pick up new dependency:
  build/config/fuchsia/sdk.gni

This fixes a build breakage in
garnet/public/lib/fxl/strings/string_view_unittest.cc wherein a variable
'sw5' was declared but the test erroneously tested against 'sw4' from
the previous test.

* Update license script for garnet

Reflects structural changes in directories we do not depend on. This
filters out the following directories in addition to what was already
filtered:
  garnet/drivers
  garnet/packages
  garnet/public/build/
  garnet/public/rust/

* Update licenses
2017-11-08 15:25:07 -08:00
mikejurka
0e8331aa1a
Fix low-res rasterized images on Fuchsia. (#4325)
Plumb through Scenic display metrics to use during
Preroll.
2017-11-08 14:59:54 -08:00
Ryan Macnak
d615678e6c
Roll tonic to da66b94839f788a0bffc34fd9bdfef3360af8c18. (#4332)
Update to moved repository.

Issue https://github.com/flutter/flutter/issues/9998
2017-11-08 14:04:29 -08:00
Chris Bracken
8ad42f0dae
Roll Fuchsia buildtools to 85907c59e97527d79bbfdfd849d8e85c24959cc5 (#4331)
* Roll Fuchsia buildtools to 85907c59e97527d79bbfdfd849d8e85c24959cc5

This also updates Flutter buildroot to a6e52dbb776c45cc8c57d7143b8eb8b2e762fdfb
which disables -Wtautological-constant-compare temporarily until
https://reviews.llvm.org/D39462 lands in clang. This is in line with
Fuchsia's compiler options.

* Apply clang-format diffs

No logical changes. This applies clang-format from the latest Fuchsia
buildtools to the engine codebase.
2017-11-08 11:18:17 -08:00