| 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 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 return resource; | 444 return resource; |
| 445 } | 445 } |
| 446 | 446 |
| 447 void ResourceFetcher::moveCachedNonBlockingResourceToBlocking( | 447 void ResourceFetcher::moveCachedNonBlockingResourceToBlocking( |
| 448 Resource* resource, | 448 Resource* resource, |
| 449 const FetchRequest& request) { | 449 const FetchRequest& request) { |
| 450 // TODO(yoav): Test that non-blocking resources (video/audio/track) continue | 450 // TODO(yoav): Test that non-blocking resources (video/audio/track) continue |
| 451 // to not-block even after being preloaded and discovered. | 451 // to not-block even after being preloaded and discovered. |
| 452 if (resource && resource->loader() && | 452 if (resource && resource->loader() && |
| 453 resource->isLoadEventBlockingResourceType() && | 453 resource->isLoadEventBlockingResourceType() && |
| 454 m_nonBlockingLoaders.contains(resource->loader()) && |
| 454 resource->isLinkPreload() && !request.forPreload()) { | 455 resource->isLinkPreload() && !request.forPreload()) { |
| 455 m_nonBlockingLoaders.remove(resource->loader()); | 456 m_nonBlockingLoaders.remove(resource->loader()); |
| 456 m_loaders.add(resource->loader()); | 457 m_loaders.add(resource->loader()); |
| 457 } | 458 } |
| 458 } | 459 } |
| 459 | 460 |
| 460 void ResourceFetcher::updateMemoryCacheStats(Resource* resource, | 461 void ResourceFetcher::updateMemoryCacheStats(Resource* resource, |
| 461 RevalidationPolicy policy, | 462 RevalidationPolicy policy, |
| 462 const FetchRequest& request, | 463 const FetchRequest& request, |
| 463 const ResourceFactory& factory, | 464 const ResourceFactory& factory, |
| (...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1275 | 1276 |
| 1276 void ResourceFetcher::acceptDataFromThreadedReceiver(unsigned long identifier, | 1277 void ResourceFetcher::acceptDataFromThreadedReceiver(unsigned long identifier, |
| 1277 const char* data, | 1278 const char* data, |
| 1278 int dataLength, | 1279 int dataLength, |
| 1279 int encodedDataLength) { | 1280 int encodedDataLength) { |
| 1280 context().dispatchDidReceiveData(identifier, data, dataLength, | 1281 context().dispatchDidReceiveData(identifier, data, dataLength, |
| 1281 encodedDataLength); | 1282 encodedDataLength); |
| 1282 } | 1283 } |
| 1283 | 1284 |
| 1284 void ResourceFetcher::moveResourceLoaderToNonBlocking(ResourceLoader* loader) { | 1285 void ResourceFetcher::moveResourceLoaderToNonBlocking(ResourceLoader* loader) { |
| 1286 DCHECK(loader); |
| 1287 // TODO(yoav): Convert CHECK to DCHECK if no crash reports come in. |
| 1288 CHECK(m_loaders.contains(loader)); |
| 1285 m_nonBlockingLoaders.add(loader); | 1289 m_nonBlockingLoaders.add(loader); |
| 1286 m_loaders.remove(loader); | 1290 m_loaders.remove(loader); |
| 1287 } | 1291 } |
| 1288 | 1292 |
| 1289 bool ResourceFetcher::startLoad(Resource* resource) { | 1293 bool ResourceFetcher::startLoad(Resource* resource) { |
| 1290 DCHECK(resource); | 1294 DCHECK(resource); |
| 1291 DCHECK(resource->stillNeedsLoad()); | 1295 DCHECK(resource->stillNeedsLoad()); |
| 1292 if (!context().shouldLoadNewResource(resource->getType())) { | 1296 if (!context().shouldLoadNewResource(resource->getType())) { |
| 1293 memoryCache()->remove(resource); | 1297 memoryCache()->remove(resource); |
| 1294 return false; | 1298 return false; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1319 storeResourceTimingInitiatorInformation(resource); | 1323 storeResourceTimingInitiatorInformation(resource); |
| 1320 resource->setFetcherSecurityOrigin(sourceOrigin); | 1324 resource->setFetcherSecurityOrigin(sourceOrigin); |
| 1321 | 1325 |
| 1322 loader->activateCacheAwareLoadingIfNeeded(request); | 1326 loader->activateCacheAwareLoadingIfNeeded(request); |
| 1323 loader->start(request, context().loadingTaskRunner(), | 1327 loader->start(request, context().loadingTaskRunner(), |
| 1324 context().defersLoading()); | 1328 context().defersLoading()); |
| 1325 return true; | 1329 return true; |
| 1326 } | 1330 } |
| 1327 | 1331 |
| 1328 void ResourceFetcher::removeResourceLoader(ResourceLoader* loader) { | 1332 void ResourceFetcher::removeResourceLoader(ResourceLoader* loader) { |
| 1333 DCHECK(loader); |
| 1329 if (m_loaders.contains(loader)) | 1334 if (m_loaders.contains(loader)) |
| 1330 m_loaders.remove(loader); | 1335 m_loaders.remove(loader); |
| 1331 else if (m_nonBlockingLoaders.contains(loader)) | 1336 else if (m_nonBlockingLoaders.contains(loader)) |
| 1332 m_nonBlockingLoaders.remove(loader); | 1337 m_nonBlockingLoaders.remove(loader); |
| 1333 else | 1338 else |
| 1334 NOTREACHED(); | 1339 NOTREACHED(); |
| 1335 } | 1340 } |
| 1336 | 1341 |
| 1337 void ResourceFetcher::stopFetching() { | 1342 void ResourceFetcher::stopFetching() { |
| 1338 HeapVector<Member<ResourceLoader>> loadersToCancel; | 1343 HeapVector<Member<ResourceLoader>> loadersToCancel; |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1643 visitor->trace(m_context); | 1648 visitor->trace(m_context); |
| 1644 visitor->trace(m_archive); | 1649 visitor->trace(m_archive); |
| 1645 visitor->trace(m_loaders); | 1650 visitor->trace(m_loaders); |
| 1646 visitor->trace(m_nonBlockingLoaders); | 1651 visitor->trace(m_nonBlockingLoaders); |
| 1647 visitor->trace(m_documentResources); | 1652 visitor->trace(m_documentResources); |
| 1648 visitor->trace(m_preloads); | 1653 visitor->trace(m_preloads); |
| 1649 visitor->trace(m_resourceTimingInfoMap); | 1654 visitor->trace(m_resourceTimingInfoMap); |
| 1650 } | 1655 } |
| 1651 | 1656 |
| 1652 } // namespace blink | 1657 } // namespace blink |
| OLD | NEW |