Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename first frame method and notify FlutterActivity when full drawn (#38714 #36796). #11357

Conversation

matthew-carroll
Copy link
Contributor

@matthew-carroll matthew-carroll commented Aug 21, 2019

#38714: Rename first frame method

#36796: Notify FlutterActivity when fully rendered

#36889: Reset isDisplayingFlutterUi when a FlutterEngine is detached from a FlutterView

I also took this opportunity to refactor some of the rendering listener configuration and how FlutterRenderer interacts with its RenderSurface.

I removed the rendering listeners from FlutterSurfaceView and FlutterTextureView because whoever is using them must also have a reference to a FlutterRenderer, which is the source of truth for when rendering starts/stops.

Previously, a convoluted two-way relationship existed between FlutterRenderer and RenderSurface without any apparent benefit. I've simplified that relationship.

DO NOT MERGE UNTIL AFTER 1.9 IS CUT

Copy link
Contributor

@dnfield dnfield left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM.

FWIW, the FireBase Testlab test you updated will exercise this on post submits to the engine. It's good to have a more focused test too though so that we know exactly where things went wrong if they do go wrong :)

@matthew-carroll
Copy link
Contributor Author

the FireBase Testlab test you updated will exercise this on post submits to the engine.

The unit test suite is running post submit and not pre submit?

It's good to have a more focused test too though so that we know exactly where things went wrong if they do go wrong :)

Can you describe the kind of test that would be more focused than the unit tests I added?

@dnfield
Copy link
Contributor

dnfield commented Aug 22, 2019

Yes, firebase is poatsubmit only.

My comment was intended to point out the value of your tests. They're great!

@matthew-carroll
Copy link
Contributor Author

Oh ok, so @dnfield just to make sure I understood, that wasn't a request for a change, just a note?

I think maybe I also misunderstood the firebase part. Are the unit tests run in the firebase testlab and that's why they're post submit? Or were you saying that other tests (like e2e tests) are run in firebase, therefore these unit tests are valuable from as a presubmit check?

@dnfield
Copy link
Contributor

dnfield commented Aug 22, 2019

haha sorry, rereading what I wrote and I can see the confusion.

I'm not requesting any changes. The Firebase test only runs post submit - we could probably make it run presubmit again at some point though. Either way, the unit test is really good because it will help identify regressions around this more precisely, whereas the firebase test could fail for any number of reasons.

@matthew-carroll
Copy link
Contributor Author

Ok, sounds good. Glad we got it sorted out. Thanks for the input :)

@xster
Copy link
Member

xster commented Aug 22, 2019

cc @RedBrogdon since you wanted to follow along

@xster
Copy link
Member

xster commented Aug 23, 2019

LGTM

Copy link
Contributor

@mklim mklim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@matthew-carroll matthew-carroll force-pushed the 38714_36796_rename-first-frame-method_and_call-actvity-reportfullydrawn branch from d0cd671 to 76a7d14 Compare September 2, 2019 23:01
@matthew-carroll
Copy link
Contributor Author

CC @adazh This API change will probably require Espresso updates for being notified of when rendering starts. It should just be a name change for the Espresso side.

@matthew-carroll
Copy link
Contributor Author

Merging with LUCI red because infra says that's a mistake.

engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 4, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 4, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 4, 2019
franciscojma86 added a commit to franciscojma86/flutter that referenced this pull request Sep 4, 2019
git@github.com:flutter/engine.git/compare/e7f9ef6aa0b9...74cedf2

