Commit Graph

93 Commits

Author SHA1 Message Date
David Worsham 1423191f33 Wire frame metrics through contexts 2019-12-04 18:31:38 -08:00
chunhtai 132d38cd22 Moves pointer event sanitizing to 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
Chinmay Garde 86e3ebb748 Allow embedders to specify arbitrary data to the isolate on launch. (#13047)
Since this is currently only meant to be used by the embedding internally, the setter in Objective-C is only exposed via the FlutterDartProject private class extension. Unit tests have been added to the shell_unittests harness.

Fixes https://github.com/flutter/flutter/issues/37641
2019-10-10 12:31:14 -07:00
liyuqian 7c3dcee2e9 Revert "[fuchsia] Wire up OpacityLayer to Scenic (#11322)" (#12610)
This reverts commit fcc4ab3230.

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
Jonah Williams 6f5eb1332f Add support for JIT release mode (#12446) 2019-09-27 11:20:54 -07:00
Chinmay Garde 5b5fd7508c Revert "Support accessibility labels on iOS switches. (#12404)" (#12466)
This reverts commit 147d0c3805.
2019-09-26 12:52:52 -07:00
brandondiamond 147d0c3805 Support accessibility labels on iOS switches. (#12404) 2019-09-26 11:14:44 -07:00
David Worsham fcc4ab3230 [fuchsia] Wire up OpacityLayer to Scenic (#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
gaaclarke daf1a27d46 Started logging warnings if we drop platform messages. (#11792) 2019-08-30 12:48:03 -07:00
Shi-Hao Hong 014ab76ad0 Pass Android Q insets.systemGestureInsets to Window (#10413)
* Pass Android Q system gesture inset information from insets.systemGestureInsets to Window.systemGestureInsets
2019-08-16 13:42:56 -04:00
Dan Field 63b253d907 expose max depth on Window (#10414) 2019-08-02 20:37:24 -07:00
Jason Simmons 70ebfc3610 Fix the name of the channel parameter in PlatformMessage constructors (#9334) 2019-06-14 14:56:51 -07:00
liyuqian 9f088c65ee Add onReportTimings and FrameRasterizedCallback API (#8983)
Using it, a Flutter app can monitor missing frames in the release mode, and a custom Flutter runner (e.g., Fuchsia) can add a custom FrameRasterizedCallback.

Related issues:
https://github.com/flutter/flutter/issues/26154
https://github.com/flutter/flutter/issues/31444
https://github.com/flutter/flutter/issues/32447

Need review as soon as possible so we can merge this before the end of May to catch the milestone.

Tests added:
* NoNeedToReportTimingsByDefault
* NeedsReportTimingsIsSetWithCallback
* ReportTimingsIsCalled
* FrameRasterizedCallbackIsCalled
* FrameTimingSetsAndGetsProperly
* onReportTimings preserves callback zone
* FrameTiming.toString has the correct format

This will need a manual engine roll as the TestWindow defined in the framework needs to implement onReportTimings.
2019-06-06 10:42:48 -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
Michael Klimushyn 0e27e0fc38 Pipe Z bounds from ViewportMetrics to Flow (#8583)
This is the first step in making Flutter aware of and responsive to Z
bound overflow. On its own this patch shouldn't result in any changes in
behavior. This will need to be followed up with a patch in Fuchsia's
Flutter runner to set the Z bounds after this lands, and another patch
in the engine actually implementing the desired overflow behavior.

This Z bound info is routed through the engine itself to make sure the
bounds in flow are truly consistent from the Fuchsia runner. However
these values should eventually be exposed to the framework as well.
2019-04-17 09:56:46 -07:00
Chinmay Garde 39e1d00f39 Remove redundant specification of the |flutter| namespace in the engine. (#8523) 2019-04-09 17:50:06 -07:00
Chinmay Garde eec74e5c92 Rename the blink namespace to flutter. (#8517)
Some components in the Flutter engine were derived from the forked blink codebase. While the forked components have either been removed or rewritten, the use of the blink namespace has mostly (and inconsistently) remained. This renames the blink namesapce to flutter for consistency. There are no functional changes in this patch.
2019-04-09 12:44:42 -07:00
Ryan Macnak 64fc583295 Remove use of DART_CHECK_VALID. (#8417)
Bug: https://github.com/flutter/flutter/issues/30407
2019-04-03 10:01:57 -07:00
Chinmay Garde e514f0bd18 Ensure that typed data is released within SendPlatformMessage scope. (#8155)
We used to make tonic make the wrapper before the SendPlatformMessage invocation. However, tonic would not collect the wrapper before make the Dart API call to return the value from the native method. This is illegal and would trip an assertion in the Dart VM. A more systematic fix required reworking tonic to handle this case. However, to fix our illegal use of the Dart API now, this patch creates the wrapper manually in function scope.

Fixes https://github.com/flutter/flutter/issues/29058
2019-03-14 12:02:46 -07:00
Jonah Williams ca0bac4fb0 Revert "add signal to pointer kinds" (#8066) 2019-03-06 20:55:34 -08:00
Gary Qian 3661d5e43b Re-land "Buffer lifecycle in WindowData" (#8032) 2019-03-06 15:38:34 -08:00
stuartmorgan dd80fc9ff6 Add engine support for scrollwheel events (#7494)
Adds support for pointer signals, in a way that will support both discrete events (e.g., scroll wheels, flutter/flutter#22762) and continuous gestures (e.g., trackpad scroll, flutter/flutter#21953).

Also exposes these new event options to the embedder. Does not include code to send the
new events from the platform shells.
2019-03-05 14:12:07 -08:00
Gary Qian 39c46dea4b Revert "Buffer lifecycle in WindowData (#7999)" (#8010)
This reverts commit 0b17401714.
2019-03-01 15:14:20 -08:00
Gary Qian 0b17401714 Buffer lifecycle in WindowData (#7999) 2019-03-01 10:43:09 -08:00
Chinmay Garde 23b7e29f04 Re-land "Wrap the user entrypoint function in a zone with native exception callback. (#7512)" (#7551)
This reverts commit 4c135c298a and applies relevant fixes.
2019-01-24 13:42:51 -08:00