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

Unified Diff: tools/android/loading/request_track.py

Issue 2103673003: tools/android/loading: Properly detect page loading failures (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses Colin's nit Created 4 years, 6 months 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
« no previous file with comments | « no previous file | tools/android/loading/request_track_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/android/loading/request_track.py
diff --git a/tools/android/loading/request_track.py b/tools/android/loading/request_track.py
index 744f97346807377ad3289ecb8558070636b4ceb2..04933a4fecd647b0628d68e5ec99ce1fca310ce5 100644
--- a/tools/android/loading/request_track.py
+++ b/tools/android/loading/request_track.py
@@ -175,6 +175,7 @@ class Request(object):
chunks received, with their offset in ms relative to
Timing.requestTime.
failed: (bool) Whether the request failed.
+ error_text: (str) User friendly error message when request failed.
start_msec: (float) Request start time, in milliseconds from chrome start.
end_msec: (float) Request end time, in milliseconds from chrome start.
start_msec.
@@ -211,6 +212,7 @@ class Request(object):
self.encoded_data_length = 0
self.data_chunks = []
self.failed = False
+ self.error_text = None
@property
def start_msec(self):
@@ -749,7 +751,8 @@ class RequestTrack(devtools_monitor.Track):
return initiator
def _RequestServedFromCache(self, request_id, _):
- assert request_id in self._requests_in_flight
+ if request_id not in self._requests_in_flight:
+ return
(request, status) = self._requests_in_flight[request_id]
assert status == RequestTrack._STATUS_SENT
request.served_from_cache = True
@@ -796,6 +799,8 @@ class RequestTrack(devtools_monitor.Track):
self._request_id_to_response_received[request_id] = params
def _DataReceived(self, request_id, params):
+ if request_id not in self._requests_in_flight:
+ return
(r, status) = self._requests_in_flight[request_id]
assert (status == RequestTrack._STATUS_RESPONSE
or status == RequestTrack._STATUS_DATA)
@@ -804,7 +809,8 @@ class RequestTrack(devtools_monitor.Track):
self._requests_in_flight[request_id] = (r, RequestTrack._STATUS_DATA)
def _LoadingFinished(self, request_id, params):
- assert request_id in self._requests_in_flight
+ if request_id not in self._requests_in_flight:
+ return
(r, status) = self._requests_in_flight[request_id]
assert (status == RequestTrack._STATUS_RESPONSE
or status == RequestTrack._STATUS_DATA)
@@ -814,17 +820,19 @@ class RequestTrack(devtools_monitor.Track):
self._requests_in_flight[request_id] = (r, RequestTrack._STATUS_FINISHED)
self._FinalizeRequest(request_id)
- def _LoadingFailed(self, request_id, _):
+ def _LoadingFailed(self, request_id, params):
if request_id not in self._requests_in_flight:
logging.warning('An unknown request failed: %s' % request_id)
return
(r, _) = self._requests_in_flight[request_id]
r.failed = True
+ r.error_text = params['errorText']
self._requests_in_flight[request_id] = (r, RequestTrack._STATUS_FINISHED)
self._FinalizeRequest(request_id)
def _FinalizeRequest(self, request_id):
- assert request_id in self._requests_in_flight
+ if request_id not in self._requests_in_flight:
+ return
(request, status) = self._requests_in_flight[request_id]
assert status == RequestTrack._STATUS_FINISHED
del self._requests_in_flight[request_id]
« no previous file with comments | « no previous file | tools/android/loading/request_track_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698