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

Side by Side Diff: third_party/WebKit/Source/modules/fetch/GlobalFetch.cpp

Issue 2780693003: [wasm] response-based compile APIs (Closed)
Patch Set: . 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/fetch/GlobalFetch.h" 5 #include "modules/fetch/GlobalFetch.h"
6 6
7 #include "core/frame/LocalDOMWindow.h" 7 #include "core/frame/LocalDOMWindow.h"
8 #include "core/frame/UseCounter.h" 8 #include "core/frame/UseCounter.h"
9 #include "core/inspector/InspectorInstrumentation.h" 9 #include "core/inspector/InspectorInstrumentation.h"
10 #include "core/workers/WorkerGlobalScope.h" 10 #include "core/workers/WorkerGlobalScope.h"
11 #include "modules/fetch/FetchManager.h" 11 #include "modules/fetch/FetchManager.h"
12 #include "modules/fetch/Request.h" 12 #include "modules/fetch/Request.h"
13 #include "modules/fetch/Response.h"
13 #include "platform/Supplementable.h" 14 #include "platform/Supplementable.h"
14 #include "platform/heap/Handle.h" 15 #include "platform/heap/Handle.h"
15 16
16 namespace blink { 17 namespace blink {
17 18
18 namespace { 19 namespace {
19 20
20 template <typename T> 21 template <typename T>
21 class GlobalFetchImpl final 22 class GlobalFetchImpl final
22 : public GarbageCollectedFinalized<GlobalFetchImpl<T>>, 23 : public GarbageCollectedFinalized<GlobalFetchImpl<T>>,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 worker.getExecutionContext()); 90 worker.getExecutionContext());
90 } 91 }
91 92
92 DEFINE_TRACE(GlobalFetch::ScopedFetcher) {} 93 DEFINE_TRACE(GlobalFetch::ScopedFetcher) {}
93 94
94 ScriptPromise GlobalFetch::fetch(ScriptState* scriptState, 95 ScriptPromise GlobalFetch::fetch(ScriptState* scriptState,
95 LocalDOMWindow& window, 96 LocalDOMWindow& window,
96 const RequestInfo& input, 97 const RequestInfo& input,
97 const Dictionary& init, 98 const Dictionary& init,
98 ExceptionState& exceptionState) { 99 ExceptionState& exceptionState) {
100 scriptState->isolate()->SetWasmCompileCallback(
Mircea Trofin 2017/03/28 02:05:57 This is the problem: we need to set this callback
101 WasmResponseOverloads::CompileOverload);
99 UseCounter::count(window.getExecutionContext(), UseCounter::Fetch); 102 UseCounter::count(window.getExecutionContext(), UseCounter::Fetch);
100 if (!window.frame()) { 103 if (!window.frame()) {
101 exceptionState.throwTypeError("The global scope is shutting down."); 104 exceptionState.throwTypeError("The global scope is shutting down.");
102 return ScriptPromise(); 105 return ScriptPromise();
103 } 106 }
104 return ScopedFetcher::from(window)->fetch(scriptState, input, init, 107 return ScopedFetcher::from(window)->fetch(scriptState, input, init,
105 exceptionState); 108 exceptionState);
106 } 109 }
107 110
108 ScriptPromise GlobalFetch::fetch(ScriptState* scriptState, 111 ScriptPromise GlobalFetch::fetch(ScriptState* scriptState,
109 WorkerGlobalScope& worker, 112 WorkerGlobalScope& worker,
110 const RequestInfo& input, 113 const RequestInfo& input,
111 const Dictionary& init, 114 const Dictionary& init,
112 ExceptionState& exceptionState) { 115 ExceptionState& exceptionState) {
113 // Note that UseCounter doesn't work with SharedWorker or ServiceWorker. 116 // Note that UseCounter doesn't work with SharedWorker or ServiceWorker.
114 UseCounter::count(worker.getExecutionContext(), UseCounter::Fetch); 117 UseCounter::count(worker.getExecutionContext(), UseCounter::Fetch);
115 return ScopedFetcher::from(worker)->fetch(scriptState, input, init, 118 return ScopedFetcher::from(worker)->fetch(scriptState, input, init,
116 exceptionState); 119 exceptionState);
117 } 120 }
118 121
119 } // namespace blink 122 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698