1 // Copyright 2013 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 #ifndef CHROME_BROWSER_EXTENSIONS_CHROME_NOTIFICATION_OBSERVER_H_ 6 #define CHROME_BROWSER_EXTENSIONS_CHROME_NOTIFICATION_OBSERVER_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "content/public/browser/notification_observer.h" 11 #include "content/public/browser/notification_registrar.h" 12 13 class Browser; 14 15 namespace content { 16 class RenderProcessHost; 17 } 18 19 namespace extensions { 20 21 // Observer for Chrome-specific notifications that need to be relayed to the 22 // extensions module. 23 class ChromeNotificationObserver : public content::NotificationObserver { 24 public: 25 ChromeNotificationObserver(); 26 virtual ~ChromeNotificationObserver(); 27 28 // IPC message handlers: 29 void OnBrowserWindowReady(Browser* browser); 30 void OnRendererProcessCreated(content::RenderProcessHost* process); 31 32 // content::NotificationObserver overrides: 33 virtual void Observe(int type, 34 const content::NotificationSource& source, 35 const content::NotificationDetails& details) OVERRIDE; 36 37 private: 38 content::NotificationRegistrar registrar_; 39 40 DISALLOW_COPY_AND_ASSIGN(ChromeNotificationObserver); 41 }; 42 43 } // namespace extensions 44 45 #endif // CHROME_BROWSER_EXTENSIONS_CHROME_NOTIFICATION_OBSERVER_H_ 46