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