OLD | NEW |
1 # Copyright 2017 The Chromium Authors. All rights reserved. | 1 # Copyright 2017 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 | 4 |
5 from telemetry.page import page as page_module | 5 from telemetry.page import page as page_module |
6 from telemetry.page import shared_page_state | 6 from telemetry.page import shared_page_state |
7 from telemetry import story | 7 from telemetry import story |
8 | 8 |
9 | 9 |
10 class _BasePage(page_module.Page): | 10 class _BasePage(page_module.Page): |
11 def __init__( | 11 def __init__( |
12 self, page_set, shared_page_state_class, url, name, wait_in_seconds): | 12 self, page_set, shared_page_state_class, url, name, wait_in_seconds, |
| 13 measure_memory): |
13 super(_BasePage, self).__init__( | 14 super(_BasePage, self).__init__( |
14 url=url, page_set=page_set, name=name, | 15 url=url, page_set=page_set, name=name, |
15 shared_page_state_class=shared_page_state_class) | 16 shared_page_state_class=shared_page_state_class) |
16 self._wait_in_seconds = wait_in_seconds | 17 self._wait_in_seconds = wait_in_seconds |
| 18 self.measure_memory = measure_memory |
17 | 19 |
18 def RunPageInteractions(self, action_runner): | 20 def RunPageInteractions(self, action_runner): |
19 action_runner.Wait(self._wait_in_seconds) | 21 action_runner.Wait(self._wait_in_seconds) |
| 22 if self.measure_memory: |
| 23 action_runner.MeasureMemory(deterministic_mode=True) |
20 | 24 |
21 | 25 |
22 class TrivialScrollingPage(_BasePage): | 26 class TrivialScrollingPage(_BasePage): |
23 | 27 |
24 def __init__(self, page_set, shared_page_state_class, wait_in_seconds): | 28 def __init__(self, page_set, shared_page_state_class, wait_in_seconds, |
| 29 measure_memory): |
25 super(TrivialScrollingPage, self).__init__( | 30 super(TrivialScrollingPage, self).__init__( |
26 url='file://trivial_sites/trivial_scrolling_page.html', | 31 url='file://trivial_sites/trivial_scrolling_page.html', |
27 page_set=page_set, | 32 page_set=page_set, |
28 name=self.__class__.__name__ + shared_page_state_class.__name__, | 33 name=self.__class__.__name__ + shared_page_state_class.__name__, |
29 shared_page_state_class=shared_page_state_class, | 34 shared_page_state_class=shared_page_state_class, |
30 wait_in_seconds=wait_in_seconds) | 35 wait_in_seconds=wait_in_seconds, |
| 36 measure_memory=measure_memory) |
31 | 37 |
32 | 38 |
33 class TrivialBlinkingCursorPage(_BasePage): | 39 class TrivialBlinkingCursorPage(_BasePage): |
34 | 40 |
35 def __init__(self, page_set, shared_page_state_class, wait_in_seconds): | 41 def __init__(self, page_set, shared_page_state_class, wait_in_seconds, |
| 42 measure_memory): |
36 super(TrivialBlinkingCursorPage, self).__init__( | 43 super(TrivialBlinkingCursorPage, self).__init__( |
37 url='file://trivial_sites/trivial_blinking_cursor.html', | 44 url='file://trivial_sites/trivial_blinking_cursor.html', |
38 page_set=page_set, | 45 page_set=page_set, |
39 name=self.__class__.__name__ + shared_page_state_class.__name__, | 46 name=self.__class__.__name__ + shared_page_state_class.__name__, |
40 shared_page_state_class=shared_page_state_class, | 47 shared_page_state_class=shared_page_state_class, |
41 wait_in_seconds=wait_in_seconds) | 48 wait_in_seconds=wait_in_seconds, |
| 49 measure_memory=measure_memory) |
42 | 50 |
43 | 51 |
44 class TrivialCanvasPage(_BasePage): | 52 class TrivialCanvasPage(_BasePage): |
45 | 53 |
46 def __init__(self, page_set, shared_page_state_class, wait_in_seconds): | 54 def __init__(self, page_set, shared_page_state_class, wait_in_seconds, |
| 55 measure_memory): |
47 super(TrivialCanvasPage, self).__init__( | 56 super(TrivialCanvasPage, self).__init__( |
48 url='file://trivial_sites/trivial_canvas.html', | 57 url='file://trivial_sites/trivial_canvas.html', |
49 page_set=page_set, | 58 page_set=page_set, |
50 name=self.__class__.__name__ + shared_page_state_class.__name__, | 59 name=self.__class__.__name__ + shared_page_state_class.__name__, |
51 shared_page_state_class=shared_page_state_class, | 60 shared_page_state_class=shared_page_state_class, |
52 wait_in_seconds=wait_in_seconds) | 61 wait_in_seconds=wait_in_seconds, |
| 62 measure_memory=measure_memory) |
53 | 63 |
54 | 64 |
55 class TrivialWebGLPage(_BasePage): | 65 class TrivialWebGLPage(_BasePage): |
56 | 66 |
57 def __init__(self, page_set, shared_page_state_class, wait_in_seconds): | 67 def __init__(self, page_set, shared_page_state_class, wait_in_seconds, |
| 68 measure_memory): |
58 super(TrivialWebGLPage, self).__init__( | 69 super(TrivialWebGLPage, self).__init__( |
59 url='file://trivial_sites/trivial_webgl.html', | 70 url='file://trivial_sites/trivial_webgl.html', |
60 page_set=page_set, | 71 page_set=page_set, |
61 name=self.__class__.__name__ + shared_page_state_class.__name__, | 72 name=self.__class__.__name__ + shared_page_state_class.__name__, |
62 shared_page_state_class=shared_page_state_class, | 73 shared_page_state_class=shared_page_state_class, |
63 wait_in_seconds=wait_in_seconds) | 74 wait_in_seconds=wait_in_seconds, |
| 75 measure_memory=measure_memory) |
64 | 76 |
65 | 77 |
66 class TrivialBlurAnimationPage(_BasePage): | 78 class TrivialBlurAnimationPage(_BasePage): |
67 | 79 |
68 def __init__(self, page_set, shared_page_state_class, wait_in_seconds): | 80 def __init__(self, page_set, shared_page_state_class, wait_in_seconds, |
| 81 measure_memory): |
69 super(TrivialBlurAnimationPage, self).__init__( | 82 super(TrivialBlurAnimationPage, self).__init__( |
70 url='file://trivial_sites/trivial_blur_animation.html', | 83 url='file://trivial_sites/trivial_blur_animation.html', |
71 page_set=page_set, | 84 page_set=page_set, |
72 name=self.__class__.__name__ + shared_page_state_class.__name__, | 85 name=self.__class__.__name__ + shared_page_state_class.__name__, |
73 shared_page_state_class=shared_page_state_class, | 86 shared_page_state_class=shared_page_state_class, |
74 wait_in_seconds=wait_in_seconds) | 87 wait_in_seconds=wait_in_seconds, |
| 88 measure_memory=measure_memory) |
75 | 89 |
76 | 90 |
77 class TrivialFullscreenVideoPage(_BasePage): | 91 class TrivialFullscreenVideoPage(_BasePage): |
78 | 92 |
79 def __init__(self, page_set, shared_page_state_class, wait_in_seconds): | 93 def __init__(self, page_set, shared_page_state_class, wait_in_seconds, |
| 94 measure_memory): |
80 super(TrivialFullscreenVideoPage, self).__init__( | 95 super(TrivialFullscreenVideoPage, self).__init__( |
81 url='file://trivial_sites/trivial_fullscreen_video.html', | 96 url='file://trivial_sites/trivial_fullscreen_video.html', |
82 page_set=page_set, | 97 page_set=page_set, |
83 name=self.__class__.__name__ + shared_page_state_class.__name__, | 98 name=self.__class__.__name__ + shared_page_state_class.__name__, |
84 shared_page_state_class=shared_page_state_class, | 99 shared_page_state_class=shared_page_state_class, |
85 wait_in_seconds=wait_in_seconds) | 100 wait_in_seconds=wait_in_seconds, |
| 101 measure_memory=measure_memory) |
86 | 102 |
87 def RunPageInteractions(self, action_runner): | 103 def RunPageInteractions(self, action_runner): |
88 action_runner.PressKey("Return") | 104 action_runner.PressKey("Return") |
89 super(TrivialFullscreenVideoPage, self).RunPageInteractions(action_runner) | 105 super(TrivialFullscreenVideoPage, self).RunPageInteractions(action_runner) |
90 | 106 |
91 | 107 |
92 class TrivialGifPage(_BasePage): | 108 class TrivialGifPage(_BasePage): |
93 | 109 |
94 def __init__(self, page_set, shared_page_state_class, wait_in_seconds): | 110 def __init__(self, page_set, shared_page_state_class, wait_in_seconds, |
| 111 measure_memory): |
95 super(TrivialGifPage, self).__init__( | 112 super(TrivialGifPage, self).__init__( |
96 url='file://trivial_sites/trivial_gif.html', | 113 url='file://trivial_sites/trivial_gif.html', |
97 page_set=page_set, | 114 page_set=page_set, |
98 name=self.__class__.__name__ + shared_page_state_class.__name__, | 115 name=self.__class__.__name__ + shared_page_state_class.__name__, |
99 shared_page_state_class=shared_page_state_class, | 116 shared_page_state_class=shared_page_state_class, |
100 wait_in_seconds=wait_in_seconds) | 117 wait_in_seconds=wait_in_seconds, |
| 118 measure_memory=measure_memory) |
101 | 119 |
102 | 120 |
103 class TrivialSitesStorySet(story.StorySet): | 121 class TrivialSitesStorySet(story.StorySet): |
104 def __init__(self, shared_state = shared_page_state.SharedPageState, | 122 def __init__(self, shared_state = shared_page_state.SharedPageState, |
105 wait_in_seconds=0): | 123 wait_in_seconds=0, measure_memory=False): |
106 # Wait is time to wait_in_seconds on page in seconds. | 124 # Wait is time to wait_in_seconds on page in seconds. |
107 super(TrivialSitesStorySet, self).__init__( | 125 super(TrivialSitesStorySet, self).__init__( |
108 cloud_storage_bucket=story.PUBLIC_BUCKET) | 126 cloud_storage_bucket=story.PUBLIC_BUCKET) |
109 self.AddStory(TrivialScrollingPage( | 127 self.AddStory(TrivialScrollingPage( |
110 self, shared_state, wait_in_seconds)) | 128 self, shared_state, wait_in_seconds, measure_memory)) |
111 self.AddStory(TrivialBlinkingCursorPage( | 129 self.AddStory(TrivialBlinkingCursorPage( |
112 self, shared_state, wait_in_seconds)) | 130 self, shared_state, wait_in_seconds, measure_memory)) |
113 self.AddStory(TrivialCanvasPage( | 131 self.AddStory(TrivialCanvasPage( |
114 self, shared_state, wait_in_seconds)) | 132 self, shared_state, wait_in_seconds, measure_memory)) |
115 self.AddStory(TrivialWebGLPage( | 133 self.AddStory(TrivialWebGLPage( |
116 self, shared_state, wait_in_seconds)) | 134 self, shared_state, wait_in_seconds, measure_memory)) |
117 self.AddStory(TrivialBlurAnimationPage( | 135 self.AddStory(TrivialBlurAnimationPage( |
118 self, shared_state, wait_in_seconds)) | 136 self, shared_state, wait_in_seconds, measure_memory)) |
119 self.AddStory(TrivialFullscreenVideoPage( | 137 self.AddStory(TrivialFullscreenVideoPage( |
120 self, shared_state, wait_in_seconds)) | 138 self, shared_state, wait_in_seconds, measure_memory)) |
121 self.AddStory(TrivialGifPage( | 139 self.AddStory(TrivialGifPage( |
122 self, shared_state, wait_in_seconds)) | 140 self, shared_state, wait_in_seconds, measure_memory)) |
OLD | NEW |