Commit 0ff2bff5 authored by yhirano's avatar yhirano Committed by Commit bot

Add CHECKs to ResourceLoader to investigate crashes

There are crash reports that |m_resource| is broken in
ResourceLoader::didReceiveResponse. It is strange as ResourceLoader::m_resource
is constant after its construction. To investigate the issue, this CL adds some
CHECKs in ResourceLoader.

BUG=675947
R=tyoshino@chromium.org

Review-Url: https://codereview.chromium.org/2619513002
Cr-Commit-Position: refs/heads/master@{#441919}
parent 7e483a01
...@@ -67,7 +67,7 @@ ResourceLoader::ResourceLoader(ResourceFetcher* fetcher, Resource* resource) ...@@ -67,7 +67,7 @@ ResourceLoader::ResourceLoader(ResourceFetcher* fetcher, Resource* resource)
} }
ResourceLoader::~ResourceLoader() { ResourceLoader::~ResourceLoader() {
DCHECK(!m_loader); CHECK(!m_loader);
} }
DEFINE_TRACE(ResourceLoader) { DEFINE_TRACE(ResourceLoader) {
...@@ -302,6 +302,7 @@ void ResourceLoader::didReceiveResponse( ...@@ -302,6 +302,7 @@ void ResourceLoader::didReceiveResponse(
const WebURLResponse& webURLResponse, const WebURLResponse& webURLResponse,
std::unique_ptr<WebDataConsumerHandle> handle) { std::unique_ptr<WebDataConsumerHandle> handle) {
DCHECK(!webURLResponse.isNull()); DCHECK(!webURLResponse.isNull());
CHECK(m_resource);
const ResourceResponse& response = webURLResponse.toResourceResponse(); const ResourceResponse& response = webURLResponse.toResourceResponse();
...@@ -354,11 +355,13 @@ void ResourceLoader::didReceiveResponse( ...@@ -354,11 +355,13 @@ void ResourceLoader::didReceiveResponse(
} }
} }
CHECK(m_resource);
context().dispatchDidReceiveResponse( context().dispatchDidReceiveResponse(
m_resource->identifier(), response, m_resource->identifier(), response,
m_resource->resourceRequest().frameType(), m_resource->resourceRequest().frameType(),
m_resource->resourceRequest().requestContext(), m_resource); m_resource->resourceRequest().requestContext(), m_resource);
CHECK(m_resource);
m_resource->responseReceived(response, std::move(handle)); m_resource->responseReceived(response, std::move(handle));
if (!m_resource->loader()) if (!m_resource->loader())
return; return;
......
...@@ -124,7 +124,7 @@ class CORE_EXPORT ResourceLoader final ...@@ -124,7 +124,7 @@ class CORE_EXPORT ResourceLoader final
std::unique_ptr<WebURLLoader> m_loader; std::unique_ptr<WebURLLoader> m_loader;
Member<ResourceFetcher> m_fetcher; Member<ResourceFetcher> m_fetcher;
Member<Resource> m_resource; const Member<Resource> m_resource;
bool m_isCacheAwareLoadingActivated; bool m_isCacheAwareLoadingActivated;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment