| 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 | 5 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All |
| 6 rights reserved. | 6 rights reserved. |
| 7 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ | 7 Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ |
| 8 | 8 |
| 9 This library is free software; you can redistribute it and/or | 9 This library is free software; you can redistribute it and/or |
| 10 modify it under the terms of the GNU Library General Public | 10 modify it under the terms of the GNU Library General Public |
| (...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 resource->setIdentifier(createUniqueIdentifier()); | 425 resource->setIdentifier(createUniqueIdentifier()); |
| 426 resource->setCacheIdentifier(cacheIdentifier); | 426 resource->setCacheIdentifier(cacheIdentifier); |
| 427 resource->finish(); | 427 resource->finish(); |
| 428 | 428 |
| 429 if (!substituteData.isValid()) | 429 if (!substituteData.isValid()) |
| 430 memoryCache()->add(resource); | 430 memoryCache()->add(resource); |
| 431 | 431 |
| 432 return resource; | 432 return resource; |
| 433 } | 433 } |
| 434 | 434 |
| 435 Resource* ResourceFetcher::resourceForBlockedRequest( |
| 436 const FetchRequest& request, |
| 437 const ResourceFactory& factory) { |
| 438 Resource* resource = factory.create(request.resourceRequest(), |
| 439 request.options(), request.charset()); |
| 440 resource->error(ResourceError::cancelledDueToAccessCheckError(request.url())); |
| 441 return resource; |
| 442 } |
| 443 |
| 435 void ResourceFetcher::moveCachedNonBlockingResourceToBlocking( | 444 void ResourceFetcher::moveCachedNonBlockingResourceToBlocking( |
| 436 Resource* resource, | 445 Resource* resource, |
| 437 const FetchRequest& request) { | 446 const FetchRequest& request) { |
| 438 // TODO(yoav): Test that non-blocking resources (video/audio/track) continue | 447 // TODO(yoav): Test that non-blocking resources (video/audio/track) continue |
| 439 // to not-block even after being preloaded and discovered. | 448 // to not-block even after being preloaded and discovered. |
| 440 if (resource && resource->loader() && | 449 if (resource && resource->loader() && |
| 441 resource->isLoadEventBlockingResourceType() && | 450 resource->isLoadEventBlockingResourceType() && |
| 442 resource->isLinkPreload() && !request.forPreload()) { | 451 resource->isLinkPreload() && !request.forPreload()) { |
| 443 m_nonBlockingLoaders.remove(resource->loader()); | 452 m_nonBlockingLoaders.remove(resource->loader()); |
| 444 m_loaders.add(resource->loader()); | 453 m_loaders.add(resource->loader()); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 488 TRACE_EVENT1("blink", "ResourceFetcher::requestResource", "url", | 497 TRACE_EVENT1("blink", "ResourceFetcher::requestResource", "url", |
| 489 urlForTraceEvent(request.url())); | 498 urlForTraceEvent(request.url())); |
| 490 | 499 |
| 491 if (!request.url().isValid()) | 500 if (!request.url().isValid()) |
| 492 return nullptr; | 501 return nullptr; |
| 493 | 502 |
| 494 if (!context().canRequest( | 503 if (!context().canRequest( |
| 495 factory.type(), request.resourceRequest(), | 504 factory.type(), request.resourceRequest(), |
| 496 MemoryCache::removeFragmentIdentifierIfNeeded(request.url()), | 505 MemoryCache::removeFragmentIdentifierIfNeeded(request.url()), |
| 497 request.options(), request.forPreload(), | 506 request.options(), request.forPreload(), |
| 498 request.getOriginRestriction())) | 507 request.getOriginRestriction())) { |
| 499 return nullptr; | 508 DCHECK(!substituteData.forceSynchronousLoad()); |
| 509 return resourceForBlockedRequest(request, factory); |
| 510 } |
| 500 | 511 |
| 501 unsigned long identifier = createUniqueIdentifier(); | 512 unsigned long identifier = createUniqueIdentifier(); |
| 502 request.mutableResourceRequest().setPriority(computeLoadPriority( | 513 request.mutableResourceRequest().setPriority(computeLoadPriority( |
| 503 factory.type(), request, ResourcePriority::NotVisible)); | 514 factory.type(), request, ResourcePriority::NotVisible)); |
| 504 initializeResourceRequest(request.mutableResourceRequest(), factory.type(), | 515 initializeResourceRequest(request.mutableResourceRequest(), factory.type(), |
| 505 request.defer()); | 516 request.defer()); |
| 506 context().willStartLoadingResource( | 517 context().willStartLoadingResource( |
| 507 identifier, request.mutableResourceRequest(), factory.type()); | 518 identifier, request.mutableResourceRequest(), factory.type()); |
| 508 if (!request.url().isValid()) | 519 if (!request.url().isValid()) |
| 509 return nullptr; | 520 return nullptr; |
| (...skipping 1083 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1593 visitor->trace(m_context); | 1604 visitor->trace(m_context); |
| 1594 visitor->trace(m_archive); | 1605 visitor->trace(m_archive); |
| 1595 visitor->trace(m_loaders); | 1606 visitor->trace(m_loaders); |
| 1596 visitor->trace(m_nonBlockingLoaders); | 1607 visitor->trace(m_nonBlockingLoaders); |
| 1597 visitor->trace(m_documentResources); | 1608 visitor->trace(m_documentResources); |
| 1598 visitor->trace(m_preloads); | 1609 visitor->trace(m_preloads); |
| 1599 visitor->trace(m_resourceTimingInfoMap); | 1610 visitor->trace(m_resourceTimingInfoMap); |
| 1600 } | 1611 } |
| 1601 | 1612 |
| 1602 } // namespace blink | 1613 } // namespace blink |
| OLD | NEW |