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

Side by Side Diff: third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h

Issue 2718643002: Worker: Pass ParentFrameTaskRunners via WorkerThread::start() instead of the ctor (Closed)
Patch Set: Created 3 years, 10 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "bindings/core/v8/SourceLocation.h" 5 #include "bindings/core/v8/SourceLocation.h"
6 #include "bindings/core/v8/V8CacheOptions.h" 6 #include "bindings/core/v8/V8CacheOptions.h"
7 #include "bindings/core/v8/V8GCController.h" 7 #include "bindings/core/v8/V8GCController.h"
8 #include "core/dom/ExecutionContextTask.h" 8 #include "core/dom/ExecutionContextTask.h"
9 #include "core/frame/csp/ContentSecurityPolicy.h" 9 #include "core/frame/csp/ContentSecurityPolicy.h"
10 #include "core/inspector/ConsoleMessage.h" 10 #include "core/inspector/ConsoleMessage.h"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 explicit MockWorkerThreadLifecycleObserver( 112 explicit MockWorkerThreadLifecycleObserver(
113 WorkerThreadLifecycleContext* context) 113 WorkerThreadLifecycleContext* context)
114 : WorkerThreadLifecycleObserver(context) {} 114 : WorkerThreadLifecycleObserver(context) {}
115 115
116 MOCK_METHOD1(contextDestroyed, void(WorkerThreadLifecycleContext*)); 116 MOCK_METHOD1(contextDestroyed, void(WorkerThreadLifecycleContext*));
117 }; 117 };
118 118
119 class WorkerThreadForTest : public WorkerThread { 119 class WorkerThreadForTest : public WorkerThread {
120 public: 120 public:
121 WorkerThreadForTest(WorkerLoaderProxyProvider* mockWorkerLoaderProxyProvider, 121 WorkerThreadForTest(WorkerLoaderProxyProvider* mockWorkerLoaderProxyProvider,
122 WorkerReportingProxy& mockWorkerReportingProxy, 122 WorkerReportingProxy& mockWorkerReportingProxy)
123 ParentFrameTaskRunners* parentFrameTaskRunners)
124 : WorkerThread(WorkerLoaderProxy::create(mockWorkerLoaderProxyProvider), 123 : WorkerThread(WorkerLoaderProxy::create(mockWorkerLoaderProxyProvider),
125 mockWorkerReportingProxy, 124 mockWorkerReportingProxy),
126 parentFrameTaskRunners),
127 m_workerBackingThread( 125 m_workerBackingThread(
128 WorkerBackingThread::createForTest("Test thread")) {} 126 WorkerBackingThread::createForTest("Test thread")) {}
129 127
130 ~WorkerThreadForTest() override {} 128 ~WorkerThreadForTest() override {}
131 129
132 WorkerBackingThread& workerBackingThread() override { 130 WorkerBackingThread& workerBackingThread() override {
133 return *m_workerBackingThread; 131 return *m_workerBackingThread;
134 } 132 }
135 void clearWorkerBackingThread() override { m_workerBackingThread = nullptr; } 133 void clearWorkerBackingThread() override { m_workerBackingThread = nullptr; }
136 134
137 WorkerOrWorkletGlobalScope* createWorkerGlobalScope( 135 WorkerOrWorkletGlobalScope* createWorkerGlobalScope(
138 std::unique_ptr<WorkerThreadStartupData>) override; 136 std::unique_ptr<WorkerThreadStartupData>) override;
139 137
140 void startWithSourceCode(SecurityOrigin* securityOrigin, 138 void startWithSourceCode(SecurityOrigin* securityOrigin,
141 const String& source) { 139 const String& source,
140 ParentFrameTaskRunners* parentFrameTaskRunners) {
142 std::unique_ptr<Vector<CSPHeaderAndType>> headers = 141 std::unique_ptr<Vector<CSPHeaderAndType>> headers =
143 WTF::makeUnique<Vector<CSPHeaderAndType>>(); 142 WTF::makeUnique<Vector<CSPHeaderAndType>>();
144 CSPHeaderAndType headerAndType("contentSecurityPolicy", 143 CSPHeaderAndType headerAndType("contentSecurityPolicy",
145 ContentSecurityPolicyHeaderTypeReport); 144 ContentSecurityPolicyHeaderTypeReport);
146 headers->push_back(headerAndType); 145 headers->push_back(headerAndType);
147 146
148 WorkerClients* clients = nullptr; 147 WorkerClients* clients = nullptr;
149 148
150 start(WorkerThreadStartupData::create( 149 start(WorkerThreadStartupData::create(
151 KURL(ParsedURLString, "http://fake.url/"), "fake user agent", source, 150 KURL(ParsedURLString, "http://fake.url/"), "fake user agent",
152 nullptr, DontPauseWorkerGlobalScopeOnStart, headers.get(), "", 151 source, nullptr, DontPauseWorkerGlobalScopeOnStart, headers.get(),
153 securityOrigin, clients, WebAddressSpaceLocal, nullptr, nullptr, 152 "", securityOrigin, clients, WebAddressSpaceLocal, nullptr,
154 WorkerV8Settings::Default())); 153 nullptr, WorkerV8Settings::Default()),
154 parentFrameTaskRunners);
155 } 155 }
156 156
157 void waitForInit() { 157 void waitForInit() {
158 std::unique_ptr<WaitableEvent> completionEvent = 158 std::unique_ptr<WaitableEvent> completionEvent =
159 WTF::makeUnique<WaitableEvent>(); 159 WTF::makeUnique<WaitableEvent>();
160 workerBackingThread().backingThread().postTask( 160 workerBackingThread().backingThread().postTask(
161 BLINK_FROM_HERE, 161 BLINK_FROM_HERE,
162 crossThreadBind(&WaitableEvent::signal, 162 crossThreadBind(&WaitableEvent::signal,
163 crossThreadUnretained(completionEvent.get()))); 163 crossThreadUnretained(completionEvent.get())));
164 completionEvent->wait(); 164 completionEvent->wait();
(...skipping 30 matching lines...) Expand all
195 195
196 inline WorkerOrWorkletGlobalScope* WorkerThreadForTest::createWorkerGlobalScope( 196 inline WorkerOrWorkletGlobalScope* WorkerThreadForTest::createWorkerGlobalScope(
197 std::unique_ptr<WorkerThreadStartupData> startupData) { 197 std::unique_ptr<WorkerThreadStartupData> startupData) {
198 return new FakeWorkerGlobalScope( 198 return new FakeWorkerGlobalScope(
199 startupData->m_scriptURL, startupData->m_userAgent, this, 199 startupData->m_scriptURL, startupData->m_userAgent, this,
200 std::move(startupData->m_starterOriginPrivilegeData), 200 std::move(startupData->m_starterOriginPrivilegeData),
201 std::move(startupData->m_workerClients)); 201 std::move(startupData->m_workerClients));
202 } 202 }
203 203
204 } // namespace blink 204 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698