| Index: Source/modules/fetch/GlobalFetch.cpp
|
| diff --git a/Source/modules/fetch/GlobalFetch.cpp b/Source/modules/fetch/GlobalFetch.cpp
|
| index e7b51aa44104a967780e760d2bdbf2ac26b9356d..3964c0b059b9c97fe05beca6f936d141c3d50178 100644
|
| --- a/Source/modules/fetch/GlobalFetch.cpp
|
| +++ b/Source/modules/fetch/GlobalFetch.cpp
|
| @@ -23,14 +23,18 @@ template <typename T>
|
| class GlobalFetchImpl final : public NoBaseWillBeGarbageCollectedFinalized<GlobalFetchImpl<T>>, public GlobalFetch::ScopedFetcher, public WillBeHeapSupplement<T> {
|
| WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(GlobalFetchImpl);
|
| public:
|
| - static WeakPtr<ScopedFetcher> from(T& supplementable, ExecutionContext* executionContext)
|
| + static WeakPtrWillBeRawPtr<ScopedFetcher> from(T& supplementable, ExecutionContext* executionContext)
|
| {
|
| - GlobalFetchImpl* supplement = static_cast<GlobalFetchImpl*>(WillBeHeapSupplement<T>::from(supplementable, name()));
|
| + GlobalFetchImpl* supplement = static_cast<GlobalFetchImpl*>(WillBeHeapSupplement<T>::from(supplementable, supplementName()));
|
| if (!supplement) {
|
| supplement = new GlobalFetchImpl(executionContext);
|
| - WillBeHeapSupplement<T>::provideTo(supplementable, name(), adoptPtrWillBeNoop(supplement));
|
| + WillBeHeapSupplement<T>::provideTo(supplementable, supplementName(), adoptPtrWillBeNoop(supplement));
|
| }
|
| +#if ENABLE(OILPAN)
|
| + return supplement;
|
| +#else
|
| return supplement->m_weakFactory.createWeakPtr();
|
| +#endif
|
| }
|
|
|
| ScriptPromise fetch(ScriptState* scriptState, const RequestInfo& input, const Dictionary& init, ExceptionState& exceptionState) override
|
| @@ -90,14 +94,18 @@ private:
|
| explicit GlobalFetchImpl(ExecutionContext* executionContext)
|
| : m_fetchManager(FetchManager::create(executionContext))
|
| , m_stopDetector(StopDetector::create(executionContext, m_fetchManager.get()))
|
| +#if !ENABLE(OILPAN)
|
| , m_weakFactory(this)
|
| +#endif
|
| {
|
| }
|
| - static const char* name() { return "GlobalFetch"; }
|
| + static const char* supplementName() { return "GlobalFetch"; }
|
|
|
| OwnPtrWillBeMember<FetchManager> m_fetchManager;
|
| OwnPtrWillBeMember<StopDetector> m_stopDetector;
|
| +#if !ENABLE(OILPAN)
|
| WeakPtrFactory<ScopedFetcher> m_weakFactory;
|
| +#endif
|
| };
|
|
|
| } // namespace
|
| @@ -106,12 +114,12 @@ GlobalFetch::ScopedFetcher::~ScopedFetcher()
|
| {
|
| }
|
|
|
| -WeakPtr<GlobalFetch::ScopedFetcher> GlobalFetch::ScopedFetcher::from(DOMWindow& window)
|
| +WeakPtrWillBeRawPtr<GlobalFetch::ScopedFetcher> GlobalFetch::ScopedFetcher::from(DOMWindow& window)
|
| {
|
| return GlobalFetchImpl<LocalDOMWindow>::from(toLocalDOMWindow(window), window.executionContext());
|
| }
|
|
|
| -WeakPtr<GlobalFetch::ScopedFetcher> GlobalFetch::ScopedFetcher::from(WorkerGlobalScope& worker)
|
| +WeakPtrWillBeRawPtr<GlobalFetch::ScopedFetcher> GlobalFetch::ScopedFetcher::from(WorkerGlobalScope& worker)
|
| {
|
| return GlobalFetchImpl<WorkerGlobalScope>::from(worker, worker.executionContext());
|
| }
|
|
|