1289 Commits

Author SHA1 Message Date
Chris Bracken
963c943a12 Rename Fuchsia Dart and Flutter runners (flutter/engine#9003)
four_gate -> flutter_runner
dt_rush -> dart_runner
2019-05-17 17:04:40 -07:00
Adam Barth
e1c043fe58 [fuchsia] Update zx_clock_get callers (flutter/engine#8998)
Fuchsia is changing zx_clock_get to return a zx_status_t. This change
prepares us for that change.
2019-05-17 16:37:28 -07:00
Matt Carroll
443edceabb New Plugin API PR3: Introduces Service, BroadcastReceiver, and ContentProvider awareness, control surfaces, and plugin bindings. (flutter/engine#8962) 2019-05-17 14:25:05 -07:00
stuartmorgan
5c4c8d9f27 Enable hover by default for desktop shells (flutter/engine#8991)
Fixes flutter/flutter#32835
2019-05-16 20:12:03 -04:00
Dan Field
6037f82d66 add observatoryUrl property to FlutterEngine (flutter/engine#8987) 2019-05-16 13:14:34 -07:00
Matthew Dempsky
0bca459e28 Replace ararysize macro with fml::size function (flutter/engine#8975)
This is forward compatible with std::size and similar to how Chromium
removed use of the arraysize macro.
2019-05-15 12:43:47 -07:00
Gary Qian
04e41a7e6d Use Android text selection shifting API to handle keyboard backspace (flutter/engine#8956) 2019-05-15 10:44:23 +08:00
liyuqian
b000f9830c Rename frame_time and engine_time (flutter/engine#8952)
At a quick glance, one could easily think of the "engine_time" as the
GPU thread time and the "frame_time" as the UI thread time because the
GPU thread time is mainly spent on the engine while the UI thread time
is mainly spent on the Dart framework to generate the frame.

But it's actually the other way. The "engine_time" is UI thread time and
the "frame_time" is the GPU thread time.

To avoid the confusion, rename them to "ui_time" and "raster_time"
respectively. I avoided the "gpu_time" because the rasterization may be
purely on a CPU backed software Skia backend.
2019-05-14 14:29:27 -07:00
Matthew Dempsky
8b4a5398ae Roll tonic and update #includes (flutter/engine#8950) 2019-05-14 11:57:09 -07:00
Chinmay Garde
74f9cc79b3 Avoid disabling sources assignment filters are these have been removed. (flutter/engine#8954) 2019-05-13 18:38:28 -07:00
Matt Carroll
170f789067 New Plugin API PR2: Introduces ActivityAware, ActivityControlSurface, and ActivityPluginBinding. (flutter/engine#8943) 2019-05-13 17:07:29 -07:00
Jason Simmons
f1ef8c2748 Add a minimal set of symbols to the dynamic symbol table for Linux executables (flutter/engine#8937)
This will reduce executable size.
2019-05-13 16:12:58 -07:00
Chinmay Garde
1285f72fc5 Copy the Dart Runner from //topaz into the engine. (flutter/engine#8949) 2019-05-13 14:48:20 -07:00
Matt Carroll
965d20ae44 Add @UiThread to MethodChannel and related classes/calls (#32642). (flutter/engine#8947) 2019-05-13 13:26:31 -07:00
stupidfive
50c82c816b Terminate debug background task on expiry (flutter/engine#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
845bd91111 New Plugin API PR1: Introduces PluginRegistry and FlutterPlugin, adds support for plugin registration to FlutterEngine. (flutter/engine#8826) 2019-05-12 16:58:38 -07:00
Chinmay Garde
37fb8bb68d Move the Fuchsia Flutter Runner to //flutter/shell/platform/fuchsia/flutter (flutter/engine#8939)
This makes room for the Dart runner at //flutter/shell/platform/fuchsia/dart.
2019-05-12 14:29:34 -07:00
Chinmay Garde
879711b321 Wire up the Skia Metal backend on iOS. (flutter/engine#8936) 2019-05-11 15:21:26 -07:00
Tong Mu
fa9dec68eb Synthesize buttons for embedders (flutter/engine#8873)
* Synthesize a buttons = kPrimaryButton for events of down and move
* Add PointerEventButtons
2019-05-10 12:12:51 -07:00
Chris Yang
909ba9c7ba Platform_views gesture: let flutter view controller be the media to pass the touches. (flutter/engine#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
00297d8ace Fix the iOS accessibility tree structure of platform views. (flutter/engine#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
d7525a5efc [fuchsia] Guard out-of-tree Fuchsia targets to fix in-tree build (flutter/engine#8923) 2019-05-09 14:14:52 -07:00
stuartmorgan
fea4724762 Provide a resource context in the GLFW shell (flutter/engine#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
e1a78133f8 Remove more asserts and fix a11y check (flutter/engine#8896) 2019-05-08 01:19:24 -07:00
Dan Field
68a0dbe78b Prevent iOS from autofilling password into wrong text box (flutter/engine#8894) 2019-05-08 01:00:05 -07:00
Chinmay Garde
0dfd3c2144 Remove absolute path in new Fuchsia SDK based runner target dependency. (flutter/engine#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
8ef9d87c66 Copy the Flutter Runner from //topaz into the engine. (flutter/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
c96714ac5d new lints (flutter/engine#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
8462054c5b Copy //dart-pkg/zircon|fuchsia from Topaz into the engine. (flutter/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
fa8b1de1c0 Copy //runtime/dart/utils from Topaz into the engine. (flutter/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
6b5249e33d Log instead of throwing (flutter/engine#8881) 2019-05-07 11:08:38 -07:00
Chinmay Garde
56e7bf84b1 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
fe6ed0bd72 Add resize functions to GLFW shell (flutter/engine#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
71903838b8 Provide access to GLFW window in plugins (flutter/engine#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
71fc6ad699 Remove static leaks (flutter/engine#8825) 2019-05-03 16:57:04 -07:00
Matt Carroll
d5f3268c0c Cause crash in FlutterJNI if invoked on non-main thread (#31263). (flutter/engine#8830) 2019-05-03 14:55:28 -07:00
Dan Field
5fc7feffe7 Guard Android logs (flutter/engine#8824) 2019-05-03 14:32:29 -07:00
Jonah Williams
a76c6e3df4 Add flutter settings channel and window brightness to macOS shell (flutter/engine#8810) 2019-05-02 20:42:51 -07:00
Dan Field
a6fc20e278 Remove asserts and add BuildConfig (flutter/engine#8821) 2019-05-02 17:30:19 -07:00
Dan Field
66f76e2c0e remove legacy build deps (flutter/engine#8820)
* remove legacy build deps
2019-05-02 16:03:05 -07:00
Matt Carroll
77981e55ed Allow FlutterEngine to be used on back-to-back screens (#31264). (flutter/engine#8808) 2019-05-02 13:19:11 -07:00
Kaushik Iska
08a3eedf0d Re-create texture from pixel buffer onGrContextCreate (flutter/engine#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
d1747142e0 VirtualDisplay size constraint - add a comment explaining the reason (flutter/engine#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
c7e9c7b016 Fix crash when cursor ends up at invalid position (flutter/engine#8747) 2019-04-26 15:43:44 -07:00
Kaushik Iska
1a247c1d1c Limit the size of VirtualDisplay we create in android (flutter/engine#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
0299216745 Plumb arguments from Settings to Dart main() (flutter/engine#8710) 2019-04-25 07:57:54 -07:00
Chris Bracken
98f182594e Fix reflective ctor invocation in FlutterFragment (flutter/engine#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
358e88cabf Revert "Only allow mappings for ICU initialization. (#8656)" (flutter/engine#8682)
This reverts commit dfaa1c9292238e73c56d36f7264adc63ea53745c.

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
4b86efc066 Remove support for downloading dynamic patches. (flutter/engine#8663) 2019-04-22 09:05:06 -07:00
Chinmay Garde
0b2269e30e Put the testing lib in the flutter namespace. (flutter/engine#8661) 2019-04-20 20:42:46 -07:00