| Index: chrome/worker/worker_thread.cc
|
| ===================================================================
|
| --- chrome/worker/worker_thread.cc (revision 21215)
|
| +++ chrome/worker/worker_thread.cc (working copy)
|
| @@ -15,22 +15,37 @@
|
| base::LINKER_INITIALIZED);
|
|
|
|
|
| -WorkerThread::WorkerThread() {
|
| +WorkerThread::WorkerThread()
|
| + : ChildThread(base::Thread::Options(MessageLoop::TYPE_DEFAULT,
|
| + kV8StackSize)) {
|
| +}
|
| +
|
| +WorkerThread::~WorkerThread() {
|
| +}
|
| +
|
| +WorkerThread* WorkerThread::current() {
|
| + return lazy_tls.Pointer()->Get();
|
| +}
|
| +
|
| +void WorkerThread::Init() {
|
| lazy_tls.Pointer()->Set(this);
|
| + ChildThread::Init();
|
| webkit_client_.reset(new WorkerWebKitClientImpl);
|
| WebKit::initialize(webkit_client_.get());
|
| }
|
|
|
| -WorkerThread::~WorkerThread() {
|
| +void WorkerThread::CleanUp() {
|
| // Shutdown in reverse of the initialization order.
|
| - WebKit::shutdown();
|
| +
|
| + if (webkit_client_.get()) {
|
| + WebKit::shutdown();
|
| + webkit_client_.reset();
|
| + }
|
| +
|
| + ChildThread::CleanUp();
|
| lazy_tls.Pointer()->Set(NULL);
|
| }
|
|
|
| -WorkerThread* WorkerThread::current() {
|
| - return lazy_tls.Pointer()->Get();
|
| -}
|
| -
|
| void WorkerThread::OnControlMessageReceived(const IPC::Message& msg) {
|
| IPC_BEGIN_MESSAGE_MAP(WorkerThread, msg)
|
| IPC_MESSAGE_HANDLER(WorkerProcessMsg_CreateWorker, OnCreateWorker)
|
|
|