15c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu# Copyright 2014 The Chromium Authors. All rights reserved. 25c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu# Use of this source code is governed by a BSD-style license that can be 35c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu# found in the LICENSE file. 45c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liufrom telemetry.page import page as page_module 55c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liufrom telemetry.page import page_set as page_set_module 65c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class PolymerPage(page_module.Page): 85c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) def __init__(self, url, page_set): 10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) super(PolymerPage, self).__init__( 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) url=url, 125c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu page_set=page_set) 13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) self.script_to_evaluate_on_commit = ''' 14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) document.addEventListener("polymer-ready", function() { 15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) window.__polymer_ready = true; 16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) }); 17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ''' 185c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 195c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu def RunNavigateSteps(self, action_runner): 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) action_runner.NavigateToPage(self) 21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) action_runner.WaitForJavaScriptCondition( 22f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 'window.__polymer_ready') 23010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class PolymerCalculatorPage(PolymerPage): 26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) def __init__(self, page_set): 28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) super(PolymerCalculatorPage, self).__init__( 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch url=('http://www.polymer-project.org/components/paper-calculator/' 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'demo.html'), 31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) page_set=page_set) 325c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 335c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu def RunSmoothness(self, action_runner): 345c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu self.TapButton(action_runner) 355c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu self.SlidePanel(action_runner) 365c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 375c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu def TapButton(self, action_runner): 38f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) interaction = action_runner.BeginInteraction( 39f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 'Action_TapAction', is_smooth=True) 40f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) action_runner.TapElement(element_function=''' 41f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) document.querySelector( 42f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 'body /deep/ #outerPanels' 43f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) ).querySelector( 44f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) '#standard' 45f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) ).shadowRoot.querySelector( 46f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 'paper-calculator-key[label="5"]' 47f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) )''') 48f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) action_runner.Wait(2) 49f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) interaction.End() 505c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 515c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu def SlidePanel(self, action_runner): 5203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) # only bother with this interaction if the drawer is hidden 5303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) opened = action_runner.EvaluateJavaScript(''' 5403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) (function() { 5503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) var outer = document.querySelector("body /deep/ #outerPanels"); 5603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) return outer.opened || outer.wideMode; 5703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) }());''') 5803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) if not opened: 5903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) interaction = action_runner.BeginInteraction( 6003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 'Action_SwipeAction', is_smooth=True) 6103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) action_runner.SwipeElement( 6203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) left_start_ratio=0.1, top_start_ratio=0.2, 6303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) direction='left', distance=300, speed_in_pixels_per_second=5000, 6403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) element_function=''' 6503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) document.querySelector( 6603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 'body /deep/ #outerPanels' 6703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) ).querySelector( 6803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) '#advanced' 6903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) ).shadowRoot.querySelector( 7003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) '.handle-bar' 7103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) )''') 7203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) action_runner.WaitForJavaScriptCondition(''' 7303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) var outer = document.querySelector("body /deep/ #outerPanels"); 7403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) outer.opened || outer.wideMode;''') 7503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) interaction.End() 765c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 775c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 78010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class PolymerShadowPage(PolymerPage): 79010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 80010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) def __init__(self, page_set): 81010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) super(PolymerShadowPage, self).__init__( 82116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch url='http://www.polymer-project.org/components/paper-shadow/demo.html', 83010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) page_set=page_set) 84010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 85010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) def RunSmoothness(self, action_runner): 8646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) action_runner.ExecuteJavaScript( 8746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) "document.getElementById('fab').scrollIntoView()") 88f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) action_runner.Wait(5) 89010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) self.AnimateShadow(action_runner, 'card') 9003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) #FIXME(wiltzius) disabling until this issue is fixed: 9103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) # https://github.com/Polymer/paper-shadow/issues/12 9203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) #self.AnimateShadow(action_runner, 'fab') 93010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 94010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) def AnimateShadow(self, action_runner, eid): 95010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for i in range(1, 6): 9646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) action_runner.ExecuteJavaScript( 9746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 'document.getElementById("{0}").z = {1}'.format(eid, i)) 98f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) action_runner.Wait(1) 99010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 100010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 101116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PolymerSampler(PolymerPage): 102116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 103116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch def __init__(self, page_set, anchor, scrolling_page=False): 104116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch """Page exercising interactions with a single Paper Sampler subpage. 105116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 106116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch Args: 107116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch page_set: Page set to inforporate this page into. 108116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch anchor: string indicating which subpage to load (matches the element 109116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch type that page is displaying) 110116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scrolling_page: Whether scrolling the content pane is relevant to this 111116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch content page or not. 112116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch """ 113116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch super(PolymerSampler, self).__init__( 11403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) url=('http://www.polymer-project.org/components/%s/demo.html' % anchor), 115116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch page_set=page_set) 116116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch self.scrolling_page = scrolling_page 11703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) self.iframe_js = 'document' 118116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 119116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch def RunNavigateSteps(self, action_runner): 120116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch super(PolymerSampler, self).RunNavigateSteps(action_runner) 1215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) waitForLoadJS = """ 1225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) window.Polymer.whenPolymerReady(function() { 1235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) %s.contentWindow.Polymer.whenPolymerReady(function() { 1245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) window.__polymer_ready = true; 1255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }) 1265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }); 1275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) """ % self.iframe_js 1285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) action_runner.ExecuteJavaScript(waitForLoadJS) 1295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) action_runner.WaitForJavaScriptCondition( 1305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 'window.__polymer_ready') 131116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 132116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch def RunSmoothness(self, action_runner): 133116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch #TODO(wiltzius) Add interactions for input elements and shadow pages 134116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if self.scrolling_page: 135116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # Only bother scrolling the page if its been marked as worthwhile 136116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch self.ScrollContentPane(action_runner) 137116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch self.TouchEverything(action_runner) 138116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 139116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch def ScrollContentPane(self, action_runner): 14003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) element_function = (self.iframe_js + '.querySelector(' 141116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch '"core-scroll-header-panel").$.mainContainer') 142116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch interaction = action_runner.BeginInteraction('Scroll_Page', is_smooth=True) 143116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch action_runner.ScrollElement(use_touch=True, 144116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch direction='down', 145116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch distance='900', 146116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch element_function=element_function) 147116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch interaction.End() 148116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch interaction = action_runner.BeginInteraction('Scroll_Page', is_smooth=True) 149116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch action_runner.ScrollElement(use_touch=True, 150116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch direction='up', 151116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch distance='900', 152116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch element_function=element_function) 153116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch interaction.End() 154116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 155116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch def TouchEverything(self, action_runner): 156116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch tappable_types = [ 157116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-button', 158116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-checkbox', 159116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-fab', 160116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-icon-button', 161116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # crbug.com/394756 162116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # 'paper-radio-button', 163116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-tab', 164116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-toggle-button', 165116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'x-shadow', 166116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ] 167116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch for tappable_type in tappable_types: 168116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch self.DoActionOnWidgetType(action_runner, tappable_type, self.TapWidget) 169116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch swipeable_types = ['paper-slider'] 170116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch for swipeable_type in swipeable_types: 171116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch self.DoActionOnWidgetType(action_runner, swipeable_type, self.SwipeWidget) 172116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 173116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch def DoActionOnWidgetType(self, action_runner, widget_type, action_function): 174116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # Find all widgets of this type, but skip any that are disabled or are 175116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # currently active as they typically don't produce animation frames. 176116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch element_list_query = (self.iframe_js + 17703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) ('.querySelectorAll("body %s:not([disabled]):' 178116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'not([active])")' % widget_type)) 179116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch roles_count_query = element_list_query + '.length' 180116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch for i in range(action_runner.EvaluateJavaScript(roles_count_query)): 181116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch element_query = element_list_query + ("[%d]" % i) 182116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if action_runner.EvaluateJavaScript( 183116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch element_query + '.offsetParent != null'): 184116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # Only try to tap on visible elements (offsetParent != null) 185116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch action_runner.ExecuteJavaScript(element_query + '.scrollIntoView()') 186116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch action_runner.Wait(1) # wait for page to settle after scrolling 187116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch action_function(action_runner, element_query) 188116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 189116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch def TapWidget(self, action_runner, element_function): 190116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch interaction = action_runner.BeginInteraction( 191116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'Tap_Widget', is_smooth=True) 192116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch action_runner.TapElement(element_function=element_function) 193116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch action_runner.Wait(1) # wait for e.g. animations on the widget 194116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch interaction.End() 195116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 196116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch def SwipeWidget(self, action_runner, element_function): 197116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch interaction = action_runner.BeginInteraction( 198116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'Swipe_Widget', is_smooth=True) 199116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch action_runner.SwipeElement(element_function=element_function, 200116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch left_start_ratio=0.75, 201116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch speed_in_pixels_per_second=300) 202116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch interaction.End() 203116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 204116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 2055c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuclass PolymerPageSet(page_set_module.PageSet): 2065c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 2075c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu def __init__(self): 2085c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu super(PolymerPageSet, self).__init__( 2095c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu user_agent_type='mobile', 210f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) archive_data_file='data/polymer.json', 211116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch bucket=page_set_module.PUBLIC_BUCKET) 2125c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 2135c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu self.AddPage(PolymerCalculatorPage(self)) 214010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) self.AddPage(PolymerShadowPage(self)) 215116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 216116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # Polymer Sampler subpages that are interesting to tap / swipe elements on 217116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TAPPABLE_PAGES = [ 218116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-button', 219116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-checkbox', 220116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-fab', 221116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-icon-button', 222116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # crbug.com/394756 223116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # 'paper-radio-button', 22403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) #FIXME(wiltzius) Disabling x-shadow until this issue is fixed: 22503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) # https://github.com/Polymer/paper-shadow/issues/12 22603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) #'paper-shadow', 227116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-tabs', 228116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 'paper-toggle-button', 229116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ] 230116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch for p in TAPPABLE_PAGES: 231116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch self.AddPage(PolymerSampler(self, p)) 232116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 233116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch # Polymer Sampler subpages that are interesting to scroll 2345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) SCROLLABLE_PAGES = [ 23503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 'core-scroll-header-panel', 2365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) ] 237116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch for p in SCROLLABLE_PAGES: 238116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch self.AddPage(PolymerSampler(self, p, scrolling_page=True)) 239