Index: tools/telemetry/telemetry/user_story/__init__.py |
diff --git a/tools/telemetry/telemetry/user_story/__init__.py b/tools/telemetry/telemetry/user_story/__init__.py |
index 68d9b565ffb243aa55f99b2dd3fd3d26c737d3bb..4b03f4326b574b9cf902cb8f3fc75cadb98ba0b4 100644 |
--- a/tools/telemetry/telemetry/user_story/__init__.py |
+++ b/tools/telemetry/telemetry/user_story/__init__.py |
@@ -27,7 +27,17 @@ class UserStory(object): |
""" |
def __init__(self, shared_user_story_state_class, name='', labels=None, |
- is_local=False): |
+ is_local=False, make_javascript_deterministic=True): |
+ """ |
+ Args: |
+ make_javascript_deterministic: Whether JavaScript performed on |
+ the page is made deterministic across multiple runs. This |
+ requires that the web content is served via Web Page Replay |
+ to take effect. Does not affect user story containing no web |
+ contents or where there is the HTTP response mime type is |
+ not text/html. See also: _InjectScripts method in |
+ third_party/webpagereplay/httpclient.py. |
+ """ |
assert issubclass(shared_user_story_state_class, |
shared_user_story_state.SharedUserStoryState) |
self._shared_user_story_state_class = shared_user_story_state_class |
@@ -43,6 +53,7 @@ class UserStory(object): |
assert isinstance(labels, set) |
self._labels = labels |
self._is_local = is_local |
+ self._make_javascript_deterministic = make_javascript_deterministic |
@property |
def labels(self): |
@@ -86,3 +97,7 @@ class UserStory(object): |
def is_local(self): |
"""Returns True iff this user story does not require network.""" |
return self._is_local |
+ |
+ @property |
+ def make_javascript_deterministic(self): |
+ return self._make_javascript_deterministic |