Index: Source/modules/serviceworkers/GlobalFetch.cpp |
diff --git a/Source/modules/serviceworkers/GlobalFetch.cpp b/Source/modules/serviceworkers/GlobalFetch.cpp |
deleted file mode 100644 |
index 0dffe639454c4797bb118eb7df73b8e3151e72ff..0000000000000000000000000000000000000000 |
--- a/Source/modules/serviceworkers/GlobalFetch.cpp |
+++ /dev/null |
@@ -1,96 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "config.h" |
-#include "modules/serviceworkers/GlobalFetch.h" |
- |
-#include "core/dom/ActiveDOMObject.h" |
-#include "core/frame/LocalDOMWindow.h" |
-#include "core/workers/WorkerGlobalScope.h" |
-#include "modules/serviceworkers/FetchManager.h" |
-#include "modules/serviceworkers/Request.h" |
-#include "platform/Supplementable.h" |
-#include "platform/heap/Handle.h" |
-#include "wtf/OwnPtr.h" |
- |
-namespace blink { |
- |
-namespace { |
- |
-template <typename T> |
-class GlobalFetchImpl final : public NoBaseWillBeGarbageCollectedFinalized<GlobalFetchImpl<T>>, public WillBeHeapSupplement<T> { |
- WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(GlobalFetchImpl); |
-public: |
- static GlobalFetchImpl& from(T& supplementable, ExecutionContext* executionContext) |
- { |
- GlobalFetchImpl* supplement = static_cast<GlobalFetchImpl*>(WillBeHeapSupplement<T>::from(supplementable, name())); |
- if (!supplement) { |
- supplement = new GlobalFetchImpl(executionContext); |
- WillBeHeapSupplement<T>::provideTo(supplementable, name(), adoptPtrWillBeNoop(supplement)); |
- } |
- return *supplement; |
- } |
- |
- ScriptPromise fetch(ScriptState* scriptState, const RequestInfo& input, const Dictionary& init, ExceptionState& exceptionState) |
- { |
- if (m_fetchManager.isStopped()) { |
- exceptionState.throwTypeError("The global scope is shutting down."); |
- return ScriptPromise(); |
- } |
- |
- // "Let |r| be the associated request of the result of invoking the |
- // initial value of Request as constructor with |input| and |init| as |
- // arguments. If this throws an exception, reject |p| with it." |
- Request* r = Request::create(m_stopDetector.executionContext(), input, init, exceptionState); |
- if (exceptionState.hadException()) |
- return ScriptPromise(); |
- return m_fetchManager.fetch(scriptState, r->request()); |
- } |
- |
- void trace(Visitor* visitor) override |
- { |
- WillBeHeapSupplement<T>::trace(visitor); |
- } |
- |
-private: |
- class StopDetector : public ActiveDOMObject { |
- public: |
- StopDetector(ExecutionContext* executionContext, FetchManager* fetchManager) |
- : ActiveDOMObject(executionContext) |
- , m_fetchManager(fetchManager) |
- { |
- suspendIfNeeded(); |
- } |
- void stop() override { m_fetchManager->stop(); } |
- |
- private: |
- // Having a raw pointer is safe, because |m_fetchManager| is owned by |
- // the owner of this object. |
- FetchManager* m_fetchManager; |
- }; |
- |
- explicit GlobalFetchImpl(ExecutionContext* executionContext) |
- : m_fetchManager(executionContext) |
- , m_stopDetector(executionContext, &m_fetchManager) |
- { |
- } |
- static const char* name() { return "GlobalFetch"; } |
- |
- FetchManager m_fetchManager; |
- StopDetector m_stopDetector; |
-}; |
- |
-} // namespace |
- |
-ScriptPromise GlobalFetch::fetch(ScriptState* scriptState, DOMWindow& window, const RequestInfo& input, const Dictionary& init, ExceptionState& exceptionState) |
-{ |
- return GlobalFetchImpl<LocalDOMWindow>::from(toLocalDOMWindow(window), window.executionContext()).fetch(scriptState, input, init, exceptionState); |
-} |
- |
-ScriptPromise GlobalFetch::fetch(ScriptState* scriptState, WorkerGlobalScope& worker, const RequestInfo& input, const Dictionary& init, ExceptionState& exceptionState) |
-{ |
- return GlobalFetchImpl<WorkerGlobalScope>::from(worker, worker.executionContext()).fetch(scriptState, input, init, exceptionState); |
-} |
- |
-} // namespace blink |