• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "build/build_config.h"
6 #include "chrome/browser/browser_process_sub_thread.h"
7 #include "content/common/notification_service.h"
8 
9 #if defined(OS_WIN)
10 #include <Objbase.h>
11 #endif
12 
BrowserProcessSubThread(BrowserThread::ID identifier)13 BrowserProcessSubThread::BrowserProcessSubThread(BrowserThread::ID identifier)
14       : BrowserThread(identifier) {}
15 
~BrowserProcessSubThread()16 BrowserProcessSubThread::~BrowserProcessSubThread() {
17   // We cannot rely on our base class to stop the thread since we want our
18   // CleanUp function to run.
19   Stop();
20 }
21 
Init()22 void BrowserProcessSubThread::Init() {
23 #if defined(OS_WIN)
24   // Initializes the COM library on the current thread.
25   CoInitialize(NULL);
26 #endif
27 
28   notification_service_ = new NotificationService;
29 }
30 
CleanUp()31 void BrowserProcessSubThread::CleanUp() {
32   delete notification_service_;
33   notification_service_ = NULL;
34 
35 #if defined(OS_WIN)
36   // Closes the COM library on the current thread. CoInitialize must
37   // be balanced by a corresponding call to CoUninitialize.
38   CoUninitialize();
39 #endif
40 }
41