OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |