Index: tools/android/loading/tracing.py |
diff --git a/tools/android/loading/tracing.py b/tools/android/loading/tracing.py |
index 3bf5246fc7e865f0a2cfd0d036e98176756d352d..7f69d3f6c3122a192231c45c696525624eacd722 100644 |
--- a/tools/android/loading/tracing.py |
+++ b/tools/android/loading/tracing.py |
@@ -86,6 +86,13 @@ class TracingTrack(devtools_monitor.Track): |
return [e for e in matching_events |
if 'frame' in e.args and e.args['frame'] == self.GetMainFrameID()] |
+ def GetMainFrameRoutingID(self): |
+ """Returns the main frame routing ID.""" |
+ for event in self.GetMatchingEvents( |
+ 'navigation', 'RenderFrameImpl::OnNavigate'): |
+ return event.args['id'] |
+ assert False |
+ |
def GetMainFrameID(self): |
"""Returns the main frame ID.""" |
if not self._main_frame_id: |
@@ -225,6 +232,19 @@ class TracingTrack(devtools_monitor.Track): |
self._IndexEvents() |
return self._interval_tree.GetEvents() |
+ def HasLoadingSucceed(self): |
blundell
2016/06/28 13:53:01
nit: HasLoadingSucceeded
gabadie
2016/06/28 14:29:53
Done.
|
+ """Returns whether the loading has succeed at recording time.""" |
+ main_frame_id = self.GetMainFrameRoutingID() |
+ for event in self.GetMatchingEvents( |
+ 'navigation', 'RenderFrameImpl::didFailProvisionalLoad'): |
+ if event.args['id'] == main_frame_id: |
+ return False |
+ for event in self.GetMatchingEvents( |
+ 'navigation', 'RenderFrameImpl::didFailLoad'): |
+ if event.args['id'] == main_frame_id: |
+ return False |
+ return True |
+ |
class _SpanningEvents(object): |
def __init__(self): |
self._duration_stack = [] |