Index: content/renderer/service_worker/embedded_worker_dispatcher.cc |
diff --git a/content/renderer/service_worker/embedded_worker_dispatcher.cc b/content/renderer/service_worker/embedded_worker_dispatcher.cc |
index 0a5c3fd875e0e72b03cc405e9b5324cd791e4c06..de3db08e841d24dee94a5f8a67051d1129fdf913 100644 |
--- a/content/renderer/service_worker/embedded_worker_dispatcher.cc |
+++ b/content/renderer/service_worker/embedded_worker_dispatcher.cc |
@@ -93,8 +93,30 @@ void EmbeddedWorkerDispatcher::OnStartWorker( |
params.wait_for_debugger ? |
blink::WebEmbeddedWorkerStartData::WaitForDebugger : |
blink::WebEmbeddedWorkerStartData::DontWaitForDebugger; |
+ |
+// This change has both Chrome + blink components. The #if-guard allows us |
+// to do this in two steps. |
+#ifdef CLEANUP_V8_CACHE_OPTIONS_GUARD |
+ // Proper solution: |
start_data.v8CacheOptions = |
static_cast<blink::WebSettings::V8CacheOptions>(params.v8_cache_options); |
+#else |
+ // Temporary solution, while not all changes are in: |
+ switch (params.v8_cache_options) { |
+ case V8_CACHE_OPTIONS_DEFAULT: |
+ start_data.v8CacheOptions = blink::WebSettings::V8CacheOptionsDefault; |
+ break; |
+ case V8_CACHE_OPTIONS_NONE: |
+ start_data.v8CacheOptions = blink::WebSettings::V8CacheOptionsNone; |
+ break; |
+ case V8_CACHE_OPTIONS_PARSE: |
+ start_data.v8CacheOptions = blink::WebSettings::V8CacheOptionsParseMemory; |
+ break; |
+ case V8_CACHE_OPTIONS_CODE: |
+ start_data.v8CacheOptions = blink::WebSettings::V8CacheOptionsHeuristics; |
+ break; |
+ } |
+#endif // CLEANUP_V8_CACHE_OPTIONS_GUARD |
wrapper->worker()->startWorkerContext(start_data); |
workers_.AddWithID(wrapper.release(), params.embedded_worker_id); |