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

Unified Diff: third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h

Issue 2337003002: Worker: Notify WorkerThread lifecycle events via WorkerReportingProxy (Closed)
Patch Set: fix tests Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h
diff --git a/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h b/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h
index b22cbb9e1c811ec68ec3df40b39c02920899ae12..a70a88a4bc097aede5fd3a0339e163202590ccc9 100644
--- a/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h
+++ b/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h
@@ -61,11 +61,27 @@ public:
}
MOCK_METHOD4(reportConsoleMessage, void(MessageSource, MessageLevel, const String& message, SourceLocation*));
MOCK_METHOD1(postMessageToPageInspector, void(const String&));
+
+ MOCK_METHOD2(didLoadWorkerScriptMock, void(size_t scriptSize, size_t cachedMetadataSize));
+ void didLoadWorkerScript(size_t scriptSize, size_t cachedMetadataSize) override
+ {
+ m_scriptLoadedEvent.signal();
+ didLoadWorkerScriptMock(scriptSize, cachedMetadataSize);
+ }
+
MOCK_METHOD1(didEvaluateWorkerScript, void(bool success));
MOCK_METHOD1(workerGlobalScopeStarted, void(WorkerOrWorkletGlobalScope*));
MOCK_METHOD0(workerGlobalScopeClosed, void());
MOCK_METHOD0(workerThreadTerminated, void());
MOCK_METHOD0(willDestroyWorkerGlobalScope, void());
+
+ void waitUntilScriptLoaded()
+ {
+ m_scriptLoadedEvent.wait();
+ }
+
+private:
+ WaitableEvent m_scriptLoadedEvent;
};
class MockWorkerThreadLifecycleObserver final : public GarbageCollectedFinalized<MockWorkerThreadLifecycleObserver>, public WorkerThreadLifecycleObserver {
@@ -85,7 +101,6 @@ public:
WorkerReportingProxy& mockWorkerReportingProxy)
: WorkerThread(WorkerLoaderProxy::create(mockWorkerLoaderProxyProvider), mockWorkerReportingProxy)
, m_workerBackingThread(WorkerBackingThread::createForTest("Test thread"))
- , m_scriptLoadedEvent(wrapUnique(new WaitableEvent()))
{
}
@@ -96,16 +111,6 @@ public:
WorkerOrWorkletGlobalScope* createWorkerGlobalScope(std::unique_ptr<WorkerThreadStartupData>) override;
- void waitUntilScriptLoaded()
- {
- m_scriptLoadedEvent->wait();
- }
-
- void scriptLoaded()
- {
- m_scriptLoadedEvent->signal();
- }
-
void startWithSourceCode(SecurityOrigin* securityOrigin, const String& source)
{
std::unique_ptr<Vector<CSPHeaderAndType>> headers = wrapUnique(new Vector<CSPHeaderAndType>());
@@ -139,14 +144,12 @@ public:
private:
std::unique_ptr<WorkerBackingThread> m_workerBackingThread;
- std::unique_ptr<WaitableEvent> m_scriptLoadedEvent;
};
class FakeWorkerGlobalScope : public WorkerGlobalScope {
public:
FakeWorkerGlobalScope(const KURL& url, const String& userAgent, WorkerThreadForTest* thread, std::unique_ptr<SecurityOrigin::PrivilegeData> starterOriginPrivilegeData, WorkerClients* workerClients)
: WorkerGlobalScope(url, userAgent, thread, monotonicallyIncreasingTime(), std::move(starterOriginPrivilegeData), workerClients)
- , m_thread(thread)
{
}
@@ -154,11 +157,6 @@ public:
{
}
- void scriptLoaded(size_t, size_t) override
- {
- m_thread->scriptLoaded();
- }
-
// EventTarget
const AtomicString& interfaceName() const override
{
@@ -168,9 +166,6 @@ public:
void exceptionThrown(ErrorEvent*) override
{
}
-
-private:
- WorkerThreadForTest* m_thread;
};
inline WorkerOrWorkletGlobalScope* WorkerThreadForTest::createWorkerGlobalScope(std::unique_ptr<WorkerThreadStartupData> startupData)

Powered by Google App Engine
This is Rietveld 408576698