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

[web_benchmarks] Make package compatible with Chromium v89+ #518

Merged
merged 15 commits into from
Feb 17, 2022

Conversation

amanv8060
Copy link
Contributor

@amanv8060 amanv8060 commented Nov 22, 2021

This pr Updates the event names with changes introduced in chromium v89

updateAllLifecyclePhases calls UpdateLifecycle under the hood
https://github.com/chromium/chromium/blob/c4d3c31083a2e1481253ff2d24298a1dfe19c754/third_party/blink/public/web/web_widget.h#L109

List which issues are fixed by this PR. You must list at least one issue.
flutter/flutter#94027

Another issue that relies on this: flutter/gallery#463

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the CLA.
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
  • I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@stuartmorgan
Copy link
Contributor

Thanks for the contribution!

[ ] I added new tests to check the change I am making, or this PR is test-exempt.

This PR will need tests, as this isn't a test-exempt change.

@godofredoc godofredoc changed the base branch from master to main December 13, 2021 22:19
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@stuartmorgan
Copy link
Contributor

Are you still planning on updating this PR with tests?

@stuartmorgan
Copy link
Contributor

Thank you for your contribution. I'm going to close this PR for now since there are outstanding comments, just to get this off our PR review queue. Please don't hesitate to submit a new PR if you have the time to address the review comments. Thanks!

@ditman
Copy link
Member

ditman commented Feb 14, 2022

@amanv8060 I'm attempting to bring this up to speed with the latest main and have it deployed. Could you edit this PR and allow permissions to the maintainers so I can push the changes I did? Thanks!

@ditman ditman reopened this Feb 14, 2022
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@ditman
Copy link
Member

ditman commented Feb 14, 2022

(Never mind, my changes were disallowed because the PR was closed, not because it was misconfigured!)

@ditman ditman changed the title [webview_benchmarks] Added new names for events [web_benchmarks] Make package compatible with Chromium v89+ Feb 14, 2022
@ditman
Copy link
Member

ditman commented Feb 15, 2022

Revisited this. We want to update the version of Chrome used by tests to see if it fixes this problem: flutter/flutter#98278

I've refreshed this PR, and added tests so this can land. PTAL @stuartmorgan, and @yjbanov to see if this does what we want!

Note: To fix the problem linked above, this code needs to be back-ported to the copy in flutter/flutter.

@amanv8060
Copy link
Contributor Author

This isn't working currently

On gallery: flutter test test_benchmarks

Stdout
➜  gallery git:(master) ✗ flutter test test_benchmarks
00:15 +0: /home/aman/Desktop/flutter-core-projects/gallery/test_benchmarks/benchmarks_test.dart: Can run a web benchmark                                                                                                               Shell: Starting web benchmark tests ...
02:26 +0: /home/aman/Desktop/flutter-core-projects/gallery/test_benchmarks/benchmarks_test.dart: Can run a web benchmark                                                                                                               Shell: Running "flutter pub get" in gallery...                             3.0s
Shell: 
Shell: Building without sound null safety
Shell: For more information see https://dart.dev/null-safety/unsound-null-safety
Shell: 
Shell: Compiling lib/main.dart for the Web...                            126.4s
Shell: gzip: /home/aman/Desktop/flutter-core-projects/gallery/build/web/main.dart.js.gz already exists; not overwritten
Shell: 4076     /home/aman/Desktop/flutter-core-projects/gallery/build/web/main.dart.js
Shell: 1624     /home/aman/Desktop/flutter-core-projects/gallery/build/web/main.dart.js.gz
02:26 +0 -1: /home/aman/Desktop/flutter-core-projects/gallery/test_benchmarks/web_bundle_size_test.dart: Web Compile bundle size [E]                                                                                                   
  The size the compiled and gzipped web build "/home/aman/Desktop/flutter-core-projects/gallery/build/web/main.dart.js" was 1624 kB. This is larger than the benchmark that was set at 1200 kB.
  
  The build size should be as minimal as possible to reduce the web app’s initial startup time. If this change is intentional, and expected, please increase the constant "gzipBundleSizeBenchmark".
  package:test_api                                fail
  test_benchmarks/web_bundle_size_test.dart 42:9  main.<fn>.<fn>
  
02:31 +0 -1: /home/aman/Desktop/flutter-core-projects/gallery/test_benchmarks/benchmarks_test.dart: Can run a web benchmark                                                                                                            
Launching Chrome.
Launching Google Chrome 97.0.4692.99 

Waiting for the benchmark to report benchmark profile.
[CHROME]: 
[CHROME]: DevTools listening on ws://127.0.0.1:10000/devtools/browser/e48c3495-50a1-4757-bc8f-775a4eaf78f8
Connecting to DevTools: http://localhost:10000
Connected to Chrome tab:  (http://localhost:9999/index.html)
Launching benchmark "gallery_v2_studies_perf"
02:36 +0 -2: /home/aman/Desktop/flutter-core-projects/gallery/test_benchmarks/benchmarks_test.dart: Can run a web benchmark [E]                                                                                                        
  Caught browser-side error: Unsupported operation: StdIOUtils._getStdioOutputStream
  Unsupported operation: StdIOUtils._getStdioOutputStream
      at Object.wrapException (http://localhost:9999/main.dart.js:7962:17)
      at Object._StdIOUtils__getStdioOutputStream (http://localhost:9999/main.dart.js:47700:15)
      at http://localhost:9999/main.dart.js:225520:54
      at Object.holder.<computed> [as $get$_stdout] (http://localhost:9999/main.dart.js:146:21)
      at Object.stdout (http://localhost:9999/main.dart.js:47708:18)
      at http://localhost:9999/main.dart.js:216620:17
      at _wrapJsFunctionForAsync_closure.$protected (http://localhost:9999/main.dart.js:10674:15)
      at _wrapJsFunctionForAsync_closure.call$2 (http://localhost:9999/main.dart.js:87125:12)
      at Object._asyncStartSync (http://localhost:9999/main.dart.js:10638:20)
      at GalleryAutomator.warmUp$0 (http://localhost:9999/main.dart.js:216625:16)
  dart:async                                     _Completer.completeError
  package:web_benchmarks/src/runner.dart 187:25  BenchmarkServer.run.<fn>
  ===== asynchronous gap ===========================
  dart:async                                     _asyncThenWrapperHelper
  package:web_benchmarks/src/runner.dart         BenchmarkServer.run.<fn>
  package:shelf/src/cascade.dart 77:53           Cascade.handler.<fn>.<fn>
  ===== asynchronous gap ===========================
  dart:async                                     Future.then
  package:shelf/src/cascade.dart 76:59           Cascade.handler.<fn>
  package:shelf/src/cascade.dart 76:48           Cascade.handler.<fn>.<fn>
  dart:async                                     new Future.sync
  package:shelf/src/cascade.dart 76:21           Cascade.handler.<fn>
  package:shelf/shelf_io.dart 114:29             handleRequest
  package:shelf/shelf_io.dart 74:34              serveRequests.<fn>.<fn>
  ===== asynchronous gap ===========================
  dart:_http                                     _HttpServer.listen
  package:shelf/shelf_io.dart 74:14              serveRequests.<fn>
  package:shelf/src/util.dart 21:20              catchTopLevelErrors
  package:shelf/shelf_io.dart 73:3               serveRequests
  package:web_benchmarks/src/runner.dart 237:16  BenchmarkServer.run
  ===== asynchronous gap ===========================
  dart:async                                     _asyncThenWrapperHelper
  package:web_benchmarks/server.dart 61:5        serveWebBenchmark
  test_benchmarks/benchmarks_test.dart 33:30     main.<fn>
  test_benchmarks/benchmarks_test.dart 27:35     main.<fn>
  

➜  gallery git:(master) ✗ 

Inside the package : `flutter test testing/web_benchmarks_test.dart` or `dart test testing/web_benchmarks_test.dart --chain-stack-traces`
Stdout
➜  web_benchmarks git:(webview_benchmarks_bug) ✗ flutter test testing/web_benchmarks_test.dart
00:35 +0: Can run a web benchmark                                                                                                                                                             
Launching Chrome.
Launching Google Chrome 97.0.4692.99 

Waiting for the benchmark to report benchmark profile.
[CHROME]: 
[CHROME]: DevTools listening on ws://127.0.0.1:10000/devtools/browser/ca635c3d-e2df-4d11-9ae3-cbbf25b601c4
Connecting to DevTools: http://localhost:10000
Connected to Chrome tab:  (http://localhost:9999/index.html)
Launching benchmark "scroll"
Launching benchmark "page"
00:41 +0 -1: Can run a web benchmark [E]                                                                                                                                                      
  Bad state: Cannot start a new performance trace. A tracing session labeled "page" is already in progress.
  package:web_benchmarks/src/browser.dart 145:7  Chrome.beginRecordingPerformance
  package:web_benchmarks/src/runner.dart 172:24  BenchmarkServer.run.<fn>
  package:web_benchmarks/src/runner.dart 140:27  BenchmarkServer.run.<fn>
  package:shelf/src/cascade.dart 77:53           Cascade.handler.<fn>.<fn>
  ===== asynchronous gap ===========================
  dart:async                                     _Completer.completeError
  package:web_benchmarks/src/runner.dart 219:23  BenchmarkServer.run.<fn>
  ===== asynchronous gap ===========================
  dart:async                                     _asyncErrorWrapperHelper
  package:web_benchmarks/src/runner.dart         BenchmarkServer.run.<fn>
  package:shelf/src/cascade.dart 77:53           Cascade.handler.<fn>.<fn>
  ===== asynchronous gap ===========================
  dart:async                                     Future.then
  package:shelf/src/cascade.dart 76:59           Cascade.handler.<fn>
  package:shelf/src/cascade.dart 76:48           Cascade.handler.<fn>.<fn>
  dart:async                                     new Future.sync
  package:shelf/src/cascade.dart 76:21           Cascade.handler.<fn>
  package:shelf/shelf_io.dart 114:29             handleRequest
  package:shelf/shelf_io.dart 74:34              serveRequests.<fn>.<fn>
  ===== asynchronous gap ===========================
  dart:_http                                     _HttpServer.listen
  package:shelf/shelf_io.dart 74:14              serveRequests.<fn>
  package:shelf/src/util.dart 21:20              catchTopLevelErrors
  package:shelf/shelf_io.dart 73:3               serveRequests
  package:web_benchmarks/src/runner.dart 237:16  BenchmarkServer.run
  ===== asynchronous gap ===========================
  dart:async                                     _asyncThenWrapperHelper
  package:web_benchmarks/server.dart 61:5        serveWebBenchmark
  testing/web_benchmarks_test.dart 14:47         main.<fn>
  testing/web_benchmarks_test.dart 13:35         main.<fn>
  
00:41 +0 -1: Some tests failed.   

flutter doctor -v
➜  web_benchmarks git:(webview_benchmarks_bug) ✗ flutter doctor -v
[✓] Flutter (Channel stable, 2.10.1, on Ubuntu 20.04.3 LTS 5.13.0-28-generic, locale en_GB.UTF-8)
    • Flutter version 2.10.1 at /home/aman/Android/flutter
    • Upstream repository git@github.com:flutter/flutter.git
    • Framework revision db747aa133 (6 days ago), 2022-02-09 13:57:35 -0600
    • Engine revision ab46186b24
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /home/aman/Android/Sdk
    • Platform android-32, build-tools 32.0.0
    • Java binary at: /home/aman/Android/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /home/aman/Android/android-studio
    • Flutter plugin version 63.2.2
    • Dart plugin version 211.7798
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3)
    • IntelliJ at /home/aman/Android/intellij-idea
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension version 3.32.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 97.0.4692.99

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

- Update changelog
- Change WebFrameWidgetImpl::UpdateLifecycle to
WebFrameWidgetImpl::updateAllLifecyclePhases based upon https://github.com/chromium/chromium/blob/master/third_party/blink/public/web/web_widget.h#L113-L117

Signed-off-by: Aman Verma <verma1090aman@gmail.com>
@ditman
Copy link
Member

ditman commented Feb 15, 2022

@amanv8060 very interesting.

I'm looking at the implementation of the code that you sent, and it seems that the "WebFrameWidgetImpl::UpdateLifecycle" method is the only leaving traces behind. However, It's not logging the 'requested_update' passed in! See code of the implementation.

Passing requested_update as kAll seems to be the only thing that the UpdateAllLifecyclePhases method does, code), but AFAIK we can't tell from the trace that this method was called.

See my trace here.

@yjbanov does this mean that we can't reliably detect the UpdateAllLifecyclePhases event? Do we need something else? Do we need to ask chromium to log the requested_update so we can filter by the name and kAll? Or is there any other marker we can use?

@ditman
Copy link
Member

ditman commented Feb 15, 2022

@amanv8060 I've ran the tests both in this repo and in flutter gallery, and they both seem to work? (I'm running on Linux + Chrome 98)

flutter/packages: web_benchmarks/testing

$ flutter test testing
00:03 +0: Can run a web benchmark                                                                                                            
Launching Chrome.
Launching Google Chrome 98.0.4758.102 

Waiting for the benchmark to report benchmark profile.
[CHROME]: [0215/133905.676259:ERROR:socket_posix.cc(150)] bind() failed: Address already in use (98)
[CHROME]: 
[CHROME]: DevTools listening on ws://[::1]:10000/devtools/browser/7d98943f-6aa3-48c0-9c79-4ed15696cb57
Connecting to DevTools: ws://localhost:10000/devtools/page/CE0BFB50A4F770847AB7EF8A7E80F659
Connected to Chrome tab:  (http://localhost:9999/index.html)
Launching benchmark "scroll"
Extracted 299 measured frames.
Skipped 1 non-measured frames.
Launching benchmark "page"
[APP] Testing round 0...
[APP] Testing round 1...
[APP] Testing round 2...
[APP] Testing round 3...
[APP] Testing round 4...
[APP] Testing round 5...
[APP] Testing round 6...
[APP] Testing round 7...
[APP] Testing round 8...
[APP] Testing round 9...
Extracted 474 measured frames.
Skipped 0 non-measured frames.
Launching benchmark "tap"
[APP] Testing round 0...
[APP] Testing round 1...
[APP] Testing round 2...
[APP] Testing round 3...
[APP] Testing round 4...
[APP] Testing round 5...
[APP] Testing round 6...
[APP] Testing round 7...
[APP] Testing round 8...
[APP] Testing round 9...
Extracted 299 measured frames.
Skipped 0 non-measured frames.
Received profile data
00:26 +1: All tests passed!

flutter/gallery: test_benchmarks

$ git remote -v
origin	git@github.com:flutter/gallery.git (fetch)
origin	git@github.com:flutter/gallery.git (push)

$ flutter test test_benchmarks
Warning: You are using these overridden dependencies:
! web_benchmarks 0.0.7 from path ../packages/packages/web_benchmarks
Running "flutter pub get" in flutter_gallery...                  1,265ms
00:12 +0: /usr/local/google/home/dit/github/flutter_gallery/test_benchmarks/benchmarks_test.dart: Can run a web benchmark
Shell: Starting web benchmark tests ...
01:56 +1: /usr/local/google/home/dit/github/flutter_gallery/test_benchmarks/web_bundle_size_test.dart: Web Compile bundle size
Shell: 
Shell: Building without sound null safety
Shell: For more information see https://dart.dev/null-safety/unsound-null-safety
Shell: 
Shell: Compiling lib/main.dart for the Web...                            103.2s
01:57 +1: /usr/local/google/home/dit/github/flutter_gallery/test_benchmarks/web_bundle_size_test.dart: Web Compile bundle size
Shell: 4100	/usr/local/google/home/dit/github/flutter_gallery/build/web/main.dart.js
Shell: 1008	/usr/local/google/home/dit/github/flutter_gallery/build/web/main.dart.js.gz
01:57 +2: All tests passed!

Can you please validate if the code works for you or not? You seem more familiar with these packages than I am; I might be missing some setup or something.

@yjbanov

This comment was marked as resolved.

@yjbanov
Copy link
Contributor

yjbanov commented Feb 16, 2022

This passes locally for me with Chrome 98.0.4758.102.

@ditman
Copy link
Member

ditman commented Feb 16, 2022

This passes locally for me with Chrome 98.0.4758.102.

(Following instructions here)

Base position: 950365
Found hit: https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/950363/

To make sure this actually works on the latest Chrome we should also update

CHROMIUM_BUILD=768968

I've updated the Cirrus yaml so "Can run a web benchmark" test runs both for Chrome 84 and Chrome 98.

We can remove the v84 from the test matrix once we remove support for v84 on the code. At least for now, we still have a smoke test for the older version of the code.

@amanv8060
Copy link
Contributor Author

@ditman

flutter/gallery: test_benchmarks

currently, benchmark tests are being skipped in the gallery, looks like only the bundle size test was actually that was run. ( inferring from time difference in the log). flutter test testing is working for me.

@ditman
Copy link
Member

ditman commented Feb 16, 2022

@amanv8060 ah! I didn't realize that there was a return in the middle of the benchmarks_test.dart file! Thanks for pointing it out! I got to reproduce the issue that you were seeing:

00:42 +0 -1: Can run a web benchmark [E]                                                        
  Caught browser-side error: Unsupported operation: StdIOUtils._getStdioOutputStream
  Unsupported operation: StdIOUtils._getStdioOutputStream
      ...
      at Object._StdIOUtils__getStdioOutputStream (http://localhost:9999/main.dart.js:48309:15)
      ...
      at Object.stdout (http://localhost:9999/main.dart.js:48317:18)
      ...
      at GalleryAutomator.warmUp$0 (http://localhost:9999/main.dart.js:219022:16)

The problem seems to be that some dart:io method is attempting to run as part of a web app, and that is not supported. My "fix" was to replace stdout.writeln calls in gallery_automator.dart by print calls (and remove the dart:io import), and then I get this:

$ flutter test test_benchmarks/benchmarks_test.dart 

00:02 +0: Can run a web benchmark
Shell: Starting web benchmark tests ...
00:05 +0: Can run a web benchmark                                                               
Launching Chrome.
Launching Google Chrome 98.0.4758.102 

Waiting for the benchmark to report benchmark profile.
[CHROME]: 
[CHROME]: DevTools listening on ws://127.0.0.1:10000/devtools/browser/abb54463-84fb-4fd5-a5fe-3ed3527a1ab8
Connecting to DevTools: ws://localhost:10000/devtools/page/A8D9D080BF5F476AA9026A0989E06441
Connected to Chrome tab:  (http://localhost:9999/index.html)
Launching benchmark "gallery_v2_studies_perf"
[APP] Warming up.
[APP] Warm-up finished.
[APP] ==== List of demos to be run ====
[APP] shrine@study
[APP] rally@study
[APP] crane@study
[APP] fortnightly@study
[APP] reply@study
[APP] starter@study
[APP] ==== End of list of demos to be run ====
[APP] Running demo "shrine@study"
[APP] Running demo "rally@study"
[APP] Running demo "crane@study"
[APP] Running demo "fortnightly@study"
[APP] Running demo "reply@study"
[APP] Running demo "starter@study"
[APP] All demos finished.
Extracted 585 measured frames.
Skipped 127 non-measured frames.
Launching benchmark "gallery_v2_unanimated_perf"
[APP] Warming up.
[APP] Warm-up finished.
[APP] ==== List of demos to be run ====
[APP] app-bar@material
[APP] banner@material
[APP] bottom-app-bar@material
[APP] bottom-navigation@material
[APP] bottom-sheet@material
[APP] button@material
[APP] card@material
[APP] chip@material
[APP] data-table@material
[APP] dialog@material
[APP] divider@material
[APP] grid-lists@material
[APP] lists@material
[APP] menu@material
[APP] nav_drawer@material
[APP] nav_rail@material
[APP] pickers@material
[APP] selection-controls@material
[APP] sliders@material
[APP] snackbars@material
[APP] tabs@material
[APP] text-field@material
[APP] tooltip@material
[APP] cupertino-alerts@cupertino
[APP] cupertino-buttons@cupertino
[APP] cupertino-context-menu@cupertino
[APP] cupertino-navigation-bar@cupertino
[APP] cupertino-picker@cupertino
[APP] cupertino-pull-to-refresh@cupertino
[APP] cupertino-segmented-control@cupertino
[APP] cupertino-slider@cupertino
[APP] cupertino-switch@cupertino
[APP] cupertino-tab-bar@cupertino
[APP] cupertino-text-field@cupertino
[APP] motion@other
[APP] colors@other
[APP] typography@other
[APP] 2d-transformations@other
[APP] ==== End of list of demos to be run ====
[APP] Running demo "app-bar@material"
[APP] Running demo "banner@material"
[APP] Running demo "bottom-app-bar@material"
[APP] Running demo "bottom-navigation@material"
[APP] Running demo "bottom-sheet@material"
[APP] Running demo "button@material"
[APP] Running demo "card@material"
[APP] Running demo "chip@material"
[APP] Running demo "data-table@material"
[APP] Running demo "dialog@material"
[APP] Running demo "divider@material"
[APP] Running demo "grid-lists@material"
[APP] Running demo "lists@material"
[APP] Running demo "menu@material"
[APP] Running demo "nav_drawer@material"
[APP] Running demo "nav_rail@material"
[APP] Running demo "pickers@material"
[APP] Running demo "selection-controls@material"
[APP] Running demo "sliders@material"
[APP] Running demo "snackbars@material"
[APP] Running demo "tabs@material"
[APP] Running demo "text-field@material"
[APP] Running demo "tooltip@material"
[APP] Running demo "cupertino-alerts@cupertino"
[APP] Running demo "cupertino-buttons@cupertino"
[APP] Running demo "cupertino-context-menu@cupertino"
[APP] Running demo "cupertino-navigation-bar@cupertino"
[APP] Running demo "cupertino-picker@cupertino"
[APP] Running demo "cupertino-pull-to-refresh@cupertino"
[APP] Running demo "cupertino-segmented-control@cupertino"
[APP] Running demo "cupertino-slider@cupertino"
[APP] Running demo "cupertino-switch@cupertino"
[APP] Running demo "cupertino-tab-bar@cupertino"
[APP] Running demo "cupertino-text-field@cupertino"
[APP] Running demo "motion@other"
[APP] Running demo "colors@other"
[APP] Running demo "typography@other"
[APP] Running demo "2d-transformations@other"
[APP] All demos finished.
Extracted 3073 measured frames.
Skipped 125 non-measured frames.
Launching benchmark "gallery_v2_animated_perf"
[APP] Warming up.
[APP] Warm-up finished.
[APP] ==== List of demos to be run ====
[APP] progress-indicator@material
[APP] cupertino-activity-indicator@cupertino
[APP] ==== End of list of demos to be run ====
[APP] Running demo "progress-indicator@material"
[APP] Running demo "cupertino-activity-indicator@cupertino"
[APP] All demos finished.
Extracted 849 measured frames.
Skipped 125 non-measured frames.
Launching benchmark "gallery_v2_scroll_perf"
[APP] Warming up.
[APP] Warm-up finished.
[APP] Running scrolling test.
[APP] Scrolling test finished.
Extracted 385 measured frames.
Skipped 119 non-measured frames.
Received profile data

Shell: Web benchmark tests finished.
01:57 +1: All tests passed!                                                                     

I am not sure if the results make sense, but at least the gallery benchmarks code seems to be running. I can send a PR to flutter/gallery after this one lands.

Copy link
Contributor

@yjbanov yjbanov left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link
Contributor

@stuartmorgan stuartmorgan left a comment

Choose a reason for hiding this comment

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

LGTM

@ditman
Copy link
Member

ditman commented Feb 17, 2022

Just to be sure, tested on Chromium 97, which passed here.

(I added, then removed 97 from the test matrix in the last couple of commits).

Landing this as soon as it goes green!

@ditman ditman merged commit 8c0f9ac into flutter:main Feb 17, 2022
@amanv8060 amanv8060 deleted the webview_benchmarks_bug branch February 17, 2022 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants