summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_process_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/browser_process_impl.h')
-rw-r--r--chrome/browser/browser_process_impl.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
index cc9d60c..c763d31 100644
--- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h
@@ -22,6 +22,8 @@
#include "chrome/browser/download/download_status_updater.h"
#include "chrome/browser/prefs/pref_change_registrar.h"
#include "chrome/browser/tab_contents/thumbnail_generator.h"
+#include "chrome/common/notification_observer.h"
+#include "chrome/common/notification_registrar.h"
#include "ipc/ipc_message.h"
class ChromeNetLog;
@@ -29,16 +31,20 @@ class CommandLine;
class DebuggerWrapper;
class FilePath;
class NotificationService;
+class PluginDataRemover;
class TabCloseableStateWatcher;
// Real implementation of BrowserProcess that creates and returns the services.
-class BrowserProcessImpl : public BrowserProcess, public NonThreadSafe {
+class BrowserProcessImpl : public BrowserProcess,
+ public NonThreadSafe,
+ public NotificationObserver {
public:
explicit BrowserProcessImpl(const CommandLine& command_line);
virtual ~BrowserProcessImpl();
virtual void EndSession();
+ // BrowserProcess methods
virtual ResourceDispatcherHost* resource_dispatcher_host();
virtual MetricsService* metrics_service();
virtual IOThread* io_thread();
@@ -75,6 +81,11 @@ class BrowserProcessImpl : public BrowserProcess, public NonThreadSafe {
safe_browsing_detection_service();
virtual void CheckForInspectorFiles();
+ // NotificationObserver methods
+ virtual void Observe(NotificationType type,
+ const NotificationSource& source,
+ const NotificationDetails& details);
+
#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
virtual void StartAutoupdateTimer();
#endif
@@ -96,6 +107,8 @@ class BrowserProcessImpl : public BrowserProcess, public NonThreadSafe {
void CreateIOThread();
static void CleanupOnIOThread();
+ void WaitForPluginDataRemoverToFinish();
+
void CreateFileThread();
void CreateDBThread();
void CreateProcessLauncherThread();
@@ -224,6 +237,9 @@ class BrowserProcessImpl : public BrowserProcess, public NonThreadSafe {
// Lives here so can safely log events on shutdown.
scoped_ptr<ChromeNetLog> net_log_;
+ NotificationRegistrar notification_registrar_;
+ scoped_refptr<PluginDataRemover> plugin_data_remover_;
+
#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
base::RepeatingTimer<BrowserProcessImpl> autoupdate_timer_;