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 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
467 case Reload: | 467 case Reload: |
468 memoryCache()->remove(resource); | 468 memoryCache()->remove(resource); |
469 // Fall through | 469 // Fall through |
470 case Load: | 470 case Load: |
471 resource = createResourceForLoading(request, request.charset(), factory) ; | 471 resource = createResourceForLoading(request, request.charset(), factory) ; |
472 break; | 472 break; |
473 case Revalidate: | 473 case Revalidate: |
474 initializeRevalidation(request.mutableResourceRequest(), resource); | 474 initializeRevalidation(request.mutableResourceRequest(), resource); |
475 break; | 475 break; |
476 case Use: | 476 case Use: |
477 resource->setLinkPreload(request.isLinkPreload()); | |
Nate Chapin
2016/09/08 17:26:47
Doesn't this have the potential to mark something
| |
477 memoryCache()->updateForAccess(resource); | 478 memoryCache()->updateForAccess(resource); |
478 break; | 479 break; |
479 } | 480 } |
480 | 481 |
481 if (!resource) | 482 if (!resource) |
482 return nullptr; | 483 return nullptr; |
483 if (resource->getType() != factory.type()) { | 484 if (resource->getType() != factory.type()) { |
484 ASSERT(request.forPreload()); | 485 ASSERT(request.forPreload()); |
485 return nullptr; | 486 return nullptr; |
486 } | 487 } |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
861 bool ResourceFetcher::hasPendingRequest() const | 862 bool ResourceFetcher::hasPendingRequest() const |
862 { | 863 { |
863 return m_loaders.size() > 0 || m_nonBlockingLoaders.size() > 0; | 864 return m_loaders.size() > 0 || m_nonBlockingLoaders.size() > 0; |
864 } | 865 } |
865 | 866 |
866 void ResourceFetcher::preloadStarted(Resource* resource) | 867 void ResourceFetcher::preloadStarted(Resource* resource) |
867 { | 868 { |
868 if (m_preloads && m_preloads->contains(resource)) | 869 if (m_preloads && m_preloads->contains(resource)) |
869 return; | 870 return; |
870 TRACE_EVENT_ASYNC_STEP_INTO0("blink.net", "Resource", resource->identifier() , "Preload"); | 871 TRACE_EVENT_ASYNC_STEP_INTO0("blink.net", "Resource", resource->identifier() , "Preload"); |
871 resource->increasePreloadCount(); | 872 resource->setIsPreloaded(true); |
872 | 873 |
873 if (!m_preloads) | 874 if (!m_preloads) |
874 m_preloads = new HeapListHashSet<Member<Resource>>; | 875 m_preloads = new HeapListHashSet<Member<Resource>>; |
875 m_preloads->add(resource); | 876 m_preloads->add(resource); |
876 } | 877 } |
877 | 878 |
878 bool ResourceFetcher::isPreloaded(const KURL& url) const | 879 bool ResourceFetcher::isPreloaded(const KURL& url) const |
879 { | 880 { |
880 if (m_preloads) { | 881 if (m_preloads) { |
881 for (auto resource : *m_preloads) { | 882 for (auto resource : *m_preloads) { |
882 if (resource->url() == url) | 883 if (resource->url() == url) |
883 return true; | 884 return true; |
884 } | 885 } |
885 } | 886 } |
886 | 887 |
887 return false; | 888 return false; |
888 } | 889 } |
889 | 890 |
890 void ResourceFetcher::clearPreloads(ClearPreloadsPolicy policy) | 891 void ResourceFetcher::clearPreloads(ClearPreloadsPolicy policy) |
891 { | 892 { |
892 if (!m_preloads) | 893 if (!m_preloads) |
893 return; | 894 return; |
894 | 895 |
895 logPreloadStats(); | 896 logPreloadStats(); |
896 | 897 |
897 for (auto resource : *m_preloads) { | 898 for (auto resource : *m_preloads) { |
898 if (policy == ClearAllPreloads || !resource->isLinkPreload()) { | 899 if (policy == ClearAllPreloads || !resource->isLinkPreload()) { |
899 resource->decreasePreloadCount(); | 900 resource->setIsPreloaded(false); |
900 if (resource->getPreloadResult() == Resource::PreloadNotReferenced) | 901 if (resource->getPreloadResult() == Resource::PreloadNotReferenced) |
901 memoryCache()->remove(resource.get()); | 902 memoryCache()->remove(resource.get()); |
902 m_preloads->remove(resource); | 903 m_preloads->remove(resource); |
903 } | 904 } |
904 } | 905 } |
905 if (!m_preloads->size()) | 906 if (!m_preloads->size()) |
906 m_preloads.clear(); | 907 m_preloads.clear(); |
907 } | 908 } |
908 | 909 |
909 ArchiveResource* ResourceFetcher::createArchive(Resource* resource) | 910 ArchiveResource* ResourceFetcher::createArchive(Resource* resource) |
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1323 visitor->trace(m_context); | 1324 visitor->trace(m_context); |
1324 visitor->trace(m_archive); | 1325 visitor->trace(m_archive); |
1325 visitor->trace(m_loaders); | 1326 visitor->trace(m_loaders); |
1326 visitor->trace(m_nonBlockingLoaders); | 1327 visitor->trace(m_nonBlockingLoaders); |
1327 visitor->trace(m_documentResources); | 1328 visitor->trace(m_documentResources); |
1328 visitor->trace(m_preloads); | 1329 visitor->trace(m_preloads); |
1329 visitor->trace(m_resourceTimingInfoMap); | 1330 visitor->trace(m_resourceTimingInfoMap); |
1330 } | 1331 } |
1331 | 1332 |
1332 } // namespace blink | 1333 } // namespace blink |
OLD | NEW |