1740 Commits

Author SHA1 Message Date
gaaclarke
32158d169e Added some thread asserts to the code and made ios_surface_ safe since (flutter/engine#12775)
* Added some thread asserts to the code and made ios_surface_ safe since
its being written and read from different threads.

* responded to chinmays feedback, added comment
2019-10-03 16:52:41 -07:00
Dan Field
0681026147 Build AOT and test targets, generate FARs when building Fuchsia (flutter/engine#12761) 2019-10-03 16:10:33 -07:00
Chinmay Garde
e8bdecf486 Fix Metal builds. (flutter/engine#12777) 2019-10-03 14:42:54 -07:00
gaaclarke
602014c438 Revert "Manage resource and onscreen contexts using separate IOSGLContext objects (#12277)" (flutter/engine#12773)
This reverts commit 4d8deabab5e35dbe573bf6b736822f116a435b4c.
2019-10-03 13:25:30 -07:00
chunhtai
79ad29854f add windows embedding test (flutter/engine#12423) 2019-10-03 12:42:44 -07:00
gaaclarke
47aef1a797 Expanded channel buffer resize to method channels. (flutter/engine#12725)
* Expanded channel buffer resize to method channels.
2019-10-02 17:59:59 -07:00
Chinmay Garde
d01cde0907 Fix Metal builds by accounting for the updated SubmitFrame signature. (flutter/engine#12754) 2019-10-02 15:36:28 -07:00
Greg Spencer
63258e472e Stop setting the accessibility text if a node has SCOPES_ROUTE set. (flutter/engine#12730)
This keeps us from setting the text on a node if it is a SCOPES_ROUTE node, and sends the "TYPE_VIEW_FOCUSED" event when we update the semantics information and a view has the input focus.
2019-10-02 10:35:28 -07:00
Jiahao
3c4a06ee3b Fix parameter naming in docs (flutter/engine#12732) 2019-10-02 08:59:06 -07:00
Kaushik Iska
341b81ec4d [flutter_runner] Make rd and rx uniform (flutter/engine#12733)
* [flutter_runner] Make rd and rx uniform

Currently we pass paths for readonly files and pass
in fds for rx. Now passing in fds everywhere.

* pass full paths
2019-10-01 19:24:19 -07:00
Chris Yang
1365a37886 Reland "Add iOS platform view mutation XCUITests to the scenario app(#11652)" (flutter/engine#12707) 2019-10-02 01:51:31 +08:00
gaaclarke
d318cbd7da Resize channel buffers (flutter/engine#12402)
Made it so you can resize channel buffers by sending messages to them.
2019-10-01 10:31:25 -07:00
gaaclarke
ec73bde781 Cleanup: Turned on NS_ASSUME_NONNULL_BEGIN for FlutterViewController. (flutter/engine#12708)
Cleanup: Turned on NS_ASSUME_NONNULL_BEGIN for FlutterViewController
2019-10-01 09:55:49 -07:00
Jason Simmons
e023418f3f Check for a null input method subtype (flutter/engine#12706)
Fixes https://github.com/flutter/flutter/issues/41557
2019-10-01 09:03:47 -07:00
gaaclarke
dac372684b Cleanup: Made a macro to assert ARC is enabled. (flutter/engine#12701)
Cleanup: Made a macro to assert ARC is enabled (and its inverse).
2019-09-30 14:47:54 -07:00
Kaushik Iska
2d15e8bf6f [flutter_runner] Verified Execution for read exec on Fuchsia (flutter/engine#12703)
Note: `fdio_open_fd` does not default to `AT_FDCWD` so we need to
specify absolute paths.
2019-09-30 14:04:40 -07:00
liyuqian
ffca51fcdd Reland "Smooth out iOS irregular input events delivery (#12280)" (flutter/engine#12385)
This reverts commit 56bb40c0179628e37ba3614534552441642c0492.

Additionally, we fix https://github.com/flutter/flutter/issues/40863 by adding a secondary VSYNC callback.

Unit tests are updated to provide VSYNC mocking and check the fix of https://github.com/flutter/flutter/issues/40863.

The root cause of having https://github.com/flutter/flutter/issues/40863 is the false assumption that each input event must trigger a new frame. That was true in the framework PR https://github.com/flutter/flutter/pull/36616 because the input events there are all scrolling move events. When the PR was ported to the engine, we can no longer distinguish different types of events, and tap events may no longer trigger a new frame.

Therefore, this PR directly hooks into the `VsyncWaiter` and uses its (newly added) secondary callback to dispatch the pending input event.
2019-09-30 11:25:50 -07:00
Greg Spencer
5302cb60b3 Add missing flag for embedder. (flutter/engine#12700)
Adding missing flag for IsFocusable that I missed in #12618
2019-09-30 11:21:01 -07:00
Luca Zuccarini
1ebef447d7 Add a method to flutter_window_controller to destroy the current window. (flutter/engine#12076)
This allows the embedder to be shutdown by means other than manually closing the window (e.g. by handling a SIGINT).
2019-09-30 10:58:36 -07:00
Jason Simmons
08ca30ec00 Migrate from fuchsia.crash.Analyzer to fuchsia.feedback.CrashReporter (flutter/engine#12413)
Ported from Topaz
2019-09-30 09:50:07 -07:00
Greg Spencer
b174801460 Add isFocusable to SemanticsFlag (flutter/engine#12618)
This adds an isFocusable to SemanticsFlag so that the framework can tell the engine what semantics nodes are allowed to be focused, which will affect what platform flags are applied to the semantics information.

This flag is not yet in use by the frame
2019-09-30 09:46:48 -07:00
liyuqian
2778d3bb20 Revert "[fuchsia] Wire up OpacityLayer to Scenic (#11322)" (flutter/engine#12610)
This reverts commit 639cc113f0b2ccf9fcf69ded7960d41d0b611f80.

Fixes https://github.com/flutter/flutter/issues/41394 and other
related correctness issues.

TBR: @arbreng @jason-simmons @mehmetf
2019-09-27 16:50:43 -07:00
gaaclarke
2aea717b71 Started asserting the FlutterEngine is running before communicating over channels. (flutter/engine#12469)
Started asserting the FlutterEngine is running before communicating
over channels.  This changes a null pointer exception to an
NSException that will provide some meaningful data to clients
incorrectly using the engine in an add-to-app situations.
2019-09-27 15:18:45 -07:00
gaaclarke
750f2e5bef Split out the logic to handle status bar touches into its own function (flutter/engine#12587)
Split out the logic to handle status bar touches into its own function.  This should make add-to-app clients' lives easier.
2019-09-27 15:10:28 -07:00
Kaushik Iska
ba2cd2fbed [flutter_runner] Refactor thread_application pair to ActiveApplication (flutter/engine#12573) 2019-09-27 13:38:25 -07:00
George Wright
c24109d884 Reword confusing messaging surrounding unhandled exception in flutter_runner on Fuchsia (flutter/engine#12428)
- Don't use 'unhandled' as that implies fatality which this is not
- Don't mention shutdown because this is not necessarily an exception-after-shutdown issue

Follow-up issue filed https://github.com/flutter/flutter/issues/41506 to implement the unit test for this.
2019-09-27 12:50:20 -07:00
Jonah Williams
c341326d6a Add support for JIT release mode (flutter/engine#12446) 2019-09-27 11:20:54 -07:00
Kaushik Iska
688c6f067a Remove references to topaz (flutter/engine#12565)
* Add clangd directory to gitignore

* Remove references to TOPAZ_ from #ifdefs

We missed these in the migration.
2019-09-27 10:24:44 -07:00
gaaclarke
56c5c74ecd Added a default entrypoint variable to match android syntax. (flutter/engine#12370)
Made creating and using a FlutterEngine a bit easier, to try to get it get it as easy to use as Android's equivalent.
* Added a default entrypoint variable.
* I added `run` to and `initWithName:` to FlutterEngine.
2019-09-26 17:11:45 -07:00
Matt Carroll
e6e9fb54bb Forwards Flutter View to platform views and detaches when needed. (flutter/engine#12359) 2019-09-26 15:34:01 -07:00
Francisco Magdaleno
9c8f5d8074 Adds support for 5 mouse buttons (flutter/engine#12450) 2019-09-26 15:23:58 -07:00
Chinmay Garde
46f4c5229f Revert "Support accessibility labels on iOS switches. (#12404)" (flutter/engine#12466)
This reverts commit 4a14828c0bd942baa3b012b20d2593f02c47264f.
2019-09-26 12:52:52 -07:00
brandondiamond
4a14828c0b Support accessibility labels on iOS switches. (flutter/engine#12404) 2019-09-26 11:14:44 -07:00
Greg Spencer
c671d64ac9 Revert "Send TYPE_VIEW_FOCUSED for views with input focus. (#12410)" (flutter/engine#12455)
This reverts commit 599389642bc73c7e439be34590ab71beced2d97e because it breaks the Flutter framework build.
2019-09-25 20:35:55 -07:00
Greg Spencer
599389642b Send TYPE_VIEW_FOCUSED for views with input focus. (flutter/engine#12410)
This change modifies the accessibility bridge so that if a node has input focus, then it will tell TalkBack so that it will request the accessibility focus for the view.

It also sets the content change types bit field to include CONTENT_CHANGE_TYPE_SUBTREE to indicate that the subtree for the view has changed for API levels after, and including, KitKat (19)
2019-09-25 14:14:00 -07:00
Michael Klimushyn
be42c21dc1 Work around Samsung keyboard issue (flutter/engine#12432)
Samsung's Korean keyboard has a bug where it always attempts to combine
characters based on its internal state, ignoring if and when the cursor
is moved programmatically. EG typing "ㄴㅇ" and then moving the cursor
back to the front of the text and typing "ㄴ" again would result in
"ㄴㅇㄴ", not "ㄴㄴㅇ".

Fully restarting the IMM works around this because it flushes the
keyboard's internal state and stops it from trying to incorrectly
combine characters. However this also has some negative performance
implications, so we only apply the workaround on Samsung devices set
to use Korean input.

This also effectively disables the feature on Samsung keyboards that
allowed users to re-open a composing region for previously typed
characters. See https://github.com/flutter/flutter/issues/29341#issuecomment-531283508.

Fixes flutter/flutter#29341.
2019-09-25 11:16:32 -07:00
David Worsham
639cc113f0 [fuchsia] Wire up OpacityLayer to Scenic (flutter/engine#11322)
On Fuchsia, add a build flag for compositing OpacityLayers using the system
compositor vs Skia, which exposes a fastpath for opacity via Scenic.
This will only work under certain circumstances, in particular nested
OpacityLayers will not render correctly!

On Fuchsia, add a build flag for compositing PhysicalShapeLayers using
the system compositor vs Skia. Set to off by default, which restores
performant shadows on Fuchsia.

Remove the opacity exposed from ChildView, as that was added mistakenly.

Finally, we centralize the logic for switching between the
system-composited and in-process-composited paths inside of
ContainerLayer. We also centralize the logic for computing elevation
there. This allows the removal of many OS_FUCHSIA-specific code-paths.

Test: Ran workstation on Fuchsia; benchmarked before and after
Bug: 23711
Bug: 24163

* Fix broken tests
2019-09-25 12:48:42 -04:00
Jonas Uekötter
82c40a3a20 Write MINIMAL_SDK to exception message (flutter/engine#11345)
This changes writes the required and current Android SDK level to the exception message. This enables Crash Reporting tools to capture more information about this crash.
2019-09-23 17:20:26 -07:00
Francisco Magdaleno
72e0f803b5 Track "mouse leave" event (flutter/engine#12363) 2019-09-23 16:44:44 -07:00
Ben Konyi
246f1c9c5e Update --dart-vm-flags whitelist to include --write-service-info and --sample-buffer-duration (flutter/engine#12395)
These flags were recently added and are safe to pass through to the VM
for development.
2019-09-23 13:28:42 -07:00
chunhtai
051ed653cc Add system font change listener for windows (flutter/engine#12276)
* Add windows font change logic

* update

* fix comment
2019-09-23 13:23:46 -07:00
gaaclarke
1cad708800 Added unit tests for method channels. (flutter/engine#12373)
Added unit tests for method channels.
2019-09-20 14:25:56 -07:00
Dan Field
128398be60 Sync dart_runner (flutter/engine#12375) 2019-09-20 12:58:08 -07:00
liyuqian
56bb40c017 Revert "Reland "Smooth out iOS irregular input events delivery (#11817)" (#12280)" (flutter/engine#12364)
This reverts commit dedf24e797d6257f9bb776cdf0d7525a16610321.

Reason: flutter/flutter#40863

TBR: chinmaygarde, iskakaushik
2019-09-19 19:39:36 -07:00
Matt Carroll
fce67bf3a8 Fixes race condition that was reported internally. (flutter/engine#12362) 2019-09-19 16:36:17 -07:00
Siva
c5ac59ebee  Roll src/third_party/dart 7c1821c4aa...ea969c358e (flutter/engine#12339)
* Roll src/third_party/dart 7c1821c4aa...ea969c358e (6 commits)

dart-lang/sdk@7c1821c4aa [NNBD/VM] Restructure VM patch files for the NNBD dart sdk split
dart-lang/sdk@0c23664c8f [vm/fuzzer] Reduce number of methods per class
dart-lang/sdk@3135eb569d [vm/bytecode] Fix initial scope in field initializers
dart-lang/sdk@1345fb80ac Use TypeParameterElement instead of TypeParameterType in inference.
dart-lang/sdk@430ff6d649 Migration: fix "matching" functionality of edge testing infrastructure.
dart-lang/sdk@f1bff1b512 Add option to run ddb with observatory
2019-09-19 16:07:34 -07:00
Dan Field
0b33917787 java lints (flutter/engine#12354) 2019-09-18 21:20:04 -07:00
Kaushik Iska
4d6b95ebdc [flutter_runner] Port vulkan surface changes (flutter/engine#12350)
[flutter_runner] use dedicated allocation info

    This informs the vulkan driver that we're allocating memory
    dedicated to a single image. This is required for aemu and
    might also allow future drivers to make optimizations currently
    not possible.

    No change in behavior. Existing tests (modular_tests,
    scenic_tests, etc.) are sufficient and regressions will be
    prevented by running these tests on aemu.

    DX-939 #comment

    Test: fx shell run fuchsia-pkg://fuchsia.com/basemgr#meta/basemgr.cmx --base_shell=fuchsia-pkg://fuchsia.com/spinning_cube#meta/spinning_cube.cmx
    Change-Id: If4ecd9aaa09f12f94654a68e8e9fe979748f44af

    [flutter_runner] use external image create info

    DX-939 #progress
    MA-394 #progress

    This informs the vulkan driver that we're creating an image
    that will be backed by external memory. The driver driver can
    decide to use different memory requirements based on the if
    memory for the image can be exported or not.

    No change in behavior. Existing tests (modular_tests,
    scenic_tests, etc.) are sufficient and regressions will be
    prevented by running these tests on aemu.

    Test: fx shell run fuchsia-pkg://fuchsia.com/basemgr#meta/basemgr.cmx --base_shell=fuchsia-pkg://fuchsia.com/spinning_cube#meta/spinning_cube.cmx
    Change-Id: I489318c2e31f752f76c80a81245e203861d44d94
2019-09-18 19:06:12 -07:00
Kaushik Iska
5bdd5ec96c [flutter_runner] Explicitly set |trace_skia| to false (flutter/engine#12349)
Explicitly set |Application|'s |flutter::Settings| |trace_skia| field to
false (it currently defaults to false), in order to slightly simplify
the enabling skia trace events workflow.

PT-145 #comment-patch

Change-Id: Ib40f9ed3dc6f824056465db2cd45309c78b7e3b4
2019-09-18 18:02:43 -07:00
Kaushik Iska
51fc8e108d [flutter_runner] Port the new compilation trace from topaz (flutter/engine#12348) 2019-09-18 18:02:34 -07:00