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

Unified Diff: public/web/WebServiceWorkerContextClient.h

Issue 194073002: Identify service worker version at main resource load time (BlinkSide) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 9 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
« Source/web/WebEmbeddedWorkerImpl.h ('K') | « Source/web/WebEmbeddedWorkerImpl.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: public/web/WebServiceWorkerContextClient.h
diff --git a/public/web/WebServiceWorkerContextClient.h b/public/web/WebServiceWorkerContextClient.h
index d0c87b41664bb2668748feb73ccfd059e84e5c05..4a2fb680c3fd9d3149fcf79faf02d6290abe1d89 100644
--- a/public/web/WebServiceWorkerContextClient.h
+++ b/public/web/WebServiceWorkerContextClient.h
@@ -35,14 +35,31 @@
namespace blink {
+class WebDataSource;
class WebString;
class WebServiceWorkerContextProxy;
class WebServiceWorkerResponse;
+class WebURLRequest;
+class WebURLResponse;
+
+// This interface is implemented by the client and is only called on the main thread.
+// FIXME: put this in a seperate .h
michaeln 2014/03/14 01:01:02 should be in another file, if we like this change
kinuko 2014/03/14 11:47:17 Yes I think this change makes sense
+class WebServiceWorkerNetworkProvider {
+public:
+ virtual ~WebServiceWorkerNetworkProvider() { }
+
+ // A request is about to be sent out, and the client may modify it. Request
+ // is writable, and changes to the URL, for example, will change the request
+ // made. If this request is the result of a redirect, then redirectResponse
+ // will be non-null and contain the response that triggered the redirect.
kinuko 2014/03/14 11:47:17 Is this comment from WebFrameClient? May give impr
michaeln 2014/03/15 01:22:39 Done, removed the redirectResponse param and fixed
+ virtual void willSendRequest(blink::WebDataSource*, blink::WebURLRequest&, const blink::WebURLResponse& redirectResponse) { }
+};
// This interface is implemented by the client. It is suppoed to be created
// on the main thread and then passed on to the worker thread to be owned
// by a newly created WorkerGlobalScope. All methods of this class, except
-// for workerContextFailedToStart(), are called on the worker thread.
+// for createServiceWorkerNetworkProvider() and workerContextFailedToStart(),
+// are called on the worker thread.
// FIXME: Split this into EmbeddedWorkerContextClient and
// ServiceWorkerScriptContextClient when we decide to use EmbeddedWorker
// framework for other implementation (like SharedWorker).
@@ -84,6 +101,9 @@ public:
// should fallback to native fetch.
virtual void didHandleFetchEvent(int fetchEventID) { }
virtual void didHandleFetchEvent(int fetchEventID, const WebServiceWorkerResponse& response) { }
+
+ // Ownership of the returned object is transferred to the caller.
+ virtual WebServiceWorkerNetworkProvider* createServiceWorkerNetworkProvider(blink::WebDataSource*) { return 0; }
};
} // namespace blink
« Source/web/WebEmbeddedWorkerImpl.h ('K') | « Source/web/WebEmbeddedWorkerImpl.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698