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

Unified Diff: Source/core/workers/WorkerThread.h

Issue 1100413004: workers: Move ownership of WebThread from WorkerThread (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: . Created 5 years, 8 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: Source/core/workers/WorkerThread.h
diff --git a/Source/core/workers/WorkerThread.h b/Source/core/workers/WorkerThread.h
index d9bd49b952000d06cc50138b92223b7815c46e40..41f10d99fbf559c244e9e33ee1039fca6e795f8d 100644
--- a/Source/core/workers/WorkerThread.h
+++ b/Source/core/workers/WorkerThread.h
@@ -64,7 +64,7 @@ public:
virtual void start();
virtual void stop();
- virtual PassOwnPtr<WebThreadSupportingGC> createWebThreadSupportingGC();
+ virtual WebThreadSupportingGC* webThreadSupportingGC() = 0;
kinuko 2015/04/30 02:30:07 Can you give a brief explanation? It'd be nice to
sadrul 2015/04/30 05:27:40 Done.
virtual void didStartRunLoop();
virtual void didStopRunLoop();
@@ -110,7 +110,7 @@ public:
void setWorkerInspectorController(WorkerInspectorController*);
protected:
- WorkerThread(const char* threadName, PassRefPtr<WorkerLoaderProxy>, WorkerReportingProxy&, PassOwnPtr<WorkerThreadStartupData>);
+ WorkerThread(PassRefPtr<WorkerLoaderProxy>, WorkerReportingProxy&, PassOwnPtr<WorkerThreadStartupData>);
// Factory method for creating a new worker context for the thread.
virtual PassRefPtrWillBeRawPtr<WorkerGlobalScope> createWorkerGlobalScope(PassOwnPtr<WorkerThreadStartupData>) = 0;
@@ -135,7 +135,6 @@ private:
void postDelayedTask(PassOwnPtr<ExecutionContextTask>, long long delayMs);
void postDelayedTask(const WebTraceLocation&, PassOwnPtr<ExecutionContextTask>, long long delayMs);
- const char* m_threadName;
bool m_terminated;
MessageQueue<WorkerThreadTask> m_debuggerMessageQueue;
OwnPtr<WebThread::TaskObserver> m_microtaskRunner;
@@ -159,12 +158,7 @@ private:
// Used to signal thread termination.
OwnPtr<WebWaitableEvent> m_terminationEvent;
- // FIXME: This has to be last because of crbug.com/401397 - the
- // WorkerThread might get deleted before it had a chance to properly
- // shut down. By deleting the WebThread first, we can guarantee that
- // no pending tasks on the thread might want to access any of the other
- // members during the WorkerThread's destruction.
- OwnPtr<WebThreadSupportingGC> m_thread;
+ WebThreadSupportingGC* m_thread;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698