Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / tools / perf / page_sets / key_silk_cases.json
1 {
2   "description": "Pages hand-picked for project Silk.",
3   "archive_data_file": "data/key_silk_cases.json",
4   "credentials_path": "data/credentials.json",
5   "user_agent_type": "mobile",
6   "smoothness": { "action": "scroll" },
7   "navigate_steps" : [
8     { "action": "navigate" },
9     { "action": "wait", "seconds": 2 }
10   ],
11   "pages": [
12     {
13       "url": "http://groupcloned.com/test/plain/list-recycle-transform.html",
14       "why": "Infinite scroll. Brings out all of our perf issues.",
15       "smoothness": {
16         "action": "scroll",
17         "scrollable_element_function": "function(callback) { callback(document.getElementById('scrollable')); }"
18       }
19     },
20     {
21       "url": "http://groupcloned.com/test/plain/list-animation-simple.html",
22       "why": "Brings out layer management bottlenecks.",
23       "smoothness": { "action": "wait", "seconds": 2 }
24     },
25     {
26       "url": "http://groupcloned.com/test/plain/sticky-using-webkit-backface-visibility.html",
27       "why": "Best-known method for fake sticky. Janks sometimes. Interacts badly with compositor scrolls.",
28       "smoothness": {
29         "action": "scroll",
30         "scrollable_element_function": "function(callback) { callback(document.getElementById('container')); }"
31       }
32     },
33     {
34       "url": "http://jsfiddle.net/3yDKh/4/embedded/result",
35       "why": "Card expansion: only the card should repaint, but in reality lots of storms happen.",
36       "smoothness": { "action": "wait", "seconds": 3 }
37     },
38     {
39       "url": "http://jsfiddle.net/3yDKh/6/embedded/result",
40       "why": "Card fly-in: It should be fast to animate in a bunch of cards using margin-top and letting layout do the rest.",
41       "smoothness": { "action": "wait", "seconds": 3 }
42     },
43     {
44       "url": "http://jsfiddle.net/R8DX9/1/embedded/result/",
45       "why": "Image search expands a spacer div when you click an image to accomplish a zoomin effect. Each image has a layer. Even so, this triggers a lot of unnecessary repainting.",
46       "smoothness": { "action": "wait", "seconds": 3 }
47     },
48     {
49       "url": "http://jsfiddle.net/rF9Gh/3/embedded/result/",
50       "why": "Swipe to dismiss of an element that has a fixed-position child that is its pseudo-sticky header. Brings out issues with layer creation and repainting.",
51       "smoothness": { "action": "wait", "seconds": 3 }
52     },
53     {
54       "url": "http://jsfiddle.net/humper/yEX8u/3/embedded/result/",
55       "why": "Horizontal and vertical expansion of a card that is cheap to layout but costly to rasterize.",
56       "smoothness": { "action": "wait", "seconds": 4 },
57       "gpu_raster": true
58     },
59     {
60       "url": "http://jsfiddle.net/humper/cKB9D/3/embedded/result/",
61       "why": "Vertical Expansion of a card that is cheap to layout but costly to rasterize.",
62       "smoothness": { "action": "wait", "seconds": 4 },
63       "gpu_raster": true
64     },
65     {
66       "url": "http://jsfiddle.net/vBQHH/3/embedded/result/",
67       "why": "Parallax effect is common on photo-viewer-like applications, overloading software rasterization",
68       "smoothness": { "action": "wait", "seconds": 4 },
69       "gpu_raster": true
70     },
71     {
72       "url": "http://jsfiddle.net/ugkd4/9/embedded/result/",
73       "why": "Addressing paint storms during coordinated animations.",
74       "smoothness": { "action": "wait", "seconds": 5 }
75     },
76     {
77       "url": "http://jankfree.org/silk/text-mask.html",
78       "why": "Mask transitions are common mobile use cases.",
79       "smoothness": { "action": "wait", "seconds": 4 },
80       "gpu_raster": true
81     },
82     {
83       "url": "http://jankfree.org/silk/rectangle_transition.html",
84       "why": "Card expansions with images and text are pretty and common.",
85       "smoothness": { "action": "wait", "seconds": 4 },
86       "gpu_raster": true
87     },
88     {
89       "url": "file://key_silk_cases/font_wipe.html",
90       "why": "Coordinated animations for expanding elements.",
91       "smoothness": { "action": "wait", "seconds": 5 }
92     },
93     {
94       "url": "file://key_silk_cases/inbox_app.html?swipe_to_dismiss",
95       "why": "",
96       "navigate_steps" : [
97         { "action": "navigate" },
98         { "action": "wait", "seconds": 2 }
99       ],
100       "smoothness": {
101         "action": "swipe_to_dismiss"
102       },
103       "swipe_to_dismiss": [
104         {
105           "action": "swipe",
106           "element_function": "function(callback) { callback(document.getElementsByClassName('message')[2]); }",
107           "distance": 200,
108           "speed": 5000,
109           "direction": "left",
110           "left_start_percentage": 0.8,
111           "top_start_percentage": 0.2,
112           "wait_after": {
113             "javascript": "document.getElementsByClassName('message').length < 18"
114           }
115         }
116       ]
117     },
118     {
119       "url": "file://key_silk_cases/inbox_app.html?stress_hidey_bars",
120       "why": "",
121       "navigate_steps" : [
122         { "action": "navigate" },
123         { "action": "wait", "seconds": 2 }
124       ],
125       "smoothness": {
126         "action": "stress_hidey_bars"
127       },
128       "stress_hidey_bars": [
129         {
130           "action": "scroll",
131           "scrollable_element_function": "function(callback) { callback(document.getElementById('messages')); }",
132           "direction": "down",
133           "speed": 200
134         },
135         {
136           "action": "scroll",
137           "scrollable_element_function": "function(callback) { callback(document.getElementById('messages')); }",
138           "direction": "up",
139           "speed": 200
140         },
141         {
142           "action": "scroll",
143           "scrollable_element_function": "function(callback) { callback(document.getElementById('messages')); }",
144           "direction": "down",
145           "speed": 200
146         }
147       ]
148     },
149     {
150       "url": "file://key_silk_cases/inbox_app.html?toggle_drawer",
151       "why": "",
152       "navigate_steps" : [
153         { "action": "navigate" },
154         { "action": "wait", "seconds": 2 }
155       ],
156       "smoothness": {
157         "action": "toggle_drawer",
158         "repeat": 6
159       },
160       "toggle_drawer": [
161         {
162           "action": "tap",
163           "selector": "#menu-button",
164           "wait_after": { "seconds": 1 }
165         }
166       ]
167     },
168     {
169       "url": "file://key_silk_cases/old_inbox_app.html?slide_drawer",
170       "why": "",
171       "navigate_steps" : [
172         { "action": "navigate" },
173         { "action": "wait", "seconds": 2 }
174       ],
175       "smoothness": {
176         "action": "slide_drawer"
177       },
178       "slide_drawer": [
179         {
180           "action": "swipe",
181           "element_function": "function(callback) { callback(document.getElementById('nav-drawer').children[0]); }",
182           "distance": 200,
183           "direction": "left",
184           "left_start_percentage": 0.8,
185           "top_start_percentage": 0.2,
186           "wait_after": {
187             "javascript": "!document.getElementById('nav-drawer').active"
188           }
189         }
190       ]
191     },
192     {
193       "url": "file://key_silk_cases/infinite_scrolling.html",
194       "why": "Shadow DOM infinite scrolling.",
195       "smoothness": {
196         "action": "scroll",
197         "scrollable_element_function": "function(callback) { callback(document.getElementById('container')); }",
198         "speed": 5000
199       }
200     },
201     {
202       "url": "http://www.google.com/#q=google",
203       "navigate_steps" : [
204         { "action": "navigate" },
205         { "action": "wait", "seconds": 3 },
206         { "action": "scroll_knowledge_card_to_top" }
207       ],
208       "smoothness": {
209         "action": "expand_knowledge_card"
210       },
211       "scroll_knowledge_card_to_top": {
212         "action": "scroll",
213         "_comment": "scroll until the knowledge card is at the top",
214         "scroll_distance_function": "function() { return document.getElementById('kno-result').getBoundingClientRect().top - document.body.scrollTop; }"
215       },
216       "expand_knowledge_card": {
217         "action": "tap",
218         "_comment": "expand card",
219         "element_function": "function(callback) { callback(document.getElementsByClassName('vk_arc')[0]); }",
220         "wait_after": { "seconds": 2 }
221       }
222     },
223     {
224       "disabled": "Times out on Windows; crbug.com/338838",
225       "url": "http://plus.google.com/app/basic/stream",
226       "credentials": "google",
227       "navigate_steps" : [
228         { "action": "navigate" },
229         { "action": "wait", "javascript": "document.getElementsByClassName('fHa').length > 0" },
230         { "action": "wait", "seconds": 2 }
231       ],
232       "smoothness": {
233         "action": "scroll",
234         "scrollable_element_function": "function(callback) { callback(document.getElementById('mainContent')); }"
235       }
236     },
237     {
238       "url": "http://jsbin.com/UVIgUTa/6/quiet",
239       "why": "Physical simulation demo that does a lot of element.style mutation triggering JS and recalc slowness",
240       "smoothness": {
241         "action": "scroll",
242         "scroll_requires_touch": true,
243         "direction": "down",
244         "scroll_distance_function": "function() { return window.innerHeight / 2; }",
245         "wait_after": { "seconds": 1 }
246       }
247     },
248     {
249       "url": "http://mobile-news.sandbox.google.com/news/pt0?scroll",
250       "why": "Google News: this iOS version is slower than accelerated scrolling",
251       "navigate_steps": [
252         { "action": "navigate" },
253         { "action": "wait", "javascript": "document.getElementById(':h') != null" },
254         { "action": "wait", "seconds": 1 }
255       ],
256       "smoothness": {
257         "action": "scroll",
258         "scroll_requires_touch": true,
259         "scrollable_element_function": "function(callback) { callback(document.getElementById(':5')); }",
260         "scroll_distance_function": "function() { return 2500; }"
261       }
262     },
263     {
264       "url": "http://mobile-news.sandbox.google.com/news/pt0?swipe",
265       "navigate_steps": [
266         { "action": "navigate" },
267         { "action": "wait", "javascript": "document.getElementById(':h') != null" },
268         { "action": "wait", "seconds": 1 }
269       ],
270       "smoothness": {
271         "action": "swipe",
272         "direction": "left",
273         "distance": 100,
274         "element_function": "function(callback) { callback(document.getElementById(':f')); }",
275         "wait_after": { "seconds": 1 }
276       }
277     },
278     {
279       "url": "http://s.codepen.io/befamous/fullpage/pFsqb?scroll",
280       "why": "famo.us twitter demo",
281       "navigate_steps" : [
282         { "action": "navigate" },
283         { "action": "wait", "javascript": "document.getElementsByClassName('tweet').length > 0" },
284         { "action": "wait", "seconds": 1 }
285       ],
286       "smoothness": {
287         "action": "scroll",
288         "scroll_distance_function": "function() { return 5000; }"
289       }
290     }
291   ]
292 }