OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 from telemetry.page import shared_page_state | 4 from telemetry.page import shared_page_state |
5 from telemetry import story | 5 from telemetry import story |
6 | 6 |
7 from page_sets import top_pages | 7 from page_sets import top_pages |
8 | 8 |
9 | 9 |
10 def _Reload(action_runner): | 10 def _Reload(action_runner): |
11 # Numbers below are chosen arbitrarily. For the V8DetachedContextAgeInGC | 11 # Numbers below are chosen arbitrarily. For the V8DetachedContextAgeInGC |
12 # the number of reloads should be high enough so that V8 could do few | 12 # the number of reloads should be high enough so that V8 could do few |
13 # incremeantal GCs. | 13 # incremeantal GCs. |
14 NUMBER_OF_RELOADS = 7 | 14 NUMBER_OF_RELOADS = 7 |
15 WAIT_TIME = 2 | 15 WAIT_TIME = 2 |
16 for _ in xrange(NUMBER_OF_RELOADS): | 16 for _ in xrange(NUMBER_OF_RELOADS): |
17 action_runner.ReloadPage() | 17 action_runner.ReloadPage() |
18 action_runner.Wait(WAIT_TIME) | 18 action_runner.Wait(WAIT_TIME) |
19 | 19 |
20 | 20 |
21 def _CreatePageClassWithReload(page_cls): | 21 def _CreatePageClassWithReload(page_cls): |
22 class DerivedSmoothPage(page_cls): # pylint: disable=W0232 | 22 class DerivedSmoothPage(page_cls): # pylint: disable=no-init |
23 | 23 |
24 def RunPageInteractions(self, action_runner): | 24 def RunPageInteractions(self, action_runner): |
25 _Reload(action_runner) | 25 _Reload(action_runner) |
26 return DerivedSmoothPage | 26 return DerivedSmoothPage |
27 | 27 |
28 | 28 |
29 class PageReloadCasesPageSet(story.StorySet): | 29 class PageReloadCasesPageSet(story.StorySet): |
30 | 30 |
31 """ Pages for testing GC efficiency on page reload. """ | 31 """ Pages for testing GC efficiency on page reload. """ |
32 | 32 |
33 def __init__(self): | 33 def __init__(self): |
34 super(PageReloadCasesPageSet, self).__init__( | 34 super(PageReloadCasesPageSet, self).__init__( |
35 archive_data_file='data/top_25.json', | 35 archive_data_file='data/top_25.json', |
36 cloud_storage_bucket=story.PARTNER_BUCKET) | 36 cloud_storage_bucket=story.PARTNER_BUCKET) |
37 | 37 |
38 shared_desktop_state = shared_page_state.SharedDesktopPageState | 38 shared_desktop_state = shared_page_state.SharedDesktopPageState |
39 | 39 |
40 self.AddStory(_CreatePageClassWithReload( | 40 self.AddStory(_CreatePageClassWithReload( |
41 top_pages.GoogleWebSearchPage)(self, shared_desktop_state)) | 41 top_pages.GoogleWebSearchPage)(self, shared_desktop_state)) |
42 self.AddStory(_CreatePageClassWithReload( | 42 self.AddStory(_CreatePageClassWithReload( |
43 top_pages.GoogleDocPage)(self, shared_desktop_state)) | 43 top_pages.GoogleDocPage)(self, shared_desktop_state)) |
OLD | NEW |