Index: tools/perf/page_sets/polymer.py |
diff --git a/tools/perf/page_sets/polymer.py b/tools/perf/page_sets/polymer.py |
index 01e003a563ca5bb902f719b121510f32370e64b8..47665aa9fbc6eb24e28e3a84802fe22c8c2d5743 100644 |
--- a/tools/perf/page_sets/polymer.py |
+++ b/tools/perf/page_sets/polymer.py |
@@ -4,6 +4,7 @@ |
from telemetry.page import page as page_module |
from telemetry.page import shared_page_state |
from telemetry import story |
+from telemetry.util import js_template |
class PolymerPage(page_module.Page): |
@@ -111,9 +112,8 @@ class PolymerShadowPage(PolymerPage): |
def AnimateShadow(self, action_runner, eid): |
for i in range(1, 6): |
- # TODO(catapult:#3028): Fix interpolation of JavaScript values. |
action_runner.ExecuteJavaScript( |
- 'document.getElementById("{0}").z = {1}'.format(eid, i)) |
+ 'document.getElementById({{ eid }}).z = {{ i }}', eid=eid, i=i) |
action_runner.Wait(1) |
@@ -138,15 +138,13 @@ class PolymerSampler(PolymerPage): |
def RunNavigateSteps(self, action_runner): |
super(PolymerSampler, self).RunNavigateSteps(action_runner) |
- # TODO(catapult:#3028): Fix interpolation of JavaScript values. |
- waitForLoadJS = """ |
- window.Polymer.whenPolymerReady(function() { |
- %s.contentWindow.Polymer.whenPolymerReady(function() { |
- window.__polymer_ready = true; |
- }) |
- }); |
- """ % self.iframe_js |
- action_runner.ExecuteJavaScript(waitForLoadJS) |
+ action_runner.ExecuteJavaScript(""" |
+ window.Polymer.whenPolymerReady(function() { |
+ {{ @iframe }}.contentWindow.Polymer.whenPolymerReady(function() { |
+ window.__polymer_ready = true; |
+ }) |
+ }); |
+ """, iframe=self.iframe_js) |
action_runner.WaitForJavaScriptCondition( |
'window.__polymer_ready') |
@@ -192,14 +190,15 @@ class PolymerSampler(PolymerPage): |
def DoActionOnWidgetType(self, action_runner, widget_type, action_function): |
# Find all widgets of this type, but skip any that are disabled or are |
# currently active as they typically don't produce animation frames. |
- # TODO(catapult:#3028): Fix interpolation of JavaScript values. |
- element_list_query = (self.iframe_js + |
- ('.querySelectorAll("body %s:not([disabled]):' |
- 'not([active])")' % widget_type)) |
+ element_list_query = js_template.Render( |
+ '{{ @iframe }}.querySelectorAll({{ selector }})', |
+ iframe=self.iframe_js, |
+ selector='body %s:not([disabled]):not([active])' % widget_type) |
+ |
roles_count_query = element_list_query + '.length' |
for i in range(action_runner.EvaluateJavaScript(roles_count_query)): |
- # TODO(catapult:#3028): Fix interpolation of JavaScript values. |
- element_query = element_list_query + ("[%d]" % i) |
+ element_query = js_template.Render( |
+ '{{ @query }}[{{ i }}]', query=element_list_query, i=i) |
if action_runner.EvaluateJavaScript( |
element_query + '.offsetParent != null'): |
# Only try to tap on visible elements (offsetParent != null) |