1914 Commits

Author SHA1 Message Date
Chris Yang
f2eb1d4bd7 Add iOS platform view mutation XCUITests to the scenario app (flutter/engine#11652) 2019-09-16 07:56:24 +08:00
gaaclarke
ab8dae9cc6 FlutterViewController notify will dealloc (flutter/engine#12232)
Made the flutter view controllers dealloc notification more
generic and started turning off semantics when the view controller
is remotely deleted.
2019-09-13 17:33:03 -07:00
Francisco Magdaleno
4090600949 [macos] Stops keeping track of text input models (flutter/engine#12267) 2019-09-13 14:30:20 -07:00
stuartmorgan
63c3a631f7 Add an initial macOS version of FlutterAppDelegate (flutter/engine#12230)
Creates a starting point for an app delegate. For now it just
incorporates the menu and window renaming functionality that's currently
in the FDE example, but in the future this will also do forwarding of
application lifecycle events to plugins.

Fixes https://github.com/flutter/flutter/issues/32419
2019-09-12 16:03:18 -07:00
Francisco Magdaleno
71f6d9cde9 [glfw/windows] Stops keeping track of input models (flutter/engine#12234) 2019-09-12 15:30:53 -07:00
Michael Klimushyn
862f40c774 Revert "Smooth out iOS irregular input events delivery (#11817)" (flutter/engine#12251)
This reverts commit 6b742994a371f5edded8925708d101186c950ada.
2019-09-12 11:23:05 -07:00
Michael Klimushyn
eef9a08469 Enable platform view keyboard input on Android Q (flutter/engine#12085)
Naively embedded platform views on Android were never able to receive
keyboard input, because they were never focusable. So far we've worked
around the limiation by hooking into InputMethodManager and proxying the
InputConnection from a focused window over to the embeded view.

Android Q changed InputMethodManager to be instanced per display instead
of a singleton. Because of this our proxy hook was never being called,
since it was being set up on a different instance of IMM than was being
used in the virtual display.

Update `SingleViewPresentation` to store the IMM from the focused window
and return it whenever there are any calls to `INPUT_METHOD_SERVICE`.
This hooks our proxy back into place for the embedded view in the
virtual display. This restores the functionality of our workaround from
previous versions.

Unfortunately there's still a lot of noisy error logs from IMM here. It
can tell that the IMM has a different displayId than what it's expecting
from the window.

This also updates the unit tests to support SDK=27. SDK 16 doesn't have
DisplayManager, so there were NPEs attempting to instantiate the class
under test.
2019-09-12 09:50:54 -07:00
Jim Graham
f88d9721fc Adjust iOS frame start times to match the platform info (flutter/engine#11802) 2019-09-11 19:08:56 -07:00
Jim Graham
3b0523005a Revert "Manage iOS contexts separately (#12078)" (flutter/engine#12233)
This reverts commit d10b72a5c9cecb3e2217f68580aa4aac98d42069.
2019-09-11 17:56:24 -07:00
George Wright
d10b72a5c9 Manage iOS contexts separately (flutter/engine#12078)
Manage resource and onscreen contexts using separate IOSGLContext objects. FlutterView owns the onscreen context, and PlatformViewIOS owns the resource context.
2019-09-11 14:32:26 -07:00
Kaushik Iska
f4ecd9c175 Namespace patched SDK names to not conflict with Topaz (flutter/engine#12218) 2019-09-11 08:19:58 -07:00
Jason Simmons
a2819be2e2 [flutter_runner] Generate symbols for the Dart VM profiler (flutter/engine#12048)
Ported from the original implementation in the Topaz tree.
2019-09-10 14:35:42 -07:00
Jason Simmons
0354d92bea [flutter_runner] Port the accessibility bridge from Topaz (flutter/engine#12054) 2019-09-10 11:29:08 -07:00
liyuqian
6b742994a3 Smooth out iOS irregular input events delivery (flutter/engine#11817)
Fixes https://github.com/flutter/flutter/issues/31086

This patch is a lower level implementation of
https://github.com/flutter/flutter/pull/36616 that would only impact iOS
engine, and host unittests.
2019-09-10 11:18:01 -07:00
Chinmay Garde
5d6d4e450d Don't launch the observatory by default on each embedder unit-test invocation. (flutter/engine#12087)
There is no test to assert this and it unnecessarily slows down the test
harness and opens tons of port on the host.
2019-09-09 19:58:36 -07:00
Chinmay Garde
9b9635391c Guard availability of user notification related methods to iOS 10.0 (flutter/engine#12084)
* `NS_AVAILABLE_IOS(10_0)` makes us tell our compiler that the method needs
  to be stamped into the TU but we promise to do stuff in it only on iOS 10.0
  and above.
* `@availability` ensures that if those methods are called on iOS versions less
  than 10.0, we will do nothing with it. This guards us against the case where
  iOS introduced the functionality privately in older versions of iOS.
2019-09-09 20:25:29 -04:00
Maurice Parrish
af3929e2aa Add capability to add AppDelegate as UNUserNotificationCenterDelegate (flutter/engine#9864) 2019-09-09 14:54:00 -07:00
shoryukenn
58c3192c32 Improve Unicode handling on Windows (flutter/engine#11899)
Significantly improves the behavior of non-ASCII text input on Windows. Correctly
processes incoming character events as UTF-16, and for now uses UTF-32 for
the text model so that the existing index-based logic will work much more often.

Future work is still needed, but this will handle far more cases correctly.
2019-09-08 12:13:59 -07:00
xster
1488856a85 Annotate nullability on FlutterEngine to make swift writing more ergonomic (flutter/engine#11808) 2019-09-08 00:25:07 -07:00
Kaushik Iska
2d656f6f32 Revert "Manage resource and onscreen contexts using separate IOSGLContext objects (#11798)" (flutter/engine#12055)
This reverts commit 9297908d54bf20f8cd8dd81849c95ff8528683e3.
2019-09-06 18:12:16 -07:00
George Wright
9297908d54 Manage resource and onscreen contexts using separate IOSGLContext objects (flutter/engine#11798)
Manage resource and onscreen contexts using separate IOSGLContext objects
2019-09-06 16:44:49 -07:00
Kaushik Iska
3a78a5e281 [flutter_runner] Refactor our build rules to make them more inline with topaz. (flutter/engine#12034)
Also add flutter tool support for topaz in-tree builds that already have
a dependency on the framework repository.

After this the only major changes left are profiler symbols and
Framework mode.

This should make making topaz use our buldrules significantly easier.
2019-09-06 15:30:37 -07:00
Emmanuel Garcia
61d1fabcae Document dependencies and remove support-v13 (flutter/engine#11912) 2019-09-06 15:25:59 -07:00
Kaushik Iska
ed39cbade1 [flutter_runner] Kernel platform files can now be built in topaz (flutter/engine#12016)
- Tested this compatibility in topaz repo. The build rules can now be
used to build kernel_platform_files in topaz tree, after this change we
can migrate the platform*dill and vm*snapshot files in topaz to use the
engine built artifacts.

- Also removes some namespace conflicts for dart configuration.
2019-09-06 14:34:26 -07:00
Kaushik Iska
bb74945d36 [flutter_runner] Plumb Flutter component arguments to the Dart entrypoint (flutter/engine#12026)
port of Change-Id: Ibcd4a110b84805af02a436a2a5bcf2cf3d2029a4
2019-09-06 14:16:13 -07:00
Matt Carroll
8c30983455 Remove un-needed FragmentActivity import statements to facilitate proguard. (flutter/engine#11902) 2019-09-05 14:44:04 -07:00
Emmanuel Garcia
f3c62c4603 Add @Keep annotation (flutter/engine#11893) 2019-09-05 13:23:04 -07:00
Shi-Hao Hong
19b98ba9f2 Incorporate View.setSystemGestureExclusionRects code review feedback from #11441 (flutter/engine#11804)
* Improve variable naming and javadoc for setSystemGestureExclusionRects

* Remove variables from setSystemGestureExclusionRects tests

* Split test for two behaviors into two separate tests for setSystemGestureExclusionRects success case
2019-09-05 12:53:41 -07:00
xster
12e8ba8313 remove extra redundant channels setup in iOS embedding engine (flutter/engine#11886) 2019-09-05 11:13:04 -07:00
Francisco Magdaleno
d00cb9e09e Finish plumbing message responses on method channels (flutter/engine#11877) 2019-09-04 16:17:10 -07:00
James Clarke
d1fa9b5f40 [Windows] Address #36422 by adding a context for async resource uploading (flutter/engine#11828)
Add a context for async resource uploading.

Fixes flutter/flutter#36422
2019-09-04 15:52:12 -07:00
Shi-Hao Hong
a4cb86d72d Android 10+ View.getSystemGestureExclusionRects (flutter/engine#11451)
* SystemGesture.getSystemGestureExclusionRects

* Add getSystemExclusionRects unit tests
2019-09-04 15:13:02 -07:00
Core
570279a848 Fix deleting Thai vowel bug on iOS (skip string range sanitization) (flutter/engine#11807) 2019-09-04 13:19:53 -07:00
Kaushik Iska
a541c52ab9 [flutter_runner] Add common libs to the test far (flutter/engine#11875)
* [flutter_runner] Add common libs to the test far

* Add flutter runner test build as part of CI
2019-09-04 11:17:25 -07:00
Kaushik Iska
03060ea88e Add a sample unit test target to flutter runner (flutter/engine#11847) 2019-09-04 07:58:52 -07:00
Matt Carroll
bebb5d2b5b Rename first frame method and notify FlutterActivity when full drawn (#38714 #36796). (flutter/engine#11357) 2019-09-03 15:49:53 -07:00
James Clarke
a3822320b7 [Windows] Update API for alternative Windows shell platform implementation (flutter/engine#11327)
* Begin API evolution to a more native win32 API

* Child-window based hosting

* Plumb through an initial size for child window to avoid reallocated surface on start

* Windows API cleanup part 1

* Fix wrapper tests

* Ensure flutter's HWND resources are destroyed

* Final API cleanup

* Fix dynamic DPI handling

* Cleanup

* Fix a bug that was causing engine to not be shutdown correctly

* CR feedback

* auto format

* CR feedback: combine FlutterView and FlutterViewController

* The one that clang-format seems to always get wrong

* expletive

* fix sources for licesnse file

* CR Feedback

* cleanup

* Update GetNativeWindow() to return an HWND rather than a long

* fix formatting
2019-09-02 17:55:42 -07:00
gaaclarke
3aaf1637b7 Started logging warnings if we drop platform messages. (flutter/engine#11792) 2019-08-30 12:48:03 -07:00
Kaushik Iska
578a942fc7 Roll fuchsia/clang/linux-amd64 from wGyr4... to -mnHl... (flutter/engine#11790)
* Roll fuchsia/clang/linux-amd64 from wGyr4... to -mnHl...

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-toolchain-flutter-engine
Please CC  on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

* Fix dangling pointer
2019-08-30 11:38:12 -07:00
Kaushik Iska
e51c616fc9 Roll fuchsia/sdk/core/linux-amd64 from -UaaS... to fSXZ0... (flutter/engine#11784)
* Roll fuchsia/sdk/core/linux-amd64 from -UaaS... to fSXZ0...

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC  on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

* Fix deprecated usage
2019-08-30 10:34:06 -07:00
Kaushik Iska
e358e0eef5 [flutter_runner] Port over all the changes to the dart_runner cmx files (flutter/engine#11776)
* Port over all the changes to the dart_runner cmx files

* Update vmservice.cmx
2019-08-30 10:19:08 -07:00
Matt Carroll
6de867c62a Revert "Notify framework to clear input connection when app is backgrounded (#35054) (#9498)" (flutter/engine#11720)
This reverts commit afb3cb3f89f543282f495406b2abc8fb6a223fea.
2019-08-29 15:42:11 -07:00
Dan Field
db921356f8 Return a JSON value for the Skia channel (flutter/engine#11717) 2019-08-29 14:03:55 -07:00
Shi-Hao Hong
673154b0f8 Android 10+ View.setSystemGestureExclusionRects (flutter/engine#11441)
* Implement SystemGesture.setSystemGestureExclusionRects platform channel

* Add PlatformChannelTest.java

* Fix typo in android/test/README.md
2019-08-29 17:00:42 -04:00
Martin Kustermann
442d4de7a2 Roll src/third_party/dart 35382f9b14..05c28c6115 (flutter/engine#11702)
* Roll src/third_party/dart 35382f9b14..05c28c6115

dart-lang/sdk@05c28c6115 Reland "Scaffolding for dart:wasm"
dart-lang/sdk@d57a8f7451 [vm/bytecode] Remove DebugCheck in synthetic non-local transfer (no source pos).
dart-lang/sdk@b565c8c20f Don't serialize not serializable constant variable initializers.
dart-lang/sdk@ce12a2722d Migration: handle named parameters in _substituteFunctionAfterFormals.
dart-lang/sdk@a290271dea [vm/bytecode] Throw should be 'debug checked', but not ReThrow.
dart-lang/sdk@63133a2a8c [cfe] Handle extension instance method tearoff
dart-lang/sdk@a147d4e8d2 [cfe] Handle simple use of extension instance members
dart-lang/sdk@e9fdeb2db8 Migration: add support for creating instances without supplying type arguments.
dart-lang/sdk@66e349da9c Migration: Clean up substitution logic in getOrComputeElementType
dart-lang/sdk@e9a44ba6a8 fix extension instance field error
dart-lang/sdk@15a7b57d8e split endFields into endClass/Mixin/ExtensionFields events
dart-lang/sdk@ed1b4ffba1 Add tests of extensions of mixins
dart-lang/sdk@ef36f1ba0d [vm/fuzzer] Reduce limit on methods and classes
dart-lang/sdk@7b17602c74 [vm/bytecode] Include function name into source fingerprints
dart-lang/sdk@851701d2a4 add BREAK suggestions to switch cases
dart-lang/sdk@57f7941eef [cfe] Remove 'functionNestingLevel' for VariableDeclaration.forValue
2019-08-29 22:06:42 +02:00
Chinmay Garde
c379128221 Append newlines to EOF of all translation units. (flutter/engine#11654)
We are switching to -Wnewline-eof soon and these will become errors. Anyway, this was undefined behavior.
2019-08-28 15:06:49 -07:00
Kaushik Iska
f2920b587d [flutter] Port: Run handle wait completers on the microtask queue (flutter/engine#11649)
Change-Id: I66c39d9ef7d534094148212940eef45754559d04
2019-08-28 14:02:11 -07:00
Kaushik Iska
53d9307ddb [flutter_runner] Port Expose ViewBound Wireframe Functionality (flutter/engine#11635)
Expose scenic's ability to toggle wireframe debug
rendering of view bounds in flutter_runner. This is done
by registering a new function on the platform_views channel
with the PlatformView.

Note: Unittests have not been enabled, will enable once we
have sufficient infra.

SCN-1351 #done

Change-Id: Id4c8ef65cc39a967087d7fa6c9f595da8cfe5f01
2019-08-28 12:46:24 -07:00
Kaushik Iska
9669b8fa01 [fidl][flutter_runner] Port Migrate to new fit::optional compatible APIs (flutter/engine#11636)
* [fidl][flutter_runner] Port Migrate to new fit::optional compatible APIs

Updated all call-sites.

See: https://fuchsia-review.googlesource.com/c/fuchsia/+/304389

FIDL-564 #comment

Change-Id: I831712ffd4a47b8fc9cf1fe237b709a1b983109f

* fix observatory port and re-sync cmx files
2019-08-28 12:31:07 -07:00
Brian Osman
49d551e4db Update CanvasSpy::onDrawEdgeAAQuad for Skia API change (flutter/engine#11638) 2019-08-28 14:31:23 -04:00