| 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 |