1280 Commits

Author SHA1 Message Date
Chinmay Garde
5ac2d02645
Avoid disabling sources assignment filters are these have been removed. (#8954) 2019-05-13 18:38:28 -07:00
Matt Carroll
51486a5494
New Plugin API PR2: Introduces ActivityAware, ActivityControlSurface, and ActivityPluginBinding. (#8943) 2019-05-13 17:07:29 -07:00
Jason Simmons
b3b817a9b3
Add a minimal set of symbols to the dynamic symbol table for Linux executables (#8937)
This will reduce executable size.
2019-05-13 16:12:58 -07:00
Chinmay Garde
96ffc893ec
Copy the Dart Runner from //topaz into the engine. (#8949) 2019-05-13 14:48:20 -07:00
Matt Carroll
904cfc4fe3
Add @UiThread to MethodChannel and related classes/calls (#32642). (#8947) 2019-05-13 13:26:31 -07:00
stupidfive
47fd66c89b Terminate debug background task on expiry (#8930)
When backgrounding an app in debug mode, we make a request for
additional background time for the app with a background task. This
prevents us from losing the devfs session used for hot reload. In the
case where the app is backgrounded beyond the additional time provided
by iOS, it's required that we end the background task or the app will
be terminated by the OS.

We previously ended the background task only on foregrounding, but
failed to do so on expiry of the task.
2019-05-13 11:29:05 -07:00
Matt Carroll
816d3fc586
New Plugin API PR1: Introduces PluginRegistry and FlutterPlugin, adds support for plugin registration to FlutterEngine. (#8826) 2019-05-12 16:58:38 -07:00
Chinmay Garde
21ad7f051c
Move the Fuchsia Flutter Runner to //flutter/shell/platform/fuchsia/flutter (#8939)
This makes room for the Dart runner at //flutter/shell/platform/fuchsia/dart.
2019-05-12 14:29:34 -07:00
Chinmay Garde
5526884e78
Wire up the Skia Metal backend on iOS. (#8936) 2019-05-11 15:21:26 -07:00
Tong Mu
6e3c043141
Synthesize buttons for embedders (#8873)
* Synthesize a buttons = kPrimaryButton for events of down and move
* Add PointerEventButtons
2019-05-10 12:12:51 -07:00
Chris Yang
0bc6dc9746
Platform_views gesture: let flutter view controller be the media to pass the touches. (#8685)
This PR updated the forwarding gesture recognizer to pass the touch events directly to the FlutterViewContoller instead of FlutterView which ensures the touches events are passed to the framework.
2019-05-10 09:58:33 -07:00
Chris Yang
d8646ed07c
Fix the iOS accessibility tree structure of platform views. (#8731)
Partially fix the issue in flutter/flutter#30804. This only fixes the focus issue for other platform views (Google maps and other custom platform views), but the same issue on WebView is not fixed.

Before the change, the a11y tree with platform view looks like

```
<some parent a11y container>
     <SemanticsObject for platform view>
     <FlutterPlatformViewSemanticsContainer>
          <platform view>
```
After the change, it looks like

```
<some parent a11y container>
     <FlutterPlatformViewSemanticsContainer>
          <SemanticsObject>
          <platform view>
```

This PR also updated the implementation of FlutterPlatformViewSemanticsContainer to use A11yContainer protocol to implement the details on various a11y attribute including the accessibilityFrame and accessibilityScroll.
2019-05-09 16:52:46 -07:00
Zachary Anderson
27409dc1ce
[fuchsia] Guard out-of-tree Fuchsia targets to fix in-tree build (#8923) 2019-05-09 14:14:52 -07:00
stuartmorgan
892b505d0a
Provide a resource context in the GLFW shell (#8895)
Uses an invisible GLFW window to provide a background resource context
for the Flutter engine to upload textures.

Fixes #31941
2019-05-08 10:36:14 -04:00
Dan Field
5d1c1a027e
Remove more asserts and fix a11y check (#8896) 2019-05-08 01:19:24 -07:00
Dan Field
ac4f3c9945
Prevent iOS from autofilling password into wrong text box (#8894) 2019-05-08 01:00:05 -07:00
Chinmay Garde
93d1c37946
Remove absolute path in new Fuchsia SDK based runner target dependency. (#8888)
Only ran into this as I was wiring up the bots to build the new targets.
2019-05-07 17:26:45 -07:00
Chinmay Garde
0b406c3de3
Copy the Flutter Runner from //topaz into the engine. (#8886)
Build rules and include paths have been updated as necessary.
No other functional change.
2019-05-07 17:24:18 -07:00
Dan Field
2b1f9925e4
new lints (#8849)
Dart lints added:
* Avoid optional new
* Avoid optional const
* Prefer single quotes
* Prefer default assignment `=`
2019-05-07 16:10:21 -07:00
Chinmay Garde
0c7a3f25f5
Copy //dart-pkg/zircon|fuchsia from Topaz into the engine. (#8884)
Build rules and include paths have been updated as necessary. No other functional change.
2019-05-07 15:06:15 -07:00
Chinmay Garde
d71704488e
Copy //runtime/dart/utils from Topaz into the engine. (#8871)
Build rules and include paths have been updated as necessary. No other functional change.
2019-05-07 13:59:43 -07:00
Dan Field
5a045dd1f7
Log instead of throwing (#8881) 2019-05-07 11:08:38 -07:00
Chinmay Garde
f6e6d39860
Wire up Fuchsia SDK related updated for shell dependencies. #8869
This does not actually import the runners into the engine. It only sets up the targets so they need no modifications are necessary when the migration is done. The engine has been verified to build in both buildroots.
2019-05-06 18:01:59 -07:00
stuartmorgan
10cbdd49d1
Add resize functions to GLFW shell (#8864)
Adds methods to get and set the window size, as well as to query the
window's scale factor. This is useful both for custom clients, and for
building a window resize plugin to prototype what will eventually likely
be a system channel.
2019-05-06 16:22:40 -04:00
stuartmorgan
62ab9c7b81
Provide access to GLFW window in plugins (#8806)
Plugins may need to be able to access functions affecting the GLFW
window (e.g., a plugin to resize the window). This restructures the API
to create a distinction at both the C and C++ level between the window
controller, which provides access to high-level behaviors driving the
Flutter application, and the window, which provides access to functions
to affect the UI state of the window (i.e., wrapped GLFWwindow
functions).

Also provides a PluginRegistrar extension for plugins that need access
to GLFW-specific functionality.
2019-05-06 15:37:02 -04:00
Dan Field
88e82d371a
Remove static leaks (#8825) 2019-05-03 16:57:04 -07:00
Matt Carroll
2c9e37c34e
Cause crash in FlutterJNI if invoked on non-main thread (#31263). (#8830) 2019-05-03 14:55:28 -07:00
Dan Field
7ce2666e54
Guard Android logs (#8824) 2019-05-03 14:32:29 -07:00
Jonah Williams
1bcbaf73a7
Add flutter settings channel and window brightness to macOS shell (#8810) 2019-05-02 20:42:51 -07:00
Dan Field
480844608c
Remove asserts and add BuildConfig (#8821) 2019-05-02 17:30:19 -07:00
Dan Field
39a950e5d1
remove legacy build deps (#8820)
* remove legacy build deps
2019-05-02 16:03:05 -07:00
Matt Carroll
30639ee7b6
Allow FlutterEngine to be used on back-to-back screens (#31264). (#8808) 2019-05-02 13:19:11 -07:00
Kaushik Iska
1219e5c7d2
Re-create texture from pixel buffer onGrContextCreate (#8792)
* Re-create texture from pixel buffer onGrContextCreate

OnGrContextDestroy we destroy the texture, this is because
we can not access it from the potentially new context that
we get on bringing the app back to foreground.

To show a valid texture on fg, we need to preserve the pixel
buffer, using which we will create the new texture.

* ensure texture cache exists

* only reset pixel buffer if not null.
2019-04-30 15:25:20 -07:00
Kaushik Iska
5aa5b6cbf4
VirtualDisplay size constraint - add a comment explaining the reason (#8780)
* VirtualDisplay size: add a comment explaining the reason

Address nits in: https://github.com/flutter/engine/pull/8704

* remove locale import
2019-04-29 17:19:05 -07:00
Dan Field
57bf1c0968
Fix crash when cursor ends up at invalid position (#8747) 2019-04-26 15:43:44 -07:00
Kaushik Iska
7471ddea46
Limit the size of VirtualDisplay we create in android (#8704)
- This can cause phones to restart as documented in https://github.com/flutter/flutter/issues/28978
2019-04-25 13:44:45 -07:00
Zachary Anderson
3a29e6a7a7
Plumb arguments from Settings to Dart main() (#8710) 2019-04-25 07:57:54 -07:00
Chris Bracken
fdd8fdbf40
Fix reflective ctor invocation in FlutterFragment (#8735)
Class.newInstance() propagates any exception thrown by the nullary
constructor, including a checked exception. This effectively bypasses
the compile-time exception checking that would otherwise be performed by
the compiler. The Constructor.newInstance method avoids this problem by
wrapping any exception thrown by the constructor in a (checked)
InvocationTargetException.
2019-04-24 17:50:19 -07:00
liyuqian
1c9457cedc
Revert "Only allow mappings for ICU initialization. (#8656)" (#8682)
This reverts commit bd8c5b135e4d41842d0d5d42ff4943a18b8f4f0c.

Reverts flutter/engine#8656

Reason:  https://github.com/flutter/engine/pull/8656 seems to break the framework windows tests and the engine roll (see https://cirrus-ci.com/task/4704667236827136 and https://github.com/flutter/flutter/pull/31330). The failure has been consistent for 7 consecutive engine-to-framework auto-rolls.

TBR: @chinmaygarde
2019-04-22 10:28:54 -07:00
Stanislav Baranov
8b5f77630f
Remove support for downloading dynamic patches. (#8663) 2019-04-22 09:05:06 -07:00
Chinmay Garde
2e4f0a4a72
Put the testing lib in the flutter namespace. (#8661) 2019-04-20 20:42:46 -07:00
Chinmay Garde
1239df96aa
Allow native bindings in secondary isolates. (#8658)
The callbacks can be wired in via the Settings object. Both runtime and shell unit-tests have been patched to test this.
2019-04-19 17:36:36 -07:00
Chinmay Garde
bd8c5b135e
Only allow mappings for ICU initialization. (#8656)
If the mapping callback is not set or it the callback returns invalid data, ICU initialization will be embedder responsibility.

This affects all embedders and the following have been audited:
* Android: Via a symbol mapping.
* iOS: Via a file mapping.
* Embedder: Via a file mapping.
* Fuchsia: Via a VMO mapping
* Test shells and Flutter tester: Via file mapping with ICU data needing to be next to the executable.
2019-04-19 15:01:40 -07:00
Chinmay Garde
1fe3279149
Cleanup references to FLX archives from the engine. (#8653) 2019-04-19 12:49:07 -07:00
Chinmay Garde
6257dfeb53
Add factory methods to FileMapping that make it easy to create common mappings. (#8652)
The GetMapping calls removed in this patch had the same code and had to be repeated across different test harnesses as well as in dart_snapshot.cc. Just make this a factory method so the code is less verbose.
2019-04-19 12:48:53 -07:00
Ben Konyi
ca31a7c57b
Disable auth codes for Observatory test (#8646) 2019-04-18 17:46:32 -07:00
Ben Konyi
3e597e1de3
Enable VM service authentication codes by default (#8594) 2019-04-18 14:17:25 -07:00
Ben Konyi
763bbca0cc
Add support for authentication codes via MDNS on iOS (#8625) 2019-04-18 12:12:29 -07:00
Chinmay Garde
57f8abb73f
Avoid leaking the VM in the shell unittests and assert VM state in existing tests. (#8628) 2019-04-18 11:32:33 -07:00
Shi-Hao Hong
d8aa6bca16
Fix typo in comment (#8617) 2019-04-17 15:03:50 -07:00