| Index: content/browser/loader/throttling_resource_handler.cc
|
| diff --git a/content/browser/loader/throttling_resource_handler.cc b/content/browser/loader/throttling_resource_handler.cc
|
| index e12ab0f18226c3bee250279ee20a99d5009ab434..0c1ed65e25d2965173797bf9e12cd07a55a00769 100644
|
| --- a/content/browser/loader/throttling_resource_handler.cc
|
| +++ b/content/browser/loader/throttling_resource_handler.cc
|
| @@ -7,7 +7,6 @@
|
| #include <utility>
|
|
|
| #include "content/browser/loader/resource_controller.h"
|
| -#include "content/browser/loader/resource_request_info_impl.h"
|
| #include "content/public/common/resource_response.h"
|
| #include "net/url_request/url_request.h"
|
|
|
| @@ -123,7 +122,12 @@ void ThrottlingResourceHandler::CancelWithError(int error_code) {
|
| }
|
|
|
| void ThrottlingResourceHandler::Resume() {
|
| - DCHECK(!cancelled_by_resource_throttle_);
|
| + // Throttles expect to be able to cancel requests out-of-band, so just do
|
| + // nothing if one request resumes after another cancels. Can't even recognize
|
| + // out-of-band cancels and for synchronous teardown, since don't know if the
|
| + // currently active throttle called Cancel() or if it was another one.
|
| + if (cancelled_by_resource_throttle_)
|
| + return;
|
|
|
| DeferredStage last_deferred_stage = deferred_stage_;
|
| deferred_stage_ = DEFERRED_NONE;
|
|
|