1914 Commits

Author SHA1 Message Date
Kaushik Iska
d6b2b657eb [vulkan] Bundle vulkan validation layer so files (flutter/engine#13930)
Enable vulkan validation for Fuchsia in debug mode as well.
2019-11-25 16:09:56 -08:00
Chinmay Garde
dee0c26a36 Don't crash but warn when the scene builder specifies no layers. (flutter/engine#14008) 2019-11-25 15:38:41 -08:00
Francisco Magdaleno
0ae5cf2b29 Remove device independent mask (flutter/engine#14010) 2019-11-25 14:55:12 -08:00
Jason Simmons
b8182fbd53 Convert images to raster on the GPU thread for Image.toByteData (flutter/engine#13647)
If the image is a cross-context image that might be read from the GPU thread
during onscreen rendering, then it is not safe to read it concurrently from
the IO thread as part of Image.toByteData.

If the GPU thread does not have a graphics context, then fall back to
converting the image on the IO thread.

Fixes https://github.com/flutter/flutter/issues/30697
2019-11-25 14:44:57 -08:00
David Worsham
5aa9e07326 Fix most fml tests on Fuchsia (flutter/engine#14007)
* Add fuchsia MessageLoopImpl; fix several tests
2019-11-25 14:16:50 -08:00
gaaclarke
ec5cf813f6 Made a way to turn off the OpenGL operations on the IO thread for backgrounded apps (flutter/engine#13908) 2019-11-22 14:08:33 -08:00
Gary Qian
ffe1d3fca6 Do not default to downstream affinity on iOS insertText (flutter/engine#13852) 2019-11-22 14:02:50 -08:00
gaaclarke
43dce83fc1 Refactor to passing functions by const ref (flutter/engine#13975)
Moved our code to passing functions by const ref
2019-11-22 12:20:02 -08:00
Matt Carroll
bdff1904c4 Removed GET_ACTIVITIES flag from all manifest meta-data lookups. (#38891) (flutter/engine#13932) 2019-11-21 15:00:27 -08:00
Craig Stout
ff7f96116f [shell][fuchsia] Migrate away from deprecated async loop configs 2019-11-21 13:49:53 -08:00
George Wright
49897131f4 Ensure we use the base CompositorContext's AcquireFrame method when screenshotting (flutter/engine#13934)
This ensures we rasterize into the canvas passed in as subclasses may reimplement AcquireFrame in different ways that don't utilize the canvas object passed in (such as Fuchsia's flutter_runner::CompositorContext).
2019-11-20 14:09:27 -08:00
Ian McKellar
7461c5a43a [flutter_runner] fix a11y tests (flutter/engine#13947)
Instead of running over 400000000 nodes, do something a little quicker.
2019-11-20 12:11:35 -08:00
Chinmay Garde
6df221f6fb Expose the platform view mutator stack to custom compositors. (flutter/engine#13731)
This allows custom compositors to affect scene builder modifications made
to the platform view.

Fixes https://github.com/flutter/flutter/issues/44211
Fixes b/143612326
2019-11-19 10:35:41 -08:00
Chinmay Garde
a48601803b Add virtual destructor to GPUSurfaceSoftwareDelegate. (flutter/engine#13918) 2019-11-19 10:15:34 -08:00
chunhtai
d053943e7c Moves pointer event sanitizing to engine. (flutter/engine#13697)
* Moves pointer event sanitizing to engine

* fix comment format

* fix formatting

* addressing comment

* fix format

* fix format

* addressing comment
2019-11-19 09:48:25 -08:00
Todd Volkert
02a18868b3 Revert "RendererContextSwitch guard flutter's gl context rework. (#13812)" (flutter/engine#13906)
This reverts commit 7552e9370527aae8df06b43dcb6b313d9ebdb365.

This is being reverted because it caused flutter/flutter#45098
(images don't load on iOS).
2019-11-18 18:28:04 -08:00
Ian McKellar
6f8724c59e Work around Fuchsia a11y / ICU name conflict (flutter/engine#13885)
ICU #defines TRUE and FALSE but these are used as enum member name by
the Fuchsia i18n FIDL library. This #undefs TRUE and FALSE before
including the generated FIDL header.

Fixes https://github.com/flutter/flutter/issues/44817
2019-11-15 21:16:44 -08:00
Jonah Williams
f1e34e1ea3 Allow passing hot reload debugging flags through dart-flags (flutter/engine#13780) 2019-11-14 19:12:27 -08:00
James Robinson
e9fb9f7bb8 [flow][fuchsia] Add more tracing to layers and Fuchsia surface pool (flutter/engine#13864)
This adds more trace events to more layer operations and enhances the
trace counters for the Fuchsia vulkan surface pool to include retained
surface counts, emit stats on recycle events that might change the
surface count, and by separating counters which measure bytes from
counters which measure counts to make analysis simpler.
2019-11-14 15:31:37 -08:00
Kaushik Iska
4620ef2a3b [fuchsia] Package flutter_frontend_server snapshot for fuchsia (flutter/engine#13865) 2019-11-14 14:18:19 -08:00
Darren Austin
9c643907f0 Guard against orphaned semantic objects from referencing dead accessibility bridge on iOS (flutter/engine#13857)
* Guard against orphaned semantic objects trying to reference a dead bridge on iOS.

* Switched back to a function instead of a macro for checking the bridge.

* Fixed some formatting issues.
2019-11-14 12:16:02 -08:00
Chinmay Garde
f2997c18a6 Fix test to account for pixel ratio transformations being framework responsibility. (flutter/engine#13850)
This incorrect assumption led to the introduction of a failure on an external embedder. Also dries up the section that copies the picture to the embedder managed render targets.

Fixes https://github.com/flutter/flutter/issues/43906
Fixes https://b.corp.google.com/issues/143529469
2019-11-14 12:15:33 -08:00
Chris Yang
7552e93705 RendererContextSwitch guard flutter's gl context rework. (flutter/engine#13812) 2019-11-14 11:50:45 -08:00
Matt Carroll
be849d1363 Add support for --dart-flags in FlutterShellArgs. (#44855) (flutter/engine#13855) 2019-11-14 04:09:08 +00:00
Jim Graham
c36b203a4e Avoid GL calls when compiling for Fuchsia. (flutter/engine#13847)
* Avoid GL calls when compiling for Fuchsia.
2019-11-13 16:41:03 -08:00
Todd Volkert
16ebe4633a Remove unused import (flutter/engine#13832) 2019-11-13 14:12:46 -08:00
chunhtai
7787960f0c reland add lifecycle enum (flutter/engine#13767)
This reverts commit 5e7e183369b3816650f776c767e241bb98a87276.
2019-11-13 11:26:25 -08:00
Kaushik Iska
24bf127ba8 [dart_runner] Initialize logging and tracing (flutter/engine#13829)
Remove !defined(FUCHSIA_SDK) bits to start using the SDK
apis to initialize logging and trace events for dart runners.
2019-11-13 10:02:09 -08:00
George Wright
47f1a8028a Create a WeakPtrFactory for use on the UI thread in VsyncWaiter (flutter/engine#13781) 2019-11-12 15:46:07 -08:00
Chinmay Garde
2d7d114126 Document the coordinate space of points in FlutterPointerEvent. (flutter/engine#13782) 2019-11-12 12:21:50 -08:00
Matt Carroll
6bf82e4675 Expose asset lookup from plugin binding. (#42019) (flutter/engine#13743) 2019-11-12 07:14:27 +00:00
Chris Yang
590dc94eb8 Revert "Reland "Guarding EAGLContext used by Flutter #13314" (#13759)" (flutter/engine#13788)
This reverts commit 6390e62036d69c4923cc6cf2379b9eb9f25870ba.
2019-11-11 17:17:18 -08:00
Jason Simmons
1ae8f8880f Fix RendererContextSwitch result check in Rasterizer::MakeRasterSnapshot (flutter/engine#13785)
Fixes https://github.com/flutter/flutter/issues/31355
2019-11-11 15:46:26 -08:00
Chris Yang
6390e62036 Reland "Guarding EAGLContext used by Flutter #13314" (flutter/engine#13759) 2019-11-08 20:09:18 -08:00
Matt Carroll
98d25e5bf3 Point old plugin registry accessors to new embedding plugin accessors. (#44225) (flutter/engine#13739) 2019-11-09 01:55:59 +00:00
Filip Filmar
2572d5b375 Revert "[fuchsia] Temporarily disable intl provider (#13696)" (flutter/engine#13721)
This reverts commit 8cb106f91850a9e9984d4bb39fc524710e51755c.

The reverted code was not the root cause of the issues with rolling
flutter into fuchsia, so adding it back.

In addition, lowering the severity of the connection error at the outset
to WARNING; since it is not a hard failure.
2019-11-08 17:34:04 -08:00
Michael Klimushyn
24ba26f80c Turn on RasterCache based on view hierarchy (flutter/engine#13762)
This is a duplicate of flutter/engine#13360 with the test switched to use the software backend instead of the GL backend.

After some debugging and testing on another GL embedder I think the issue with the test is some bug having to do with the GL implementation in the test harness specifically. 

Fixes flutter/flutter#38903
2019-11-08 17:14:50 -08:00
gabeschine
616a2ce26c Remove usage of fuchsia.modular.Clipboard. (flutter/engine#13763)
It is deprecated and will go away.
2019-11-08 17:13:17 -08:00
Chris Yang
68754a85f0 Revert "Reland "Guarding EAGLContext used by Flutter #13314" (#13755)" (flutter/engine#13757)
This reverts commit a4a346f317c867663a6d8a5d9c7909101d9b5cbd.
2019-11-08 13:44:29 -08:00
Chris Yang
a4a346f317 Reland "Guarding EAGLContext used by Flutter #13314" (flutter/engine#13755) 2019-11-08 12:26:48 -08:00
Chris Yang
af43ff4a31 Revert "Always use IOSGLContextSwitch to access EAGLContexts to prevent plugins from polluting Flutter's EAGLContext (#13314)" (flutter/engine#13753) 2019-11-08 10:59:45 -08:00
Chris Yang
4953fbdd3f Always use IOSGLContextSwitch to access EAGLContexts to prevent plugins from polluting Flutter's EAGLContext (flutter/engine#13314) 2019-11-08 10:02:23 -08:00
Chinmay Garde
a8b3ff268a Create a new picture recorder even when the embedder supplied render target is recycled. (flutter/engine#13744)
The earlier assumption was that the render target would be re-materialized per frame. The render target needs its own picture recorder to be create per frame as well. When render targets are cached in the registry, an existing target will be reused. But submitting the previous frame would have discarded the recorder already. The layer tree paint would then attempt to dererence a null canvas causing a crash at runtime.

Added tests to ensure that this does not happen both with and without a custom compositor specified by the embedder. I am going to rework this code so that the external view embedders thinks of render target access on a per frame basis but that is a larger change. This smaller patchset should unblock broken builds.

Fixes b/144093523
2019-11-07 19:53:51 -08:00
Matt Carroll
d024332cdf Removed scary experimental warnings for new embedding. (#44314) (flutter/engine#13738) 2019-11-07 22:54:10 +00:00
chunhtai
5e7e183369 Revert "Issues/39832 reland (#13642)" (flutter/engine#13720)
This reverts commit a1824112a46ba1968217be011efd19d528330127.
2019-11-06 11:41:36 -08:00
Chinmay Garde
a0fd895dfb Ensure that the device pixel ratio is taken into account with window metrics in physical pixels. (flutter/engine#13708)
This was originally patched in https://github.com/flutter/engine/pull/13193 but
the unit-tests were written under the mistaken assumption (that has been
documented already) that the Flutter window metrics used logical pixel
coordinates. That mistake has been corrected and additional tests to verify
rendering intent has been added.

Fixes https://github.com/flutter/flutter/issues/43906
Fixes https://b.corp.google.com/issues/143529469
2019-11-06 11:16:18 -08:00
Jason Simmons
70d674fd14 Fix NPE in splash screen lookup (flutter/engine#13719) 2019-11-06 10:31:41 -08:00
Matt Carroll
2ddf0e8cf4 Fix splash screen lookup. (#44131) (flutter/engine#13660) 2019-11-06 04:37:48 +00:00
Greg Spencer
1b80f40efa Fix editing selection and deletion on macOS (flutter/engine#13702)
This fixes the selection and deletion during text editing on macOS so that it can handle selections that have a base (selection start) that is after the extent (selection end) in the string.

Apparently the insertText:replacementRange on macOS can supply an NSRange object that has negative values for the length (even though the length is an unsigned NSUInteger). This change checks for that case, and fixes the range of characters replaced in the text to have the right bounds.

Also, I added an additional updateEditState after the state is set from the framework, since there is a timing problem: when the delete key is pressed, it sends an insertText message, which updates the framework state after the framework has already sent its state update to delete the selected region. This additional updateEditState puts the engine and framework back in sync again. Ideally, we would just avoid sending the insertText message, but there's really no way for the engine to know if the pressed key is part of an edit sequence or not.
2019-11-05 19:17:52 -08:00
Filip Filmar
8cb106f918 [fuchsia] Temporarily disable intl provider (flutter/engine#13696)
The intention of the property provider is to try to connect, not
bail out if connection is not possible.

This code tried to connect unconditionally, which is not what we wanted.
Removing this initialization code to enable a roll, and will fix in a
followup.
2019-11-05 18:51:37 -08:00