Index: extensions/browser/api/web_request/web_request_api.cc |
diff --git a/extensions/browser/api/web_request/web_request_api.cc b/extensions/browser/api/web_request/web_request_api.cc |
index 40b9db7ddf0c080438019823b180f00b6bd38c03..6b6513e0ec09352d2376ca5fe53c5fd9030ff3f3 100644 |
--- a/extensions/browser/api/web_request/web_request_api.cc |
+++ b/extensions/browser/api/web_request/web_request_api.cc |
@@ -1226,6 +1226,17 @@ void ExtensionWebRequestEventRouter::OnURLRequestDestroyed( |
base::Time::Now()); |
} |
+void ExtensionWebRequestEventRouter::OnURLRequestJobOrphaned( |
+ void* browser_context, |
+ const net::URLRequest* request) { |
+ // See https://crbug.com/289715. While a URLRequest is blocking on an |
+ // extension, it may not orphan jobs unless OnURLRequestDestroyed is called |
+ // first. |
+ // |
+ // TODO(davidben): Remove this when the crash has been diagnosed. |
+ CHECK_EQ(0u, blocked_requests_.count(request->identifier())); |
mmenke
2015/09/14 15:18:27
Maybe toss the URL on the stack?
One of the possi
davidben
2015/09/14 19:55:55
Done.
|
+} |
+ |
void ExtensionWebRequestEventRouter::ClearPendingCallbacks( |
const net::URLRequest* request) { |
blocked_requests_.erase(request->identifier()); |