Index: Source/core/fetch/ResourceFetcher.h |
diff --git a/Source/core/fetch/ResourceFetcher.h b/Source/core/fetch/ResourceFetcher.h |
index 431bacd1ed022f8bd97e83cc244c1bc6f2f484ef..5041bec1bc0caa46e155b574bd87c58787e9f520 100644 |
--- a/Source/core/fetch/ResourceFetcher.h |
+++ b/Source/core/fetch/ResourceFetcher.h |
@@ -61,6 +61,16 @@ class KURL; |
class ResourceTimingInfo; |
class ResourceLoaderSet; |
+enum OriginRestriction { |
sof
2013/11/15 08:11:58
Finding appropriate names for this one (and the on
|
+ UseDefaultOriginRestrictionForType, |
+ RestrictToSameOrigin |
+}; |
+ |
+enum CrossOriginEnabled { |
+ NotCrossOriginEnabled, |
+ PotentiallyCrossOriginEnabled // Indicates "potentially CORS-enabled fetch" in HTML standard. |
+}; |
+ |
// The ResourceFetcher provides a per-context interface to the MemoryCache |
// and enforces a bunch of security checks and rules for resource revalidation. |
// Its lifetime is roughly per-DocumentLoader, in that it is generally created |
@@ -81,8 +91,8 @@ public: |
using RefCounted<ResourceFetcher>::ref; |
using RefCounted<ResourceFetcher>::deref; |
- ResourcePtr<Resource> fetchSynchronously(FetchRequest&); |
- ResourcePtr<ImageResource> fetchImage(FetchRequest&); |
+ ResourcePtr<Resource> fetchSynchronously(FetchRequest&, OriginRestriction = UseDefaultOriginRestrictionForType); |
+ ResourcePtr<ImageResource> fetchImage(FetchRequest&, OriginRestriction = UseDefaultOriginRestrictionForType); |
sof
2013/11/15 08:11:58
Notice that none of the other fetch{ResourceType}(
abarth-chromium
2013/11/15 15:47:52
These functions used to take a large number of par
sof
2013/11/15 17:05:18
Done. Thank you, sorry for not picking up on that
|
ResourcePtr<CSSStyleSheetResource> fetchCSSStyleSheet(FetchRequest&); |
ResourcePtr<CSSStyleSheetResource> fetchUserCSSStyleSheet(FetchRequest&); |
ResourcePtr<ScriptResource> fetchScript(FetchRequest&); |
@@ -130,7 +140,7 @@ public: |
void preload(Resource::Type, FetchRequest&, const String& charset); |
void checkForPendingPreloads(); |
void printPreloadStats(); |
- bool canAccess(Resource*); |
+ bool canAccess(Resource*, CrossOriginEnabled, OriginRestriction = UseDefaultOriginRestrictionForType); |
void setDefersLoading(bool); |
void stopFetching(); |
@@ -164,7 +174,7 @@ private: |
bool shouldLoadNewResource() const; |
- ResourcePtr<Resource> requestResource(Resource::Type, FetchRequest&); |
+ ResourcePtr<Resource> requestResource(Resource::Type, FetchRequest&, OriginRestriction = UseDefaultOriginRestrictionForType); |
ResourcePtr<Resource> revalidateResource(const FetchRequest&, Resource*); |
ResourcePtr<Resource> loadResource(Resource::Type, FetchRequest&, const String& charset); |
void preCacheDataURIImage(const FetchRequest&); |
@@ -178,7 +188,7 @@ private: |
ResourceRequestCachePolicy resourceRequestCachePolicy(const ResourceRequest&, Resource::Type); |
void addAdditionalRequestHeaders(ResourceRequest&, Resource::Type); |
- bool canRequest(Resource::Type, const KURL&, const ResourceLoaderOptions&, bool forPreload = false); |
+ bool canRequest(Resource::Type, const KURL&, const ResourceLoaderOptions&, bool forPreload, OriginRestriction); |
bool checkInsecureContent(Resource::Type, const KURL&, MixedContentBlockingTreatment) const; |
static bool resourceNeedsLoad(Resource*, const FetchRequest&, RevalidationPolicy); |