Index: tools/perf/page_sets/blink_memory_mobile.py |
diff --git a/tools/perf/page_sets/blink_memory_mobile.py b/tools/perf/page_sets/blink_memory_mobile.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3dded4af4de90d3b51da5f7204c006ced23680e5 |
--- /dev/null |
+++ b/tools/perf/page_sets/blink_memory_mobile.py |
@@ -0,0 +1,116 @@ |
+# 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 shared_page_state |
+from telemetry import story |
+ |
+from page_sets import key_mobile_sites_pages |
+from page_sets.login_helpers import google_login |
+ |
+ |
+class BlinkMemoryMobilePage(page_module.Page): |
+ def __init__(self, url, page_set, name): |
+ super(BlinkMemoryMobilePage, self).__init__( |
+ url=url, page_set=page_set, name=name, |
+ shared_page_state_class=shared_page_state.SharedMobilePageState, |
+ credentials_path='data/credentials.json') |
+ self.arcive_data_file = 'data/blink_memory_mobile.json' |
+ |
+ def RunPageInteractions(self, action_runner): |
+ action_runner.ScrollPage() |
+ |
+ |
+class TheVergePage(BlinkMemoryMobilePage): |
+ def __init__(self, page_set): |
+ super(TheVergePage, self).__init__( |
+ # pylint: disable=C0301 |
+ url='http://www.theverge.com/2015/8/11/9133883/taylor-swift-spotify-discover-weekly-what-is-going-on', |
+ page_set=page_set, |
+ name='TheVerge') |
+ |
+ def RunPageInteractions(self, action_runner): |
+ comment_link_selector = '.show_comments_link' |
+ action_runner.WaitForElement(selector=comment_link_selector) |
+ action_runner.ExecuteJavaScript( |
+ 'window.location.hash = "comments"') |
+ action_runner.TapElement(selector=comment_link_selector) |
+ action_runner.WaitForJavaScriptCondition( |
+ 'window.Chorus.Comments.collection.length > 0') |
+ |
+ |
+class GmailPage(BlinkMemoryMobilePage): |
+ def __init__(self, page_set): |
+ super(GmailPage, self).__init__( |
+ url='https://mail.google.com/mail/', |
+ page_set=page_set, |
+ name='Gmail') |
+ |
+ def RunNavigateSteps(self, action_runner): |
+ google_login.LoginGoogleAccount(action_runner, 'google', |
+ self.credentials_path) |
+ super(GmailPage, self).RunNavigateSteps(action_runner) |
+ action_runner.WaitForNavigate() |
+ action_runner.WaitForElement(selector='#nav') |
+ |
+ |
+class BlinkMemoryMobilePageSet(story.StorySet): |
+ """Key mobile sites for Blink memory reduction.""" |
+ |
+ def __init__(self): |
+ super(BlinkMemoryMobilePageSet, self).__init__( |
+ archive_data_file='data/blink_memory_mobile.json', |
+ cloud_storage_bucket=story.PARTNER_BUCKET) |
+ |
+ # Why: High rate of Blink's memory consumption rate. |
+ self.AddStory(BlinkMemoryMobilePage( |
+ url='https://www.pinterest.com', |
+ page_set=self, |
+ name='Pinterest')) |
+ self.AddStory(key_mobile_sites_pages.FacebookPage(self)) |
+ # TODO(bashi): Enable TheVergePage. http://crbug.com/522381 |
+ # self.AddStory(TheVergePage(self)) |
+ |
+ # Why: High rate of Blink's memory comsumption rate on low-RAM devices. |
+ self.AddStory(BlinkMemoryMobilePage( |
+ url='http://en.m.wikipedia.org/wiki/Wikipedia', |
+ page_set=self, |
+ name='Wikipedia (1 tab) - delayed scroll start',)) |
+ self.AddStory(BlinkMemoryMobilePage( |
+ url='http://www.reddit.com/r/programming/comments/1g96ve', |
+ page_set=self, |
+ name='Reddit')) |
+ self.AddStory(BlinkMemoryMobilePage( |
+ # pylint: disable=line-too-long |
+ url='https://en.blog.wordpress.com/2012/09/04/freshly-pressed-editors-picks-for-august-2012/', |
+ page_set=self, |
+ name='Wordpress')) |
+ |
+ # Why: Renderer memory usage is high. |
+ self.AddStory(BlinkMemoryMobilePage( |
+ url='http://worldjournal.com/', |
+ page_set=self, |
+ name='Worldjournal')) |
+ |
+ # Why: Key products. |
+ self.AddStory(BlinkMemoryMobilePage( |
+ # pylint: disable=line-too-long |
+ url='https://plus.google.com/app/basic/110031535020051778989/posts?source=apppromo', |
+ page_set=self, |
+ name='GooglePlus')) |
+ self.AddStory(GmailPage(page_set=self)) |
+ self.AddStory(BlinkMemoryMobilePage( |
+ # pylint: disable=line-too-long |
+ url='http://googlewebmastercentral.blogspot.com/2015/04/rolling-out-mobile-friendly-update.html?m=1', |
+ page_set=self, |
+ name='Blogger')) |
+ |
+class BlinkMemoryTestPageSet(story.StorySet): |
+ """Key mobile sites for Blink memory reduction.""" |
+ |
+ def __init__(self): |
+ super(BlinkMemoryTestPageSet, self).__init__( |
+ archive_data_file='data/blink_memory_test.json', |
+ cloud_storage_bucket=story.PARTNER_BUCKET) |
+ |
+ self.AddStory(TheVergePage(self)) |