Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(329)

Unified Diff: telemetry/telemetry/internal/actions/scroll_bounce.py

Issue 2559503002: [Telemetry] Fix JavaScript interpolation in telemetry actions (Closed)
Patch Set: inline js literals Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: telemetry/telemetry/internal/actions/scroll_bounce.py
diff --git a/telemetry/telemetry/internal/actions/scroll_bounce.py b/telemetry/telemetry/internal/actions/scroll_bounce.py
index 563f4058e9b65c6611580a7eac85ebb2721f8a1c..4039add7535d2043971e1d6f766c77cb409e499d 100644
--- a/telemetry/telemetry/internal/actions/scroll_bounce.py
+++ b/telemetry/telemetry/internal/actions/scroll_bounce.py
@@ -4,6 +4,7 @@
from telemetry.internal.actions import page_action
from telemetry.internal.actions import utils
+from telemetry.util import js_template
class ScrollBounceAction(page_action.PageAction):
@@ -61,37 +62,35 @@ class ScrollBounceAction(page_action.PageAction):
raise page_action.PageActionNotSupported(
'ScrollBounce page action does not support mouse input')
- done_callback = 'function() { window.__scrollBounceActionDone = true; }'
- # TODO(catapult:#3028): Fix interpolation of JavaScript values.
tab.ExecuteJavaScript("""
window.__scrollBounceActionDone = false;
- window.__scrollBounceAction = new __ScrollBounceAction(%s);"""
- % (done_callback))
+ window.__scrollBounceAction = new __ScrollBounceAction(
+ function() { window.__scrollBounceActionDone = true; });""")
def RunAction(self, tab):
- # TODO(catapult:#3028): Fix interpolation of JavaScript values.
- code = '''
+ code = js_template.Render('''
function(element, info) {
if (!element) {
throw Error('Cannot find element: ' + info);
}
window.__scrollBounceAction.start({
element: element,
- left_start_ratio: %s,
- top_start_ratio: %s,
- direction: '%s',
- distance: %s,
- overscroll: %s,
- repeat_count: %s,
- speed: %s
+ left_start_ratio: {{ left_start_ratio }},
+ top_start_ratio: {{ top_start_ratio }},
+ direction: {{ direction }},
+ distance: {{ distance }},
+ overscroll: {{ overscroll }},
+ repeat_count: {{ repeat_count }},
+ speed: {{ speed }}
});
- }''' % (self._left_start_ratio,
- self._top_start_ratio,
- self._direction,
- self._distance,
- self._overscroll,
- self._repeat_count,
- self._speed)
+ }''',
+ left_start_ratio=self._left_start_ratio,
+ top_start_ratio=self._top_start_ratio,
+ direction=self._direction,
+ distance=self._distance,
+ overscroll=self._overscroll,
+ repeat_count=self._repeat_count,
+ speed=self._speed)
page_action.EvaluateCallbackWithElement(
tab, code, selector=self._selector, text=self._text,
element_function=self._element_function)
« no previous file with comments | « telemetry/telemetry/internal/actions/scroll.py ('k') | telemetry/telemetry/internal/actions/scroll_to_element.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698