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

Side by Side Diff: third_party/WebKit/Source/core/fetch/ResourceLoader.cpp

Issue 2615993005: Revert of Add CHECKs to ResourceLoader to investigate crashes (Closed)
Patch Set: Created 3 years, 11 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 unified diff | Download patch
« no previous file with comments | « third_party/WebKit/Source/core/fetch/ResourceLoader.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2010, 2011 Apple Inc. All rights reserved.
3 * (C) 2007 Graham Dennis (graham.dennis@gmail.com) 3 * (C) 2007 Graham Dennis (graham.dennis@gmail.com)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 : m_fetcher(fetcher), 60 : m_fetcher(fetcher),
61 m_resource(resource), 61 m_resource(resource),
62 m_isCacheAwareLoadingActivated(false) { 62 m_isCacheAwareLoadingActivated(false) {
63 DCHECK(m_resource); 63 DCHECK(m_resource);
64 DCHECK(m_fetcher); 64 DCHECK(m_fetcher);
65 65
66 m_resource->setLoader(this); 66 m_resource->setLoader(this);
67 } 67 }
68 68
69 ResourceLoader::~ResourceLoader() { 69 ResourceLoader::~ResourceLoader() {
70 CHECK(!m_loader); 70 DCHECK(!m_loader);
71 } 71 }
72 72
73 DEFINE_TRACE(ResourceLoader) { 73 DEFINE_TRACE(ResourceLoader) {
74 visitor->trace(m_fetcher); 74 visitor->trace(m_fetcher);
75 visitor->trace(m_resource); 75 visitor->trace(m_resource);
76 } 76 }
77 77
78 void ResourceLoader::start(const ResourceRequest& request) { 78 void ResourceLoader::start(const ResourceRequest& request) {
79 DCHECK(!m_loader); 79 DCHECK(!m_loader);
80 80
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 } 295 }
296 return ResourceRequestBlockedReason::Other; 296 return ResourceRequestBlockedReason::Other;
297 } 297 }
298 return ResourceRequestBlockedReason::None; 298 return ResourceRequestBlockedReason::None;
299 } 299 }
300 300
301 void ResourceLoader::didReceiveResponse( 301 void ResourceLoader::didReceiveResponse(
302 const WebURLResponse& webURLResponse, 302 const WebURLResponse& webURLResponse,
303 std::unique_ptr<WebDataConsumerHandle> handle) { 303 std::unique_ptr<WebDataConsumerHandle> handle) {
304 DCHECK(!webURLResponse.isNull()); 304 DCHECK(!webURLResponse.isNull());
305 CHECK(m_resource);
306 305
307 const ResourceResponse& response = webURLResponse.toResourceResponse(); 306 const ResourceResponse& response = webURLResponse.toResourceResponse();
308 307
309 if (response.wasFetchedViaServiceWorker()) { 308 if (response.wasFetchedViaServiceWorker()) {
310 if (m_resource->options().corsEnabled == IsCORSEnabled && 309 if (m_resource->options().corsEnabled == IsCORSEnabled &&
311 response.wasFallbackRequiredByServiceWorker()) { 310 response.wasFallbackRequiredByServiceWorker()) {
312 ResourceRequest request = m_resource->lastResourceRequest(); 311 ResourceRequest request = m_resource->lastResourceRequest();
313 DCHECK_EQ(request.skipServiceWorker(), 312 DCHECK_EQ(request.skipServiceWorker(),
314 WebURLRequest::SkipServiceWorker::None); 313 WebURLRequest::SkipServiceWorker::None);
315 // This code handles the case when a regular controlling service worker 314 // This code handles the case when a regular controlling service worker
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 } else if (m_resource->options().corsEnabled == IsCORSEnabled) { 347 } else if (m_resource->options().corsEnabled == IsCORSEnabled) {
349 ResourceRequestBlockedReason blockedReason = 348 ResourceRequestBlockedReason blockedReason =
350 canAccessResponse(m_resource, response); 349 canAccessResponse(m_resource, response);
351 if (blockedReason != ResourceRequestBlockedReason::None) { 350 if (blockedReason != ResourceRequestBlockedReason::None) {
352 handleError(ResourceError::cancelledDueToAccessCheckError(response.url(), 351 handleError(ResourceError::cancelledDueToAccessCheckError(response.url(),
353 blockedReason)); 352 blockedReason));
354 return; 353 return;
355 } 354 }
356 } 355 }
357 356
358 CHECK(m_resource);
359 context().dispatchDidReceiveResponse( 357 context().dispatchDidReceiveResponse(
360 m_resource->identifier(), response, 358 m_resource->identifier(), response,
361 m_resource->resourceRequest().frameType(), 359 m_resource->resourceRequest().frameType(),
362 m_resource->resourceRequest().requestContext(), m_resource); 360 m_resource->resourceRequest().requestContext(), m_resource);
363 361
364 CHECK(m_resource);
365 m_resource->responseReceived(response, std::move(handle)); 362 m_resource->responseReceived(response, std::move(handle));
366 if (!m_resource->loader()) 363 if (!m_resource->loader())
367 return; 364 return;
368 365
369 if (response.httpStatusCode() >= 400 && 366 if (response.httpStatusCode() >= 400 &&
370 !m_resource->shouldIgnoreHTTPStatusCodeErrors()) 367 !m_resource->shouldIgnoreHTTPStatusCodeErrors())
371 handleError(ResourceError::cancelledError(response.url())); 368 handleError(ResourceError::cancelledError(response.url()));
372 } 369 }
373 370
374 void ResourceLoader::didReceiveResponse(const WebURLResponse& response) { 371 void ResourceLoader::didReceiveResponse(const WebURLResponse& response) {
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 return; 500 return;
504 501
505 // Don't activate if cache policy is explicitly set. 502 // Don't activate if cache policy is explicitly set.
506 if (request.getCachePolicy() != WebCachePolicy::UseProtocolCachePolicy) 503 if (request.getCachePolicy() != WebCachePolicy::UseProtocolCachePolicy)
507 return; 504 return;
508 505
509 m_isCacheAwareLoadingActivated = true; 506 m_isCacheAwareLoadingActivated = true;
510 } 507 }
511 508
512 } // namespace blink 509 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/fetch/ResourceLoader.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698