-
Notifications
You must be signed in to change notification settings - Fork 6k
Smooth out iOS irregular input events delivery #11817
Conversation
Fixes flutter/flutter#31086 This patch is a lower level implementation of flutter/flutter#36616 that would only impact iOS engine, and host unittests.
b53f6a5 to
1df541d
Compare
1df541d to
b1909cb
Compare
chinmaygarde
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am still reviewing the patch but the immediate feedback is that we don't patch "shell/common" classes with platform specific behavior. Please move the same to PlatformView<Foo>
shell/common/engine.cc
Outdated
| uint64_t trace_flow_id) { | ||
| TRACE_EVENT0("flutter", "Engine::DispatchPointerDataPacket"); | ||
| TRACE_FLOW_STEP("flutter", "PointerEvent", trace_flow_id); | ||
| #ifdef ENABLE_IRREGULAR_INPUT_DELIVERY_FIX |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please perform this sanitization on the platform task runner and in the platform specific subclass for the entrypoint of these events into the engine. In this case, it would be PlatformViewIOS. We don't apply platform specific hacks in the "common" classes. This will also get rid of the the ENABLE_IRREGULAR_INPUT_DELIVERY_FIX.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
shell/common/shell_test.h
Outdated
| // | ||
| // The test here is insensitive to the choice of time unit as long as | ||
| // delivery_time and frame_time are in the same unit. | ||
| void TestSimulatedInputEvents(int num_events, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test utility can be moved into the TU that defines the test itself and out of the fixture.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
We had a conversation offline to rework this so that platform specific stuff doesn't end up in the common classes but is also tested on all platforms. |
And let the PlatforView decide which PointerDataDispatcher is used.
a010efd to
c432601
Compare
c432601 to
60c5a00
Compare
|
@chinmaygarde : this is ready for review again. |
chinmaygarde
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Getting closer. Just a few more nits. Thanks.
shell/common/engine.cc
Outdated
| ); | ||
|
|
||
| pointer_data_dispatcher_ = | ||
| platform_view.MakePointerDataDispatcher(*animator_, *runtime_controller_); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Platform view methods can only be accessed on the platform task runner. Maybe create the dispatcher in the Shell::Create call on the platform task runner and pass the same to the engine in the constructor? You could then set the animator and the the runtime controller on the dispatcher if one is provided here. The dispatcher can be a thread safe object.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done. I sent in a std::function<std::unique_ptr<PointerDataDispatcher>(...)> instead of a PointerDataDispatcher because Animator& and RuntimeController& must be initialized at construction.
|
|
||
| namespace flutter { | ||
|
|
||
| class PointerDataDispatcher { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please document this classes in the doxygen format. See shell.h for an example. Please be sure to document the threading restrictions and lifecycle of these objects.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| protected: | ||
| RuntimeController& runtime_controller_; | ||
| Animator& animator_; | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DISALLOW_COPY_AND_ASSIGN
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
|
||
| void DispatchPacket(std::unique_ptr<PointerDataPacket> packet, | ||
| uint64_t trace_flow_id) override; | ||
| void OnRender() override {} // Intentional no-op |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please make virtual's OOL.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| uint64_t trace_flow_id) override; | ||
| void OnRender() override {} // Intentional no-op | ||
|
|
||
| virtual ~DefaultPointerDataDispatcher() {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please OOL destructors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
|
||
| using Generator = std::function<int(int)>; | ||
|
|
||
| // Simulate n input events where the i-th one is delivered at |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the concise description. Please put these in doxygen format though so these end up being searchable in the docs for the test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| namespace flutter { | ||
| namespace testing { | ||
|
|
||
| using Generator = std::function<int(int)>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I realize the units dont matter, but can you make these be points anyway? Makes this clearer to read than just an int.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you forget to push this? I still see these as ints. In any case, it was a nit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I probably misunderstood your previous comment and only added a comment. Now I've used UnitlessTime to make it more clear.
| // Actual delivery times measured on iPhone Xs, in the unit of frame_time | ||
| // (16.67ms for 60Hz). | ||
| constexpr int n = 47; | ||
| constexpr double iphone_xs_times[n] = {0.15, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can get rid of n = 47 and instead write sizeof(iphonx_xs_times) / sizeof(double) or arraysize. That way, we can add and remove items from this fixture without potentially forgetting to update the size. These are known at compile time anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| Animator& animator_; | ||
| }; | ||
|
|
||
| class IosPointerDataDispatcher : public DefaultPointerDataDispatcher { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The documentation you added inline in the implementation of the DispatchPacket can be added here instead in doxygen format to clarify the purpose if this class. Also, maybe a more descriptive name for this class would be better. One that describes what this class does and not where this class is used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| void DispatchPendingPacket(); | ||
| }; | ||
|
|
||
| } // namespace flutter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DISALLOW_COPY_AND_ASSIGN
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
liyuqian
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the comments! I've revised accordingly. Please check if I missed anything :-)
|
|
||
| namespace flutter { | ||
|
|
||
| class PointerDataDispatcher { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| public: | ||
| virtual void DispatchPacket(std::unique_ptr<PointerDataPacket> packet, | ||
| uint64_t trace_flow_id) = 0; | ||
| virtual void OnRender() = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| virtual void DispatchPacket(std::unique_ptr<PointerDataPacket> packet, | ||
| uint64_t trace_flow_id) = 0; | ||
| virtual void OnRender() = 0; | ||
| virtual ~PointerDataDispatcher() {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| RuntimeController& runtime_controller) | ||
| : runtime_controller_(runtime_controller), animator_(animator) {} | ||
|
|
||
| void DispatchPacket(std::unique_ptr<PointerDataPacket> packet, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
|
||
| void DispatchPacket(std::unique_ptr<PointerDataPacket> packet, | ||
| uint64_t trace_flow_id) override; | ||
| void OnRender() override {} // Intentional no-op |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
shell/common/engine.cc
Outdated
| ); | ||
|
|
||
| pointer_data_dispatcher_ = | ||
| platform_view.MakePointerDataDispatcher(*animator_, *runtime_controller_); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done. I sent in a std::function<std::unique_ptr<PointerDataDispatcher>(...)> instead of a PointerDataDispatcher because Animator& and RuntimeController& must be initialized at construction.
| namespace flutter { | ||
| namespace testing { | ||
|
|
||
| using Generator = std::function<int(int)>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
|
||
| using Generator = std::function<int(int)>; | ||
|
|
||
| // Simulate n input events where the i-th one is delivered at |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| // Actual delivery times measured on iPhone Xs, in the unit of frame_time | ||
| // (16.67ms for 60Hz). | ||
| constexpr int n = 47; | ||
| constexpr double iphone_xs_times[n] = {0.15, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| Animator& animator_; | ||
| }; | ||
|
|
||
| class IosPointerDataDispatcher : public DefaultPointerDataDispatcher { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
chinmaygarde
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All nits and most about docs. lgtm once those are fixed. Thanks.
| std::move(isolate_snapshot), // isolate snapshot | ||
| std::move(shared_snapshot), // shared snapshot | ||
| std::move(task_runners), // task runners | ||
| task_runners, // task runners |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a story of suffering behind this isn't there :)
| namespace flutter { | ||
| namespace testing { | ||
|
|
||
| using Generator = std::function<int(int)>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you forget to push this? I still see these as ints. In any case, it was a nit.
shell/common/platform_view.h
Outdated
| /// | ||
| /// @param[in] closure The callback to execute on the render thread when the | ||
| /// @brief Sets a callback that gets executed when the rasterizer | ||
| /// renders |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect word wrapping.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
shell/common/platform_view.h
Outdated
| //---------------------------------------------------------------------------- | ||
| /// @brief Gives embedders a chance to react to a "cold restart" of the | ||
| /// @brief Gives embedders a chance to react to a "cold restart" of | ||
| /// the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect word wrapping.
shell/common/platform_view.h
Outdated
| /// re-thread as necessary. | ||
| /// | ||
| /// @attention The callback is executed on the render task runner and not | ||
| /// the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect word wrapping.
shell/common/platform_view.h
Outdated
| /// necessary. | ||
| /// | ||
| /// @param[in] closure The callback to execute on the render thread when | ||
| /// the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect word wrapping.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
shell/common/platform_view.h
Outdated
| /// | ||
| /// @param[in] packet The pointer data packet to dispatch to the framework. | ||
| /// @param[in] packet The pointer data packet to dispatch to the | ||
| /// framework. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect word wrapping.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
shell/common/platform_view.h
Outdated
| /// the texture has not been previously registered, | ||
| /// this call does nothing. | ||
| /// @param[in] texture_id The identifier of the texture to unregister. | ||
| /// If |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect word wrapping.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
shell/common/platform_view.h
Outdated
| //-------------------------------------------------------------------------- | ||
| /// @brief Used by the embedder to notify the rasterizer that the context | ||
| /// @brief Used by the embedder to notify the rasterizer that the | ||
| /// context |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect word wrapping.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
shell/common/engine.h
Outdated
| /// tasks that require access to components | ||
| /// that cannot be safely accessed by the | ||
| /// engine. This is the shell. | ||
| /// @param platform_view The object used by engine to create the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This param is now out of date. Please also make sure to specify the updated threading restrictions when you fix this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
liyuqian
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What has clang-format done to my headers... Thank you for being smarter than clang-format! 😄
If you correctly indent the second line, it matches the indentation correctly for all following lines. If the first line overflows, then stuff gets weird. |
git@github.com:flutter/engine.git/compare/7ea9884ab00e...5b94c8a git log 7ea9884..5b94c8a --no-merges --oneline 2019-09-11 mklim@google.com Revert "Roll src/third_party/dart be66176534..ec7ec4ecf7 (37 commits)" (flutter/engine#12223) 2019-09-11 iska.kaushik@gmail.com Do not generate kernel platform files on topaz tree (flutter/engine#12222) 2019-09-11 hterkelsen@users.noreply.github.com Don't disable toString in release mode for dart:ui classes (flutter/engine#12204) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from 7gDBN... to u7Q31... (flutter/engine#12221) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia d96ef09317d6..120e7d6766e4 (2 commits) (flutter/engine#12220) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from vDk46... to _nS67... (flutter/engine#12219) 2019-09-11 iska.kaushik@gmail.com Namespace patched SDK names to not conflict with Topaz (flutter/engine#12218) 2019-09-11 bkonyi@google.com Roll src/third_party/dart ca7baa4013..4d5e15abde (29 commits) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 14318c140949..d96ef09317d6 (2 commits) (flutter/engine#12216) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia b23a4f9d9442..14318c140949 (2 commits) (flutter/engine#12215) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 26ac0467cb4c..b23a4f9d9442 (2 commits) (flutter/engine#12214) 2019-09-11 bkonyi@google.com Roll src/third_party/dart 7bbfd532de..ca7baa4013 (3 commits) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from R1yqu... to 7gDBN... (flutter/engine#12212) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from spUG2... to vDk46... (flutter/engine#12210) 2019-09-11 chinmaygarde@google.com Roll buildroot and Fuchsia toolchain and unblock the Fuchsia/Linux autoroller manually. (flutter/engine#12209) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 4fe30e15c06c..26ac0467cb4c (2 commits) (flutter/engine#12207) 2019-09-11 chinmaygarde@google.com Only build the x64 variant of Fuchsia on the try-jobs. (flutter/engine#12206) 2019-09-10 hterkelsen@users.noreply.github.com Don't load Roboto by default (flutter/engine#12205) 2019-09-10 bkonyi@google.com Roll src/third_party/dart 300c3333d1..7bbfd532de (5 commits) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 66d8006c2bb1..4fe30e15c06c (11 commits) (flutter/engine#12202) 2019-09-10 yjbanov@google.com add a convenience CLI tool for building and testing web engine (flutter/engine#12197) 2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Generate symbols for the Dart VM profiler (flutter/engine#12048) 2019-09-10 yjbanov@google.com Add custom test plugin that supports screenshot tests (flutter/engine#12079) 2019-09-10 chinmaygarde@google.com Move the Fuchsia tryjob into a its own step and disable LTO. (flutter/engine#12190) 2019-09-10 bkonyi@google.com Roll src/third_party/dart 62f78a7abb..300c3333d1 (6 commits) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia b88894c8811b..66d8006c2bb1 (5 commits) (flutter/engine#12178) 2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Port the accessibility bridge from Topaz (flutter/engine#12054) 2019-09-10 liyuqian@google.com Smooth out iOS irregular input events delivery (flutter/engine#11817) 2019-09-10 bkonyi@google.com Roll src/third_party/dart ccb6ba948b..62f78a7abb (3 commits) 2019-09-10 jonahwilliams@google.com Make ImageShader implement Shader for web ui (flutter/engine#12161) 2019-09-10 bkonyi@google.com Roll src/third_party/dart 2e8d912848..ccb6ba948b (30 commits) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 9e5c47936b17..b88894c8811b (3 commits) (flutter/engine#12151) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 1bf30ce852e0..9e5c47936b17 (2 commits) (flutter/engine#12129) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 8cae1e95a23b..1bf30ce852e0 (2 commits) (flutter/engine#12106) 2019-09-10 skia-flutter-autoroll@skia.org Roll fuchsia/clang/mac-amd64 from H1Qjc... to HfPKR... (flutter/engine#12088) 2019-09-10 chinmaygarde@google.com Don't launch the observatory by default on each embedder unit-test invocation. (flutter/engine#12087) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia c2d84bfa7421..8cae1e95a23b (4 commits) (flutter/engine#12086) 2019-09-10 bkonyi@google.com Roll src/third_party/dart fb14babf59..2e8d912848 (65 commits) 2019-09-10 chinmaygarde@google.com Guard availability of user notification related methods to iOS 10.0 (flutter/engine#12084) 2019-09-09 bmparr@google.com Add capability to add AppDelegate as UNUserNotificationCenterDelegate (flutter/engine#9864) 2019-09-09 ferhat@gmail.com Add GradientRadial paintStyle implementation (flutter/engine#12081) 2019-09-09 hterkelsen@users.noreply.github.com Don't quote generic font families (flutter/engine#12080) 2019-09-09 skia-flutter-autoroll@skia.org Roll src/third_party/skia 28d40b2e7ade..c2d84bfa7421 (3 commits) (flutter/engine#12082) 2019-09-09 magder@google.com Remove ENABLE_BITCODE from Scenarios test app (flutter/engine#11839) 2019-09-09 skia-flutter-autoroll@skia.org Roll src/third_party/skia 4f2674da4bbc..28d40b2e7ade (4 commits) (flutter/engine#12077) ...
git@github.com:flutter/engine.git/compare/7ea9884ab00e...bbb1f12 git log 7ea9884..bbb1f12 --no-merges --oneline 2019-09-12 50503328+flar@users.noreply.github.com Adjust iOS frame start times to match the platform info (flutter/engine#11802) 2019-09-12 skia-flutter-autoroll@skia.org Roll src/third_party/skia 50f377e275c3..7c47d41067d4 (3 commits) (flutter/engine#12231) 2019-09-12 50503328+flar@users.noreply.github.com Revert "Manage iOS contexts separately (#12078)" (flutter/engine#12233) 2019-09-11 gw@gwright.org.uk Manage iOS contexts separately (flutter/engine#12078) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 120e7d6766e4..50f377e275c3 (7 commits) (flutter/engine#12224) 2019-09-11 mklim@google.com Revert "Roll src/third_party/dart be66176534..ec7ec4ecf7 (37 commits)" (flutter/engine#12223) 2019-09-11 iska.kaushik@gmail.com Do not generate kernel platform files on topaz tree (flutter/engine#12222) 2019-09-11 hterkelsen@users.noreply.github.com Don't disable toString in release mode for dart:ui classes (flutter/engine#12204) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from 7gDBN... to u7Q31... (flutter/engine#12221) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia d96ef09317d6..120e7d6766e4 (2 commits) (flutter/engine#12220) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from vDk46... to _nS67... (flutter/engine#12219) 2019-09-11 iska.kaushik@gmail.com Namespace patched SDK names to not conflict with Topaz (flutter/engine#12218) 2019-09-11 bkonyi@google.com Roll src/third_party/dart ca7baa4013..4d5e15abde (29 commits) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 14318c140949..d96ef09317d6 (2 commits) (flutter/engine#12216) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia b23a4f9d9442..14318c140949 (2 commits) (flutter/engine#12215) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 26ac0467cb4c..b23a4f9d9442 (2 commits) (flutter/engine#12214) 2019-09-11 bkonyi@google.com Roll src/third_party/dart 7bbfd532de..ca7baa4013 (3 commits) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from R1yqu... to 7gDBN... (flutter/engine#12212) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from spUG2... to vDk46... (flutter/engine#12210) 2019-09-11 chinmaygarde@google.com Roll buildroot and Fuchsia toolchain and unblock the Fuchsia/Linux autoroller manually. (flutter/engine#12209) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 4fe30e15c06c..26ac0467cb4c (2 commits) (flutter/engine#12207) 2019-09-11 chinmaygarde@google.com Only build the x64 variant of Fuchsia on the try-jobs. (flutter/engine#12206) 2019-09-10 hterkelsen@users.noreply.github.com Don't load Roboto by default (flutter/engine#12205) 2019-09-10 bkonyi@google.com Roll src/third_party/dart 300c3333d1..7bbfd532de (5 commits) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 66d8006c2bb1..4fe30e15c06c (11 commits) (flutter/engine#12202) 2019-09-10 yjbanov@google.com add a convenience CLI tool for building and testing web engine (flutter/engine#12197) 2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Generate symbols for the Dart VM profiler (flutter/engine#12048) 2019-09-10 yjbanov@google.com Add custom test plugin that supports screenshot tests (flutter/engine#12079) 2019-09-10 chinmaygarde@google.com Move the Fuchsia tryjob into a its own step and disable LTO. (flutter/engine#12190) 2019-09-10 bkonyi@google.com Roll src/third_party/dart 62f78a7abb..300c3333d1 (6 commits) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia b88894c8811b..66d8006c2bb1 (5 commits) (flutter/engine#12178) 2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Port the accessibility bridge from Topaz (flutter/engine#12054) 2019-09-10 liyuqian@google.com Smooth out iOS irregular input events delivery (flutter/engine#11817) 2019-09-10 bkonyi@google.com Roll src/third_party/dart ccb6ba948b..62f78a7abb (3 commits) 2019-09-10 jonahwilliams@google.com Make ImageShader implement Shader for web ui (flutter/engine#12161) 2019-09-10 bkonyi@google.com Roll src/third_party/dart 2e8d912848..ccb6ba948b (30 commits) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 9e5c47936b17..b88894c8811b (3 commits) (flutter/engine#12151) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 1bf30ce852e0..9e5c47936b17 (2 commits) (flutter/engine#12129) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 8cae1e95a23b..1bf30ce852e0 (2 commits) (flutter/engine#12106) 2019-09-10 skia-flutter-autoroll@skia.org Roll fuchsia/clang/mac-amd64 from H1Qjc... to HfPKR... (flutter/engine#12088) 2019-09-10 chinmaygarde@google.com Don't launch the observatory by default on each embedder unit-test invocation. (flutter/engine#12087) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia c2d84bfa7421..8cae1e95a23b (4 commits) (flutter/engine#12086) 2019-09-10 bkonyi@google.com Roll src/third_party/dart fb14babf59..2e8d912848 (65 commits) 2019-09-10 chinmaygarde@google.com Guard availability of user notification related methods to iOS 10.0 (flutter/engine#12084) 2019-09-09 bmparr@google.com Add capability to add AppDelegate as UNUserNotificationCenterDelegate (flutter/engine#9864) ...
…er#11817)" (flutter#12251)" This reverts commit 3c6383f.
) Additionally, we now use the engine directly as a delegate instead of storing potentially dead runtime_controller. Unit tests have been updated to include an engine restart check which would fail before the fix. This fixes flutter/flutter#40303
…er#11817)" (flutter#12280)" This reverts commit aac33d1.
…" (#12280)" (#12364) This reverts commit aac33d1. Reason: flutter/flutter#40863 TBR: chinmaygarde, iskakaushik
git@github.com:flutter/engine.git/compare/7ea9884ab00e...bbb1f12 git log 7ea9884..bbb1f12 --no-merges --oneline 2019-09-12 50503328+flar@users.noreply.github.com Adjust iOS frame start times to match the platform info (flutter/engine#11802) 2019-09-12 skia-flutter-autoroll@skia.org Roll src/third_party/skia 50f377e275c3..7c47d41067d4 (3 commits) (flutter/engine#12231) 2019-09-12 50503328+flar@users.noreply.github.com Revert "Manage iOS contexts separately (flutter#12078)" (flutter/engine#12233) 2019-09-11 gw@gwright.org.uk Manage iOS contexts separately (flutter/engine#12078) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 120e7d6766e4..50f377e275c3 (7 commits) (flutter/engine#12224) 2019-09-11 mklim@google.com Revert "Roll src/third_party/dart be66176534..ec7ec4ecf7 (37 commits)" (flutter/engine#12223) 2019-09-11 iska.kaushik@gmail.com Do not generate kernel platform files on topaz tree (flutter/engine#12222) 2019-09-11 hterkelsen@users.noreply.github.com Don't disable toString in release mode for dart:ui classes (flutter/engine#12204) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from 7gDBN... to u7Q31... (flutter/engine#12221) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia d96ef09317d6..120e7d6766e4 (2 commits) (flutter/engine#12220) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from vDk46... to _nS67... (flutter/engine#12219) 2019-09-11 iska.kaushik@gmail.com Namespace patched SDK names to not conflict with Topaz (flutter/engine#12218) 2019-09-11 bkonyi@google.com Roll src/third_party/dart ca7baa4013..4d5e15abde (29 commits) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 14318c140949..d96ef09317d6 (2 commits) (flutter/engine#12216) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia b23a4f9d9442..14318c140949 (2 commits) (flutter/engine#12215) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 26ac0467cb4c..b23a4f9d9442 (2 commits) (flutter/engine#12214) 2019-09-11 bkonyi@google.com Roll src/third_party/dart 7bbfd532de..ca7baa4013 (3 commits) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from R1yqu... to 7gDBN... (flutter/engine#12212) 2019-09-11 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from spUG2... to vDk46... (flutter/engine#12210) 2019-09-11 chinmaygarde@google.com Roll buildroot and Fuchsia toolchain and unblock the Fuchsia/Linux autoroller manually. (flutter/engine#12209) 2019-09-11 skia-flutter-autoroll@skia.org Roll src/third_party/skia 4fe30e15c06c..26ac0467cb4c (2 commits) (flutter/engine#12207) 2019-09-11 chinmaygarde@google.com Only build the x64 variant of Fuchsia on the try-jobs. (flutter/engine#12206) 2019-09-10 hterkelsen@users.noreply.github.com Don't load Roboto by default (flutter/engine#12205) 2019-09-10 bkonyi@google.com Roll src/third_party/dart 300c3333d1..7bbfd532de (5 commits) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 66d8006c2bb1..4fe30e15c06c (11 commits) (flutter/engine#12202) 2019-09-10 yjbanov@google.com add a convenience CLI tool for building and testing web engine (flutter/engine#12197) 2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Generate symbols for the Dart VM profiler (flutter/engine#12048) 2019-09-10 yjbanov@google.com Add custom test plugin that supports screenshot tests (flutter/engine#12079) 2019-09-10 chinmaygarde@google.com Move the Fuchsia tryjob into a its own step and disable LTO. (flutter/engine#12190) 2019-09-10 bkonyi@google.com Roll src/third_party/dart 62f78a7abb..300c3333d1 (6 commits) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia b88894c8811b..66d8006c2bb1 (5 commits) (flutter/engine#12178) 2019-09-10 jason-simmons@users.noreply.github.com [flutter_runner] Port the accessibility bridge from Topaz (flutter/engine#12054) 2019-09-10 liyuqian@google.com Smooth out iOS irregular input events delivery (flutter/engine#11817) 2019-09-10 bkonyi@google.com Roll src/third_party/dart ccb6ba948b..62f78a7abb (3 commits) 2019-09-10 jonahwilliams@google.com Make ImageShader implement Shader for web ui (flutter/engine#12161) 2019-09-10 bkonyi@google.com Roll src/third_party/dart 2e8d912848..ccb6ba948b (30 commits) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 9e5c47936b17..b88894c8811b (3 commits) (flutter/engine#12151) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 1bf30ce852e0..9e5c47936b17 (2 commits) (flutter/engine#12129) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia 8cae1e95a23b..1bf30ce852e0 (2 commits) (flutter/engine#12106) 2019-09-10 skia-flutter-autoroll@skia.org Roll fuchsia/clang/mac-amd64 from H1Qjc... to HfPKR... (flutter/engine#12088) 2019-09-10 chinmaygarde@google.com Don't launch the observatory by default on each embedder unit-test invocation. (flutter/engine#12087) 2019-09-10 skia-flutter-autoroll@skia.org Roll src/third_party/skia c2d84bfa7421..8cae1e95a23b (4 commits) (flutter/engine#12086) 2019-09-10 bkonyi@google.com Roll src/third_party/dart fb14babf59..2e8d912848 (65 commits) 2019-09-10 chinmaygarde@google.com Guard availability of user notification related methods to iOS 10.0 (flutter/engine#12084) 2019-09-09 bmparr@google.com Add capability to add AppDelegate as UNUserNotificationCenterDelegate (flutter/engine#9864) ...
Fixes flutter/flutter#31086
This patch is a lower level implementation of
flutter/flutter#36616 that would only impact iOS
engine, and host unittests.