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

Unified Diff: content/browser/service_worker/service_worker_context_request_handler.cc

Issue 269373002: Store the service worker script and its imports on first load... kinda (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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: content/browser/service_worker/service_worker_context_request_handler.cc
diff --git a/content/browser/service_worker/service_worker_context_request_handler.cc b/content/browser/service_worker/service_worker_context_request_handler.cc
index cd6c200f718c6f3c864fec626548ab933a8648d1..700f96d84695ef602b512c95d6a163fc6bb0be1f 100644
--- a/content/browser/service_worker/service_worker_context_request_handler.cc
+++ b/content/browser/service_worker/service_worker_context_request_handler.cc
@@ -4,9 +4,12 @@
#include "content/browser/service_worker/service_worker_context_request_handler.h"
+#include "content/browser/service_worker/service_worker_context_core.h"
#include "content/browser/service_worker/service_worker_provider_host.h"
#include "content/browser/service_worker/service_worker_read_from_cache_job.h"
+#include "content/browser/service_worker/service_worker_storage.h"
#include "content/browser/service_worker/service_worker_version.h"
+#include "content/browser/service_worker/service_worker_write_to_cache_job.h"
#include "net/url_request/url_request.h"
namespace content {
@@ -26,7 +29,7 @@ ServiceWorkerContextRequestHandler::~ServiceWorkerContextRequestHandler() {
net::URLRequestJob* ServiceWorkerContextRequestHandler::MaybeCreateJob(
net::URLRequest* request,
net::NetworkDelegate* network_delegate) {
- if (!provider_host_ || !version_)
+ if (!provider_host_ || !version_ || !context_)
return NULL;
michaeln 2014/05/07 05:46:05 todo: bail out if method != GET
// We only use the script cache for main script loading and
@@ -40,8 +43,12 @@ net::URLRequestJob* ServiceWorkerContextRequestHandler::MaybeCreateJob(
}
if (ShouldAddToScriptCache(request->url())) {
- return NULL;
- // TODO(michaeln): return new ServiceWorkerWriteToCacheJob();
+ int64 response_id = context_->storage()->NewResourceId();
+ if (response_id == kInvalidServiceWorkerResponseId)
+ return NULL;
+ version_->AddToScriptCache(request->url(), response_id);
+ return new ServiceWorkerWriteToCacheJob(
+ request, network_delegate, context_, version_, response_id);
}
int64 response_id = kInvalidServiceWorkerResponseId;

Powered by Google App Engine
This is Rietveld 408576698