git log e7f9ef6..74cedf2 --no-merges --oneline
2019-09-04 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from BR_-u... to LKWtB... (flutter/engine#11874)
2019-09-04 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from dRCdb... to m-hNV... (flutter/engine#11873)
2019-09-04 skia-flutter-autoroll@skia.org Roll src/third_party/skia 77743492418e..c2dc9c864844 (22 commits) (flutter/engine#11872)
2019-09-04 iska.kaushik@gmail.com Add a sample unit test target to flutter runner (flutter/engine#11847)
2019-09-04 iska.kaushik@gmail.com Support building standalone far packages with autogenerating manigests (flutter/engine#11849)
2019-09-04 bkonyi@google.com Roll src/third_party/dart 622747502e..fd27e795ba (9 commits)
2019-09-04 bkonyi@google.com Roll src/third_party/dart 54fdd559d8..622747502e (1 commits)
2019-09-04 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from KqidK... to BR_-u... (flutter/engine#11845)
2019-09-04 skia-flutter-autoroll@skia.org Roll src/third_party/skia 452ce044f0db..77743492418e (12 commits) (flutter/engine#11837)
2019-09-04 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from -kKi5... to dRCdb... (flutter/engine#11840)
2019-09-04 bkonyi@google.com Roll src/third_party/dart 36985859e4..54fdd559d8 (65 commits)
2019-09-04 chinmaygarde@google.com Minor tweaks to the Doxygen theme. (flutter/engine#11576)
2019-09-04 matthew-carroll@users.noreply.github.com Updated API usage in scenario app by deleting unnecessary method. (flutter/engine#11844)
2019-09-03 garyq@google.com Fix RTL justification alignment with newline (flutter/engine#11842)
2019-09-03 matthew-carroll@users.noreply.github.com Rename first frame method and notify FlutterActivity when full drawn (flutter#38714 flutter#36796). (flutter/engine#11357)
2019-09-03 skia-flutter-autoroll@skia.org Roll src/third_party/skia 8050d94ae227..452ce044f0db (1 commits) (flutter/engine#11834)
2019-09-03 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from a8wlq... to KqidK... (flutter/engine#11833)
2019-09-03 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from pVy4h... to -kKi5... (flutter/engine#11832)
2019-09-03 skia-flutter-autoroll@skia.org Roll src/third_party/skia 033c4014b788..8050d94ae227 (2 commits) (flutter/engine#11831)
2019-09-03 skia-flutter-autoroll@skia.org Roll src/third_party/skia 94c66475560d..033c4014b788 (2 commits) (flutter/engine#11830)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC franciscojma@google.com 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
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Sep 5, 2019
git@github.com:flutter/engine.git/compare/e7f9ef6aa0b9...cd92039

git log e7f9ef6..cd92039 --no-merges --oneline
2019-09-04 mouad.debbar@gmail.com Handle new navigation platform messages (flutter/engine#11880)
2019-09-04 shihaohong@google.com Android 10+ View.getSystemGestureExclusionRects (flutter/engine#11451)
2019-09-04 aukwat@gmail.com Fix deleting Thai vowel bug on iOS (skip string range sanitization) (flutter/engine#11807)
2019-09-04 bkonyi@google.com Roll src/third_party/dart 4bd13a74d9..c3db2e3ee0 (4 commits)
2019-09-04 skia-flutter-autoroll@skia.org Roll src/third_party/skia c2dc9c864844..e7366841663b (2 commits) (flutter/engine#11878)
2019-09-04 iska.kaushik@gmail.com [flutter_runner] Add common libs to the test far (flutter/engine#11875)
2019-09-04 bkonyi@google.com Roll src/third_party/dart fd27e795ba..4bd13a74d9 (5 commits)
2019-09-04 aam@google.com Provide dart vm initalize isolate callback so that children isolates belong to parent's isolate group. (flutter/engine#9888)
2019-09-04 stuartmorgan@google.com Add style guide and formatting information (flutter/engine#11669)
2019-09-04 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from BR_-u... to LKWtB... (flutter/engine#11874)
2019-09-04 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from dRCdb... to m-hNV... (flutter/engine#11873)
2019-09-04 skia-flutter-autoroll@skia.org Roll src/third_party/skia 77743492418e..c2dc9c864844 (22 commits) (flutter/engine#11872)
2019-09-04 iska.kaushik@gmail.com Add a sample unit test target to flutter runner (flutter/engine#11847)
2019-09-04 iska.kaushik@gmail.com Support building standalone far packages with autogenerating manigests (flutter/engine#11849)
2019-09-04 bkonyi@google.com Roll src/third_party/dart 622747502e..fd27e795ba (9 commits)
2019-09-04 bkonyi@google.com Roll src/third_party/dart 54fdd559d8..622747502e (1 commits)
2019-09-04 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from KqidK... to BR_-u... (flutter/engine#11845)
2019-09-04 skia-flutter-autoroll@skia.org Roll src/third_party/skia 452ce044f0db..77743492418e (12 commits) (flutter/engine#11837)
2019-09-04 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from -kKi5... to dRCdb... (flutter/engine#11840)
2019-09-04 bkonyi@google.com Roll src/third_party/dart 36985859e4..54fdd559d8 (65 commits)
2019-09-04 chinmaygarde@google.com Minor tweaks to the Doxygen theme. (flutter/engine#11576)
2019-09-04 matthew-carroll@users.noreply.github.com Updated API usage in scenario app by deleting unnecessary method. (flutter/engine#11844)
2019-09-03 garyq@google.com Fix RTL justification alignment with newline (flutter/engine#11842)
2019-09-03 matthew-carroll@users.noreply.github.com Rename first frame method and notify FlutterActivity when full drawn (#38714 #36796). (flutter/engine#11357)
2019-09-03 skia-flutter-autoroll@skia.org Roll src/third_party/skia 8050d94ae227..452ce044f0db (1 commits) (flutter/engine#11834)
2019-09-03 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from a8wlq... to KqidK... (flutter/engine#11833)
2019-09-03 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from pVy4h... to -kKi5... (flutter/engine#11832)
2019-09-03 skia-flutter-autoroll@skia.org Roll src/third_party/skia 033c4014b788..8050d94ae227 (2 commits) (flutter/engine#11831)
2019-09-03 skia-flutter-autoroll@skia.org Roll src/third_party/skia 94c66475560d..033c4014b788 (2 commits) (flutter/engine#11830)


If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC franciscojma@google.com 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants