Index: tools/perf/page_sets/tough_scrolling_while_zoomed_in_cases.py |
diff --git a/tools/perf/page_sets/tough_scrolling_while_zoomed_in_cases.py b/tools/perf/page_sets/tough_scrolling_while_zoomed_in_cases.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d8bce48653c2dcb467d789ebe158f0b1ca705fa8 |
--- /dev/null |
+++ b/tools/perf/page_sets/tough_scrolling_while_zoomed_in_cases.py |
@@ -0,0 +1,58 @@ |
+# Copyright 2015 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+from telemetry.page import page as page_module |
+from telemetry.page import page_set as page_set_module |
+ |
+ |
+class ToughScrollingWhileZoomedInCasesPage(page_module.Page): |
+ |
+ def __init__(self, url, page_set): |
+ super(ToughScrollingWhileZoomedInCasesPage, self).__init__( |
+ url=url, |
+ page_set=page_set) |
+ |
+ def RunPageInteractions(self, action_runner): |
+ # First, zoom into the page |
+ action_runner.PinchPage( |
+ scale_factor=20.0, |
+ speed_in_pixels_per_second=10000) |
+ # 20.0 was chosen because at the time it was close to the maximum. |
+ # The more zoomed in, the more noticable the tile rasterization. |
+ # |
+ # 10,000 was chosen to complete this pre-step quickly. |
+ |
+ # Then start measurements |
+ interaction = action_runner.BeginGestureInteraction( |
+ 'ScrollAction', is_smooth=True) |
+ # And begin the diagonal scroll |
+ action_runner.ScrollPage( |
+ direction='downright', |
+ speed_in_pixels_per_second=10000) |
+ # 10,000 was chosen because it is fast enough to completely stress the |
+ # rasterization (on a Nexus 5) without saturating results. |
+ interaction.End() |
+ |
+ |
+class ToughScrollingWhileZoomedInCasesPageSet(page_set_module.PageSet): |
+ """ |
+ Description: A collection of difficult scrolling tests |
+ """ |
+ |
+ def __init__(self): |
+ super(ToughScrollingWhileZoomedInCasesPageSet, self).__init__( |
+ user_agent_type='desktop', |
+ archive_data_file='data/tough_pinch_zoom_cases.json', |
+ bucket=page_set_module.PARTNER_BUCKET) |
+ |
+ # The following urls were chosen because they tend to have >15% |
+ # mean_pixels_approximated at this scrolling speed. |
+ urls_list = [ |
+ 'file://tough_scrolling_cases/background_fixed.html', |
+ 'file://tough_scrolling_cases/fixed_nonstacking.html', |
+ 'file://tough_scrolling_cases/iframe_scrolls.html', |
+ 'file://tough_scrolling_cases/wheel_div_prevdefault.html' |
+ ] |
+ |
+ for url in urls_list: |
+ self.AddUserStory(ToughScrollingWhileZoomedInCasesPage(url, self)) |