| OLD | NEW |
| 1 /* | 1 /* |
| 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) | 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) |
| 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) | 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) |
| 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) | 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) |
| 5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All
rights reserved. | 5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All
rights reserved. |
| 6 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ | 6 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ |
| 7 | 7 |
| 8 This library is free software; you can redistribute it and/or | 8 This library is free software; you can redistribute it and/or |
| 9 modify it under the terms of the GNU Library General Public | 9 modify it under the terms of the GNU Library General Public |
| 10 License as published by the Free Software Foundation; either | 10 License as published by the Free Software Foundation; either |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 resource->setIdentifier(createUniqueIdentifier()); | 368 resource->setIdentifier(createUniqueIdentifier()); |
| 369 resource->setCacheIdentifier(cacheIdentifier); | 369 resource->setCacheIdentifier(cacheIdentifier); |
| 370 resource->finish(); | 370 resource->finish(); |
| 371 | 371 |
| 372 if (!substituteData.isValid()) | 372 if (!substituteData.isValid()) |
| 373 memoryCache()->add(resource); | 373 memoryCache()->add(resource); |
| 374 | 374 |
| 375 return resource; | 375 return resource; |
| 376 } | 376 } |
| 377 | 377 |
| 378 Resource* ResourceFetcher::resourceForBlockedRequest(const FetchRequest& request
, const ResourceFactory& factory) |
| 379 { |
| 380 Resource* resource = factory.create(request.resourceRequest(), request.optio
ns(), request.charset()); |
| 381 resource->error(ResourceError::cancelledDueToAccessCheckError(request.url())
); |
| 382 return resource; |
| 383 } |
| 384 |
| 378 void ResourceFetcher::moveCachedNonBlockingResourceToBlocking(Resource* resource
, const FetchRequest& request) | 385 void ResourceFetcher::moveCachedNonBlockingResourceToBlocking(Resource* resource
, const FetchRequest& request) |
| 379 { | 386 { |
| 380 // TODO(yoav): Test that non-blocking resources (video/audio/track) continue
to not-block even after being preloaded and discovered. | 387 // TODO(yoav): Test that non-blocking resources (video/audio/track) continue
to not-block even after being preloaded and discovered. |
| 381 if (resource && resource->loader() && resource->isLoadEventBlockingResourceT
ype() && resource->isLinkPreload() && !request.forPreload()) { | 388 if (resource && resource->loader() && resource->isLoadEventBlockingResourceT
ype() && resource->isLinkPreload() && !request.forPreload()) { |
| 382 m_nonBlockingLoaders.remove(resource->loader()); | 389 m_nonBlockingLoaders.remove(resource->loader()); |
| 383 m_loaders.add(resource->loader()); | 390 m_loaders.add(resource->loader()); |
| 384 } | 391 } |
| 385 } | 392 } |
| 386 | 393 |
| 387 void ResourceFetcher::updateMemoryCacheStats(Resource* resource, RevalidationPol
icy policy, const FetchRequest& request, const ResourceFactory& factory, bool i
sStaticData) const | 394 void ResourceFetcher::updateMemoryCacheStats(Resource* resource, RevalidationPol
icy policy, const FetchRequest& request, const ResourceFactory& factory, bool i
sStaticData) const |
| (...skipping 24 matching lines...) Expand all Loading... |
| 412 if (request.resourceRequest().httpHeaderField("Upgrade-Insecure-Requests") !
= AtomicString("1")) | 419 if (request.resourceRequest().httpHeaderField("Upgrade-Insecure-Requests") !
= AtomicString("1")) |
| 413 context().upgradeInsecureRequest(request.mutableResourceRequest()); | 420 context().upgradeInsecureRequest(request.mutableResourceRequest()); |
| 414 context().addClientHintsIfNecessary(request); | 421 context().addClientHintsIfNecessary(request); |
| 415 context().addCSPHeaderIfNecessary(factory.type(), request); | 422 context().addCSPHeaderIfNecessary(factory.type(), request); |
| 416 | 423 |
| 417 TRACE_EVENT1("blink", "ResourceFetcher::requestResource", "url", urlForTrace
Event(request.url())); | 424 TRACE_EVENT1("blink", "ResourceFetcher::requestResource", "url", urlForTrace
Event(request.url())); |
| 418 | 425 |
| 419 if (!request.url().isValid()) | 426 if (!request.url().isValid()) |
| 420 return nullptr; | 427 return nullptr; |
| 421 | 428 |
| 422 if (!context().canRequest(factory.type(), request.resourceRequest(), MemoryC
ache::removeFragmentIdentifierIfNeeded(request.url()), request.options(), reques
t.forPreload(), request.getOriginRestriction())) | 429 if (!context().canRequest(factory.type(), request.resourceRequest(), MemoryC
ache::removeFragmentIdentifierIfNeeded(request.url()), request.options(), reques
t.forPreload(), request.getOriginRestriction())) { |
| 423 return nullptr; | 430 DCHECK(!substituteData.forceSynchronousLoad()); |
| 431 return resourceForBlockedRequest(request, factory); |
| 432 } |
| 424 | 433 |
| 425 unsigned long identifier = createUniqueIdentifier(); | 434 unsigned long identifier = createUniqueIdentifier(); |
| 426 request.mutableResourceRequest().setPriority(computeLoadPriority(factory.typ
e(), request, ResourcePriority::NotVisible)); | 435 request.mutableResourceRequest().setPriority(computeLoadPriority(factory.typ
e(), request, ResourcePriority::NotVisible)); |
| 427 initializeResourceRequest(request.mutableResourceRequest(), factory.type(),
request.defer()); | 436 initializeResourceRequest(request.mutableResourceRequest(), factory.type(),
request.defer()); |
| 428 context().willStartLoadingResource(identifier, request.mutableResourceReques
t(), factory.type()); | 437 context().willStartLoadingResource(identifier, request.mutableResourceReques
t(), factory.type()); |
| 429 if (!request.url().isValid()) | 438 if (!request.url().isValid()) |
| 430 return nullptr; | 439 return nullptr; |
| 431 | 440 |
| 432 if (!request.forPreload()) { | 441 if (!request.forPreload()) { |
| 433 V8DOMActivityLogger* activityLogger = nullptr; | 442 V8DOMActivityLogger* activityLogger = nullptr; |
| (...skipping 914 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1348 visitor->trace(m_context); | 1357 visitor->trace(m_context); |
| 1349 visitor->trace(m_archive); | 1358 visitor->trace(m_archive); |
| 1350 visitor->trace(m_loaders); | 1359 visitor->trace(m_loaders); |
| 1351 visitor->trace(m_nonBlockingLoaders); | 1360 visitor->trace(m_nonBlockingLoaders); |
| 1352 visitor->trace(m_documentResources); | 1361 visitor->trace(m_documentResources); |
| 1353 visitor->trace(m_preloads); | 1362 visitor->trace(m_preloads); |
| 1354 visitor->trace(m_resourceTimingInfoMap); | 1363 visitor->trace(m_resourceTimingInfoMap); |
| 1355 } | 1364 } |
| 1356 | 1365 |
| 1357 } // namespace blink | 1366 } // namespace blink |
| OLD | NEW |