Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(761)

Unified Diff: third_party/WebKit/Source/platform/loader/fetch/Resource.h

Issue 2701753003: [WIP] off-main-thread loading
Patch Set: small fix Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/loader/fetch/Resource.h
diff --git a/third_party/WebKit/Source/platform/loader/fetch/Resource.h b/third_party/WebKit/Source/platform/loader/fetch/Resource.h
index 878bd180330cbfe575cc740f476b4e1e654ba281..60f77acf7c8f88448731ef520d116af6a4cd3bd9 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/Resource.h
+++ b/third_party/WebKit/Source/platform/loader/fetch/Resource.h
@@ -48,6 +48,7 @@
namespace blink {
+class FetchContext;
class FetchRequest;
class ResourceClient;
class ResourceFetcher;
@@ -99,6 +100,14 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
kReloadAlways,
};
+ class ResourceCallback {
+ public:
+ virtual ~ResourceCallback() {}
+ virtual void schedule(Resource*) = 0;
+ virtual void cancel(Resource*) = 0;
+ virtual bool isScheduled(Resource*) const = 0;
+ };
+
virtual ~Resource();
DECLARE_VIRTUAL_TRACE();
@@ -337,8 +346,13 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
Type,
const AtomicString& fetchInitiatorName);
+ void finishPendingClients();
+
protected:
- Resource(const ResourceRequest&, Type, const ResourceLoaderOptions&);
+ Resource(const ResourceRequest&,
+ Type,
+ const ResourceLoaderOptions&,
+ FetchContext* = nullptr);
virtual void checkNotify();
@@ -353,8 +367,6 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
void setEncodedSize(size_t);
void setDecodedSize(size_t);
- void finishPendingClients();
-
virtual void didAddClient(ResourceClient*);
void willAddClientOrObserver(PreloadReferencePolicy);
@@ -409,7 +421,6 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
};
private:
- class ResourceCallback;
class CachedMetadataHandlerImpl;
class ServiceWorkerResponseCachedMetadataHandler;
@@ -422,6 +433,8 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
String reasonNotDeletable() const;
+ ResourceCallback& resourceCallback();
+
// MemoryCoordinatorClient overrides:
void onPurgeMemory() override;
@@ -476,6 +489,7 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
double m_responseTimestamp;
TaskRunnerTimer<Resource> m_cancelTimer;
+ Member<FetchContext> m_fetchContext;
ResourceRequest m_resourceRequest;
Member<ResourceLoader> m_loader;
@@ -490,7 +504,8 @@ class ResourceFactory {
public:
virtual Resource* create(const ResourceRequest&,
const ResourceLoaderOptions&,
- const String&) const = 0;
+ const String&,
+ FetchContext*) const = 0;
Resource::Type type() const { return m_type; }
protected:

Powered by Google App Engine
This is Rietveld 408576698