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 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
506 ? FetchContext::V8ActivityLoggingPolicy::SuppressLogging | 506 ? FetchContext::V8ActivityLoggingPolicy::SuppressLogging |
507 : FetchContext::V8ActivityLoggingPolicy::Log)); | 507 : FetchContext::V8ActivityLoggingPolicy::Log)); |
508 if (!request.url().isValid()) | 508 if (!request.url().isValid()) |
509 return Abort; | 509 return Abort; |
510 | 510 |
511 resourceRequest.setAllowStoredCredentials( | 511 resourceRequest.setAllowStoredCredentials( |
512 request.options().allowCredentials == AllowStoredCredentials); | 512 request.options().allowCredentials == AllowStoredCredentials); |
513 return Continue; | 513 return Continue; |
514 } | 514 } |
515 | 515 |
516 void ResourceFetcher::addToDocumentResources(Resource* resource) { | |
517 m_documentResources.set( | |
518 MemoryCache::removeFragmentIdentifierIfNeeded(resource->url()), resource); | |
519 } | |
520 | |
516 Resource* ResourceFetcher::requestResource( | 521 Resource* ResourceFetcher::requestResource( |
517 FetchRequest& request, | 522 FetchRequest& request, |
518 const ResourceFactory& factory, | 523 const ResourceFactory& factory, |
519 const SubstituteData& substituteData) { | 524 const SubstituteData& substituteData) { |
520 unsigned long identifier = createUniqueIdentifier(); | 525 unsigned long identifier = createUniqueIdentifier(); |
521 ResourceRequest& resourceRequest = request.mutableResourceRequest(); | 526 ResourceRequest& resourceRequest = request.mutableResourceRequest(); |
522 network_instrumentation::ScopedResourceLoadTracker scopedResourceLoadTracker( | 527 network_instrumentation::ScopedResourceLoadTracker scopedResourceLoadTracker( |
523 identifier, resourceRequest); | 528 identifier, resourceRequest); |
524 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.Fetch.RequestResourceTime"); | 529 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.Fetch.RequestResourceTime"); |
525 // TODO(dproy): Remove this. http://crbug.com/659666 | 530 // TODO(dproy): Remove this. http://crbug.com/659666 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
605 // TODO(yoav): I'd expect the stated scenario to not go here, as its policy | 610 // TODO(yoav): I'd expect the stated scenario to not go here, as its policy |
606 // would be Use. | 611 // would be Use. |
607 } | 612 } |
608 | 613 |
609 // If only the fragment identifiers differ, it is the same resource. | 614 // If only the fragment identifiers differ, it is the same resource. |
610 DCHECK(equalIgnoringFragmentIdentifier(resource->url(), request.url())); | 615 DCHECK(equalIgnoringFragmentIdentifier(resource->url(), request.url())); |
611 requestLoadStarted( | 616 requestLoadStarted( |
612 identifier, resource, request, | 617 identifier, resource, request, |
613 policy == Use ? ResourceLoadingFromCache : ResourceLoadingFromNetwork, | 618 policy == Use ? ResourceLoadingFromCache : ResourceLoadingFromNetwork, |
614 isStaticData); | 619 isStaticData); |
615 m_documentResources.set( | 620 addToDocumentResources(resource); |
616 MemoryCache::removeFragmentIdentifierIfNeeded(request.url()), resource); | |
617 | 621 |
618 // Returns with an existing resource if the resource does not need to start | 622 // Returns with an existing resource if the resource does not need to start |
619 // loading immediately. If revalidation policy was determined as |Revalidate|, | 623 // loading immediately. If revalidation policy was determined as |Revalidate|, |
620 // the resource was already initialized for the revalidation here, but won't | 624 // the resource was already initialized for the revalidation here, but won't |
621 // start loading. | 625 // start loading. |
622 if (!resourceNeedsLoad(resource, request, policy)) | 626 if (!resourceNeedsLoad(resource, request, policy)) |
623 return resource; | 627 return resource; |
624 | 628 |
625 if (!startLoad(resource)) | 629 if (!startLoad(resource)) |
626 return nullptr; | 630 return nullptr; |
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1325 resourcePriority.intraPriorityValue); | 1329 resourcePriority.intraPriorityValue); |
1326 network_instrumentation::resourcePrioritySet(resource->identifier(), | 1330 network_instrumentation::resourcePrioritySet(resource->identifier(), |
1327 resourceLoadPriority); | 1331 resourceLoadPriority); |
1328 context().dispatchDidChangeResourcePriority( | 1332 context().dispatchDidChangeResourcePriority( |
1329 resource->identifier(), resourceLoadPriority, | 1333 resource->identifier(), resourceLoadPriority, |
1330 resourcePriority.intraPriorityValue); | 1334 resourcePriority.intraPriorityValue); |
1331 } | 1335 } |
1332 } | 1336 } |
1333 | 1337 |
1334 void ResourceFetcher::reloadLoFiImages() { | 1338 void ResourceFetcher::reloadLoFiImages() { |
1335 for (const auto& documentResource : m_documentResources) { | 1339 for (auto& documentResource : m_documentResources) { |
yhirano
2017/03/17 13:09:35
What is the intention of this change?
| |
1336 Resource* resource = documentResource.value.get(); | 1340 Resource* resource = documentResource.value.get(); |
1337 if (resource) | 1341 if (resource) |
1338 resource->reloadIfLoFiOrPlaceholderImage(this, Resource::kReloadAlways); | 1342 resource->reloadIfLoFiOrPlaceholderImage(this, Resource::kReloadAlways); |
kouhei (in TOK)
2017/03/15 10:25:28
or should we replace m_documentResources using the
hiroshige
2017/03/15 19:03:31
In fact I am sure that we update |m_documentResour
| |
1339 } | 1343 } |
1340 } | 1344 } |
1341 | 1345 |
1342 void ResourceFetcher::logPreloadStats(ClearPreloadsPolicy policy) { | 1346 void ResourceFetcher::logPreloadStats(ClearPreloadsPolicy policy) { |
1343 if (!m_preloads) | 1347 if (!m_preloads) |
1344 return; | 1348 return; |
1345 unsigned scripts = 0; | 1349 unsigned scripts = 0; |
1346 unsigned scriptMisses = 0; | 1350 unsigned scriptMisses = 0; |
1347 unsigned stylesheets = 0; | 1351 unsigned stylesheets = 0; |
1348 unsigned stylesheetMisses = 0; | 1352 unsigned stylesheetMisses = 0; |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1546 visitor->trace(m_context); | 1550 visitor->trace(m_context); |
1547 visitor->trace(m_archive); | 1551 visitor->trace(m_archive); |
1548 visitor->trace(m_loaders); | 1552 visitor->trace(m_loaders); |
1549 visitor->trace(m_nonBlockingLoaders); | 1553 visitor->trace(m_nonBlockingLoaders); |
1550 visitor->trace(m_documentResources); | 1554 visitor->trace(m_documentResources); |
1551 visitor->trace(m_preloads); | 1555 visitor->trace(m_preloads); |
1552 visitor->trace(m_resourceTimingInfoMap); | 1556 visitor->trace(m_resourceTimingInfoMap); |
1553 } | 1557 } |
1554 | 1558 |
1555 } // namespace blink | 1559 } // namespace blink |
OLD | NEW |