OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. |
3 * Copyright (C) 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2011 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 #include "platform/loader/fetch/MemoryCache.h" | 66 #include "platform/loader/fetch/MemoryCache.h" |
67 #include "platform/loader/fetch/ResourceFetcher.h" | 67 #include "platform/loader/fetch/ResourceFetcher.h" |
68 #include "platform/mhtml/ArchiveResource.h" | 68 #include "platform/mhtml/ArchiveResource.h" |
69 #include "platform/network/ContentSecurityPolicyResponseHeaders.h" | 69 #include "platform/network/ContentSecurityPolicyResponseHeaders.h" |
70 #include "platform/network/HTTPParsers.h" | 70 #include "platform/network/HTTPParsers.h" |
71 #include "platform/network/mime/MIMETypeRegistry.h" | 71 #include "platform/network/mime/MIMETypeRegistry.h" |
72 #include "platform/plugins/PluginData.h" | 72 #include "platform/plugins/PluginData.h" |
73 #include "platform/weborigin/SchemeRegistry.h" | 73 #include "platform/weborigin/SchemeRegistry.h" |
74 #include "platform/weborigin/SecurityPolicy.h" | 74 #include "platform/weborigin/SecurityPolicy.h" |
75 #include "public/platform/Platform.h" | 75 #include "public/platform/Platform.h" |
| 76 #include "public/platform/modules/serviceworker/WebServiceWorkerNetworkProvider.
h" |
76 #include "wtf/Assertions.h" | 77 #include "wtf/Assertions.h" |
77 #include "wtf/AutoReset.h" | 78 #include "wtf/AutoReset.h" |
78 #include "wtf/text/WTFString.h" | 79 #include "wtf/text/WTFString.h" |
79 | 80 |
80 namespace blink { | 81 namespace blink { |
81 | 82 |
82 static bool isArchiveMIMEType(const String& mimeType) { | 83 static bool isArchiveMIMEType(const String& mimeType) { |
83 return equalIgnoringCase("multipart/related", mimeType); | 84 return equalIgnoringCase("multipart/related", mimeType); |
84 } | 85 } |
85 | 86 |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 } | 223 } |
223 | 224 |
224 // CSP layout tests verify that preloads are subject to access checks by | 225 // CSP layout tests verify that preloads are subject to access checks by |
225 // seeing if they are in the `preload started` list. Therefore do not add | 226 // seeing if they are in the `preload started` list. Therefore do not add |
226 // them to the list if the load is immediately denied. | 227 // them to the list if the load is immediately denied. |
227 if (resource && !resource->resourceError().isAccessCheck()) | 228 if (resource && !resource->resourceError().isAccessCheck()) |
228 fetcher()->preloadStarted(resource); | 229 fetcher()->preloadStarted(resource); |
229 return resource; | 230 return resource; |
230 } | 231 } |
231 | 232 |
| 233 void DocumentLoader::setServiceWorkerNetworkProvider( |
| 234 std::unique_ptr<WebServiceWorkerNetworkProvider> provider) { |
| 235 m_serviceWorkerNetworkProvider = std::move(provider); |
| 236 } |
| 237 |
232 void DocumentLoader::dispatchLinkHeaderPreloads( | 238 void DocumentLoader::dispatchLinkHeaderPreloads( |
233 ViewportDescriptionWrapper* viewport, | 239 ViewportDescriptionWrapper* viewport, |
234 LinkLoader::MediaPreloadPolicy mediaPolicy) { | 240 LinkLoader::MediaPreloadPolicy mediaPolicy) { |
235 LinkLoader::loadLinksFromHeader( | 241 LinkLoader::loadLinksFromHeader( |
236 response().httpHeaderField(HTTPNames::Link), response().url(), | 242 response().httpHeaderField(HTTPNames::Link), response().url(), |
237 m_frame->document(), NetworkHintsInterfaceImpl(), | 243 m_frame->document(), NetworkHintsInterfaceImpl(), |
238 LinkLoader::OnlyLoadResources, mediaPolicy, viewport); | 244 LinkLoader::OnlyLoadResources, mediaPolicy, viewport); |
239 } | 245 } |
240 | 246 |
241 void DocumentLoader::didChangePerformanceTiming() { | 247 void DocumentLoader::didChangePerformanceTiming() { |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 frameLoader().loadFailed(this, ResourceError::cancelledError(url())); | 651 frameLoader().loadFailed(this, ResourceError::cancelledError(url())); |
646 | 652 |
647 // If that load cancellation triggered another detach, leave. | 653 // If that load cancellation triggered another detach, leave. |
648 // (fast/frames/detach-frame-nested-no-crash.html is an example of this.) | 654 // (fast/frames/detach-frame-nested-no-crash.html is an example of this.) |
649 if (!m_frame) | 655 if (!m_frame) |
650 return; | 656 return; |
651 | 657 |
652 m_fetcher->clearContext(); | 658 m_fetcher->clearContext(); |
653 m_applicationCacheHost->detachFromDocumentLoader(); | 659 m_applicationCacheHost->detachFromDocumentLoader(); |
654 m_applicationCacheHost.clear(); | 660 m_applicationCacheHost.clear(); |
| 661 m_serviceWorkerNetworkProvider = nullptr; |
655 WeakIdentifierMap<DocumentLoader>::notifyObjectDestroyed(this); | 662 WeakIdentifierMap<DocumentLoader>::notifyObjectDestroyed(this); |
656 clearMainResourceHandle(); | 663 clearMainResourceHandle(); |
657 m_frame = nullptr; | 664 m_frame = nullptr; |
658 } | 665 } |
659 | 666 |
660 void DocumentLoader::clearMainResourceHandle() { | 667 void DocumentLoader::clearMainResourceHandle() { |
661 if (!m_mainResource) | 668 if (!m_mainResource) |
662 return; | 669 return; |
663 m_mainResource->removeClient(this); | 670 m_mainResource->removeClient(this); |
664 m_mainResource = nullptr; | 671 m_mainResource = nullptr; |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
811 m_writer ? m_writer->encoding() : emptyAtom, true, | 818 m_writer ? m_writer->encoding() : emptyAtom, true, |
812 ForceSynchronousParsing); | 819 ForceSynchronousParsing); |
813 if (!source.isNull()) | 820 if (!source.isNull()) |
814 m_writer->appendReplacingData(source); | 821 m_writer->appendReplacingData(source); |
815 endWriting(); | 822 endWriting(); |
816 } | 823 } |
817 | 824 |
818 DEFINE_WEAK_IDENTIFIER_MAP(DocumentLoader); | 825 DEFINE_WEAK_IDENTIFIER_MAP(DocumentLoader); |
819 | 826 |
820 } // namespace blink | 827 } // namespace blink |
OLD | NEW |