| 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 809 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1273 | 1274 |
| 1274 void ResourceFetcher::acceptDataFromThreadedReceiver(unsigned long identifier, | 1275 void ResourceFetcher::acceptDataFromThreadedReceiver(unsigned long identifier, |
| 1275 const char* data, | 1276 const char* data, |
| 1276 int dataLength, | 1277 int dataLength, |
| 1277 int encodedDataLength) { | 1278 int encodedDataLength) { |
| 1278 context().dispatchDidReceiveData(identifier, data, dataLength, | 1279 context().dispatchDidReceiveData(identifier, data, dataLength, |
| 1279 encodedDataLength); | 1280 encodedDataLength); |
| 1280 } | 1281 } |
| 1281 | 1282 |
| 1282 void ResourceFetcher::moveResourceLoaderToNonBlocking(ResourceLoader* loader) { | 1283 void ResourceFetcher::moveResourceLoaderToNonBlocking(ResourceLoader* loader) { |
| 1284 DCHECK(loader); |
| 1285 // TODO(yoav): Convert CHECK to DCHECK if no crash reports come in. |
| 1286 CHECK(m_loaders.contains(loader)); |
| 1283 m_nonBlockingLoaders.add(loader); | 1287 m_nonBlockingLoaders.add(loader); |
| 1284 m_loaders.remove(loader); | 1288 m_loaders.remove(loader); |
| 1285 } | 1289 } |
| 1286 | 1290 |
| 1287 bool ResourceFetcher::startLoad(Resource* resource) { | 1291 bool ResourceFetcher::startLoad(Resource* resource) { |
| 1288 DCHECK(resource); | 1292 DCHECK(resource); |
| 1289 DCHECK(resource->stillNeedsLoad()); | 1293 DCHECK(resource->stillNeedsLoad()); |
| 1290 if (!context().shouldLoadNewResource(resource->getType())) { | 1294 if (!context().shouldLoadNewResource(resource->getType())) { |
| 1291 memoryCache()->remove(resource); | 1295 memoryCache()->remove(resource); |
| 1292 return false; | 1296 return false; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1317 storeResourceTimingInitiatorInformation(resource); | 1321 storeResourceTimingInitiatorInformation(resource); |
| 1318 resource->setFetcherSecurityOrigin(sourceOrigin); | 1322 resource->setFetcherSecurityOrigin(sourceOrigin); |
| 1319 | 1323 |
| 1320 loader->activateCacheAwareLoadingIfNeeded(request); | 1324 loader->activateCacheAwareLoadingIfNeeded(request); |
| 1321 loader->start(request, context().loadingTaskRunner(), | 1325 loader->start(request, context().loadingTaskRunner(), |
| 1322 context().defersLoading()); | 1326 context().defersLoading()); |
| 1323 return true; | 1327 return true; |
| 1324 } | 1328 } |
| 1325 | 1329 |
| 1326 void ResourceFetcher::removeResourceLoader(ResourceLoader* loader) { | 1330 void ResourceFetcher::removeResourceLoader(ResourceLoader* loader) { |
| 1331 DCHECK(loader); |
| 1327 if (m_loaders.contains(loader)) | 1332 if (m_loaders.contains(loader)) |
| 1328 m_loaders.remove(loader); | 1333 m_loaders.remove(loader); |
| 1329 else if (m_nonBlockingLoaders.contains(loader)) | 1334 else if (m_nonBlockingLoaders.contains(loader)) |
| 1330 m_nonBlockingLoaders.remove(loader); | 1335 m_nonBlockingLoaders.remove(loader); |
| 1331 else | 1336 else |
| 1332 NOTREACHED(); | 1337 NOTREACHED(); |
| 1333 } | 1338 } |
| 1334 | 1339 |
| 1335 void ResourceFetcher::stopFetching() { | 1340 void ResourceFetcher::stopFetching() { |
| 1336 HeapVector<Member<ResourceLoader>> loadersToCancel; | 1341 HeapVector<Member<ResourceLoader>> loadersToCancel; |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1641 visitor->trace(m_context); | 1646 visitor->trace(m_context); |
| 1642 visitor->trace(m_archive); | 1647 visitor->trace(m_archive); |
| 1643 visitor->trace(m_loaders); | 1648 visitor->trace(m_loaders); |
| 1644 visitor->trace(m_nonBlockingLoaders); | 1649 visitor->trace(m_nonBlockingLoaders); |
| 1645 visitor->trace(m_documentResources); | 1650 visitor->trace(m_documentResources); |
| 1646 visitor->trace(m_preloads); | 1651 visitor->trace(m_preloads); |
| 1647 visitor->trace(m_resourceTimingInfoMap); | 1652 visitor->trace(m_resourceTimingInfoMap); |
| 1648 } | 1653 } |
| 1649 | 1654 |
| 1650 } // namespace blink | 1655 } // namespace blink |
| OLD | NEW |