Index: third_party/WebKit/Source/core/fetch/FetchRequest.cpp |
diff --git a/third_party/WebKit/Source/core/fetch/FetchRequest.cpp b/third_party/WebKit/Source/core/fetch/FetchRequest.cpp |
deleted file mode 100644 |
index 6fd3174a814e996ebad61533031d3ef37e6f2d5e..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/Source/core/fetch/FetchRequest.cpp |
+++ /dev/null |
@@ -1,169 +0,0 @@ |
-/* |
- * Copyright (C) 2012 Google, Inc. All rights reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions |
- * are met: |
- * 1. Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright |
- * notice, this list of conditions and the following disclaimer in the |
- * documentation and/or other materials provided with the distribution. |
- * |
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY |
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR |
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-#include "core/fetch/FetchRequest.h" |
- |
-#include "core/fetch/CrossOriginAccessControl.h" |
-#include "core/fetch/ResourceFetcher.h" |
-#include "platform/weborigin/KURL.h" |
-#include "platform/weborigin/SecurityOrigin.h" |
-#include "platform/weborigin/Suborigin.h" |
- |
-namespace blink { |
- |
-FetchRequest::FetchRequest(const ResourceRequest& resourceRequest, |
- const AtomicString& initiator, |
- const String& charset) |
- : m_resourceRequest(resourceRequest), |
- m_charset(charset), |
- m_options(ResourceFetcher::defaultResourceOptions()), |
- m_forPreload(false), |
- m_linkPreload(false), |
- m_preloadDiscoveryTime(0.0), |
- m_defer(NoDefer), |
- m_originRestriction(UseDefaultOriginRestrictionForType), |
- m_placeholderImageRequestType(DisallowPlaceholder) { |
- m_options.initiatorInfo.name = initiator; |
-} |
- |
-FetchRequest::FetchRequest(const ResourceRequest& resourceRequest, |
- const AtomicString& initiator, |
- const ResourceLoaderOptions& options) |
- : m_resourceRequest(resourceRequest), |
- m_options(options), |
- m_forPreload(false), |
- m_linkPreload(false), |
- m_preloadDiscoveryTime(0.0), |
- m_defer(NoDefer), |
- m_originRestriction(UseDefaultOriginRestrictionForType), |
- m_placeholderImageRequestType( |
- PlaceholderImageRequestType::DisallowPlaceholder) { |
- m_options.initiatorInfo.name = initiator; |
-} |
- |
-FetchRequest::FetchRequest(const ResourceRequest& resourceRequest, |
- const FetchInitiatorInfo& initiator) |
- : m_resourceRequest(resourceRequest), |
- m_options(ResourceFetcher::defaultResourceOptions()), |
- m_forPreload(false), |
- m_linkPreload(false), |
- m_preloadDiscoveryTime(0.0), |
- m_defer(NoDefer), |
- m_originRestriction(UseDefaultOriginRestrictionForType), |
- m_placeholderImageRequestType( |
- PlaceholderImageRequestType::DisallowPlaceholder) { |
- m_options.initiatorInfo = initiator; |
-} |
- |
-FetchRequest::~FetchRequest() {} |
- |
-void FetchRequest::setCrossOriginAccessControl( |
- SecurityOrigin* origin, |
- CrossOriginAttributeValue crossOrigin) { |
- DCHECK_NE(crossOrigin, CrossOriginAttributeNotSet); |
- // Per https://w3c.github.io/webappsec-suborigins/#security-model-opt-outs, |
- // credentials are forced when credentials mode is "same-origin", the |
- // 'unsafe-credentials' option is set, and the request's physical origin is |
- // the same as the URL's. |
- const bool suboriginPolicyForcesCredentials = |
- origin->hasSuborigin() && |
- origin->suborigin()->policyContains( |
- Suborigin::SuboriginPolicyOptions::UnsafeCredentials) && |
- SecurityOrigin::create(url())->isSameSchemeHostPort(origin); |
- const bool useCredentials = |
- crossOrigin == CrossOriginAttributeUseCredentials || |
- suboriginPolicyForcesCredentials; |
- const bool isSameOriginRequest = |
- origin && origin->canRequestNoSuborigin(m_resourceRequest.url()); |
- |
- // Currently FetchRequestMode and FetchCredentialsMode are only used when the |
- // request goes to Service Worker. |
- m_resourceRequest.setFetchRequestMode(WebURLRequest::FetchRequestModeCORS); |
- m_resourceRequest.setFetchCredentialsMode( |
- useCredentials ? WebURLRequest::FetchCredentialsModeInclude |
- : WebURLRequest::FetchCredentialsModeSameOrigin); |
- |
- if (isSameOriginRequest || useCredentials) { |
- m_options.allowCredentials = AllowStoredCredentials; |
- m_resourceRequest.setAllowStoredCredentials(true); |
- } else { |
- m_options.allowCredentials = DoNotAllowStoredCredentials; |
- m_resourceRequest.setAllowStoredCredentials(false); |
- } |
- m_options.corsEnabled = IsCORSEnabled; |
- m_options.securityOrigin = origin; |
- m_options.credentialsRequested = useCredentials |
- ? ClientRequestedCredentials |
- : ClientDidNotRequestCredentials; |
- |
- // TODO: Credentials should be removed only when the request is cross origin. |
- m_resourceRequest.removeCredentials(); |
- |
- if (origin) |
- m_resourceRequest.setHTTPOrigin(origin); |
-} |
- |
-void FetchRequest::setResourceWidth(ResourceWidth resourceWidth) { |
- if (resourceWidth.isSet) { |
- m_resourceWidth.width = resourceWidth.width; |
- m_resourceWidth.isSet = true; |
- } |
-} |
- |
-void FetchRequest::setForPreload(bool forPreload, double discoveryTime) { |
- m_forPreload = forPreload; |
- m_preloadDiscoveryTime = discoveryTime; |
-} |
- |
-void FetchRequest::makeSynchronous() { |
- // Synchronous requests should always be max priority, lest they hang the |
- // renderer. |
- m_resourceRequest.setPriority(ResourceLoadPriorityHighest); |
- m_resourceRequest.setTimeoutInterval(10); |
- m_options.synchronousPolicy = RequestSynchronously; |
-} |
- |
-void FetchRequest::setAllowImagePlaceholder() { |
- DCHECK_EQ(DisallowPlaceholder, m_placeholderImageRequestType); |
- if (!m_resourceRequest.url().protocolIsInHTTPFamily() || |
- m_resourceRequest.httpMethod() != "GET" || |
- !m_resourceRequest.httpHeaderField("range").isNull()) { |
- return; |
- } |
- |
- m_placeholderImageRequestType = AllowPlaceholder; |
- |
- // Fetch the first few bytes of the image. This number is tuned to both (a) |
- // likely capture the entire image for small images and (b) likely contain |
- // the dimensions for larger images. |
- // TODO(sclittle): Calculate the optimal value for this number. |
- m_resourceRequest.setHTTPHeaderField("range", "bytes=0-2047"); |
- |
- // TODO(sclittle): Indicate somehow (e.g. through a new request bit) to the |
- // embedder that it should return the full resource if the entire resource is |
- // fresh in the cache. |
-} |
- |
-} // namespace blink |