Move NotificationObserver, NotificationSource, and NotificationDetails to content/public/browser.

This patch got way bigger than I wanted, but once I moved NotificationDetails, I figured I might as well mvoe the others since they're in the same files. In hindsight, I should have converted a subset of files at a time by leaving a using statement in the header.

BUG=98716
TBR=joi

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106196 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/app_notification_manager.cc b/chrome/browser/extensions/app_notification_manager.cc
index 01a2bbc..84d5658 100644
--- a/chrome/browser/extensions/app_notification_manager.cc
+++ b/chrome/browser/extensions/app_notification_manager.cc
@@ -17,7 +17,7 @@
     : profile_(profile) {
   registrar_.Add(this,
                  chrome::NOTIFICATION_EXTENSION_UNINSTALLED,
-                 Source<Profile>(profile_));
+                 content::Source<Profile>(profile_));
 }
 
 namespace {
@@ -97,11 +97,12 @@
           &AppNotificationManager::DeleteOnFileThread, this, extension_id));
 }
 
-void AppNotificationManager::Observe(int type,
-                                     const NotificationSource& source,
-                                     const NotificationDetails& details) {
+void AppNotificationManager::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   CHECK(type == chrome::NOTIFICATION_EXTENSION_UNINSTALLED);
-  ClearAll(*Details<const std::string>(details).ptr());
+  ClearAll(*content::Details<const std::string>(details).ptr());
 }
 
 void AppNotificationManager::LoadOnFileThread(const FilePath& storage_path) {
@@ -140,8 +141,8 @@
                               list.end());
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_APP_NOTIFICATION_STATE_CHANGED,
-        Source<Profile>(profile_),
-        Details<const std::string>(&id));
+        content::Source<Profile>(profile_),
+        content::Details<const std::string>(&id));
   }
 }
 
diff --git a/chrome/browser/extensions/app_notification_manager.h b/chrome/browser/extensions/app_notification_manager.h
index 8148a08..3136f56 100644
--- a/chrome/browser/extensions/app_notification_manager.h
+++ b/chrome/browser/extensions/app_notification_manager.h
@@ -13,15 +13,15 @@
 #include "base/memory/scoped_ptr.h"
 #include "chrome/browser/extensions/app_notification.h"
 #include "chrome/browser/extensions/app_notification_storage.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class Profile;
 
 // This class keeps track of notifications for installed apps.
 class AppNotificationManager
     : public base::RefCountedThreadSafe<AppNotificationManager>,
-      public NotificationObserver {
+      public content::NotificationObserver {
  public:
   explicit AppNotificationManager(Profile* profile);
 
@@ -40,10 +40,10 @@
   // Clears all notifications for |extension_id|.
   void ClearAll(const std::string& extension_id);
 
-  // Implementing NotificationObserver interface.
+  // Implementing content::NotificationObserver interface.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
  private:
   friend class base::RefCountedThreadSafe<AppNotificationManager>;
@@ -65,7 +65,7 @@
   void DeleteOnFileThread(const std::string& extension_id);
 
   Profile* profile_;
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   NotificationMap notifications_;
 
   // This should only be used on the FILE thread.
diff --git a/chrome/browser/extensions/app_notification_manager_unittest.cc b/chrome/browser/extensions/app_notification_manager_unittest.cc
index 37aa6c6..ab908e60 100644
--- a/chrome/browser/extensions/app_notification_manager_unittest.cc
+++ b/chrome/browser/extensions/app_notification_manager_unittest.cc
@@ -10,8 +10,8 @@
 #include "chrome/common/chrome_notification_types.h"
 #include "chrome/test/base/testing_profile.h"
 #include "content/common/notification_service.h"
-#include "content/common/notification_source.h"
-#include "content/common/notification_details.h"
+#include "content/public/browser/notification_details.h"
+#include "content/public/browser/notification_source.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace util = app_notification_test_util;
@@ -111,8 +111,8 @@
   // Send the uninstall notification for extension id1.
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_UNINSTALLED,
-      Source<Profile>(profile_.get()),
-      Details<const std::string>(&id1));
+      content::Source<Profile>(profile_.get()),
+      content::Details<const std::string>(&id1));
 
   // The id1 items should be gone but the id2 items should still be there.
   EXPECT_EQ(NULL, mgr_->GetLast(id1));
diff --git a/chrome/browser/extensions/app_process_apitest.cc b/chrome/browser/extensions/app_process_apitest.cc
index 33f8fcc9..e7bfbb7 100644
--- a/chrome/browser/extensions/app_process_apitest.cc
+++ b/chrome/browser/extensions/app_process_apitest.cc
@@ -305,7 +305,7 @@
   EnableExtension(app->id());
   ui_test_utils::WindowedNotificationObserver reload_observer(
       content::NOTIFICATION_LOAD_STOP,
-      Source<NavigationController>(
+      content::Source<NavigationController>(
           &browser()->GetSelectedTabContentsWrapper()->controller()));
   browser()->Reload(CURRENT_TAB);
   reload_observer.Wait();
@@ -316,7 +316,7 @@
   DisableExtension(app->id());
   ui_test_utils::WindowedNotificationObserver reload_observer2(
       content::NOTIFICATION_LOAD_STOP,
-      Source<NavigationController>(
+      content::Source<NavigationController>(
           &browser()->GetSelectedTabContentsWrapper()->controller()));
   browser()->Reload(CURRENT_TAB);
   reload_observer2.Wait();
@@ -327,7 +327,7 @@
   EnableExtension(app->id());
   ui_test_utils::WindowedNotificationObserver js_reload_observer(
       content::NOTIFICATION_LOAD_STOP,
-      Source<NavigationController>(
+      content::Source<NavigationController>(
           &browser()->GetSelectedTabContentsWrapper()->controller()));
   ASSERT_TRUE(ui_test_utils::ExecuteJavaScript(contents->render_view_host(),
                                                L"", L"location.reload();"));
@@ -339,7 +339,7 @@
   DisableExtension(app->id());
   ui_test_utils::WindowedNotificationObserver js_reload_observer2(
       content::NOTIFICATION_LOAD_STOP,
-      Source<NavigationController>(
+      content::Source<NavigationController>(
           &browser()->GetSelectedTabContentsWrapper()->controller()));
   ASSERT_TRUE(ui_test_utils::ExecuteJavaScript(contents->render_view_host(),
                                                L"", L"location.reload();"));
@@ -489,7 +489,7 @@
   ui_test_utils::CrashTab(browser()->GetSelectedTabContents());
   ui_test_utils::WindowedNotificationObserver observer(
       content::NOTIFICATION_LOAD_STOP,
-      Source<NavigationController>(
+      content::Source<NavigationController>(
           &browser()->GetSelectedTabContentsWrapper()->controller()));
   browser()->Reload(CURRENT_TAB);
   observer.Wait();
diff --git a/chrome/browser/extensions/apps_promo.cc b/chrome/browser/extensions/apps_promo.cc
index 5f8f734..dd226da 100644
--- a/chrome/browser/extensions/apps_promo.cc
+++ b/chrome/browser/extensions/apps_promo.cc
@@ -390,7 +390,7 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_WEB_STORE_PROMO_LOADED,
-      Source<Profile>(profile_),
+      content::Source<Profile>(profile_),
       NotificationService::NoDetails());
 }
 
diff --git a/chrome/browser/extensions/content_script_apitest.cc b/chrome/browser/extensions/content_script_apitest.cc
index a5dda3b8..a124f9b 100644
--- a/chrome/browser/extensions/content_script_apitest.cc
+++ b/chrome/browser/extensions/content_script_apitest.cc
@@ -85,7 +85,7 @@
 
   ui_test_utils::WindowedNotificationObserver signal(
       chrome::NOTIFICATION_USER_SCRIPTS_UPDATED,
-      Source<Profile>(browser()->profile()));
+      content::Source<Profile>(browser()->profile()));
 
   // Start with a renderer already open at a URL.
   GURL url(test_server()->GetURL("file/extensions/test_file.html"));
diff --git a/chrome/browser/extensions/convert_web_app_browsertest.cc b/chrome/browser/extensions/convert_web_app_browsertest.cc
index c426ed8..440a454 100644
--- a/chrome/browser/extensions/convert_web_app_browsertest.cc
+++ b/chrome/browser/extensions/convert_web_app_browsertest.cc
@@ -12,12 +12,12 @@
 #include "chrome/common/extensions/extension.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
-#include "content/common/notification_details.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_details.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class ExtensionFromWebAppTest
-    : public InProcessBrowserTest, public NotificationObserver {
+    : public InProcessBrowserTest, public content::NotificationObserver {
  protected:
   ExtensionFromWebAppTest() : installed_extension_(NULL) {
   }
@@ -31,12 +31,13 @@
     command_line->AppendSwitch(switches::kEnableCrxlessWebApps);
   }
 
-  // NotificationObserver
+  // content::NotificationObserver
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) {
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) {
     if (type == chrome::NOTIFICATION_EXTENSION_INSTALLED) {
-      const Extension* extension = Details<const Extension>(details).ptr();
+      const Extension* extension =
+          content::Details<const Extension>(details).ptr();
       if (extension->id() == expected_extension_id_) {
         installed_extension_ = extension;
         MessageLoopForUI::current()->Quit();
@@ -50,7 +51,7 @@
   browser()->profile()->GetExtensionService()->set_show_extensions_prompts(
       false);
 
-  NotificationRegistrar registrar;
+  content::NotificationRegistrar registrar;
   registrar.Add(this, chrome::NOTIFICATION_EXTENSION_INSTALLED,
                 NotificationService::AllSources());
 
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
index 18a1a87..86ea255 100644
--- a/chrome/browser/extensions/crx_installer.cc
+++ b/chrome/browser/extensions/crx_installer.cc
@@ -446,7 +446,7 @@
   // Kill the theme loading bubble.
   NotificationService* service = NotificationService::current();
   service->Notify(chrome::NOTIFICATION_NO_THEME_DETECTED,
-                  Source<CrxInstaller>(this),
+                  content::Source<CrxInstaller>(this),
                   NotificationService::NoDetails());
   Release();  // balanced in ConfirmInstall().
 
@@ -520,8 +520,8 @@
 
   NotificationService* service = NotificationService::current();
   service->Notify(chrome::NOTIFICATION_EXTENSION_INSTALL_ERROR,
-                  Source<CrxInstaller>(this),
-                  Details<const std::string>(&error));
+                  content::Source<CrxInstaller>(this),
+                  content::Details<const std::string>(&error));
 
   // This isn't really necessary, it is only used because unit tests expect to
   // see errors get reported via this interface.
@@ -596,6 +596,6 @@
   // on the extension.
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_CRX_INSTALLER_DONE,
-      Source<CrxInstaller>(this),
+      content::Source<CrxInstaller>(this),
       NotificationService::NoDetails());
 }
diff --git a/chrome/browser/extensions/extension_accessibility_api.cc b/chrome/browser/extensions/extension_accessibility_api.cc
index c5cb3ad1..08e3a59 100644
--- a/chrome/browser/extensions/extension_accessibility_api.cc
+++ b/chrome/browser/extensions/extension_accessibility_api.cc
@@ -72,32 +72,40 @@
 
 void ExtensionAccessibilityEventRouter::Observe(
     int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   switch (type) {
     case chrome::NOTIFICATION_ACCESSIBILITY_WINDOW_OPENED:
-      OnWindowOpened(Details<const AccessibilityWindowInfo>(details).ptr());
+      OnWindowOpened(
+          content::Details<const AccessibilityWindowInfo>(details).ptr());
       break;
     case chrome::NOTIFICATION_ACCESSIBILITY_WINDOW_CLOSED:
-      OnWindowClosed(Details<const AccessibilityWindowInfo>(details).ptr());
+      OnWindowClosed(
+          content::Details<const AccessibilityWindowInfo>(details).ptr());
       break;
     case chrome::NOTIFICATION_ACCESSIBILITY_CONTROL_FOCUSED:
-      OnControlFocused(Details<const AccessibilityControlInfo>(details).ptr());
+      OnControlFocused(
+          content::Details<const AccessibilityControlInfo>(details).ptr());
       break;
     case chrome::NOTIFICATION_ACCESSIBILITY_CONTROL_ACTION:
-      OnControlAction(Details<const AccessibilityControlInfo>(details).ptr());
+      OnControlAction(
+          content::Details<const AccessibilityControlInfo>(details).ptr());
       break;
     case chrome::NOTIFICATION_ACCESSIBILITY_TEXT_CHANGED:
-      OnTextChanged(Details<const AccessibilityControlInfo>(details).ptr());
+      OnTextChanged(
+          content::Details<const AccessibilityControlInfo>(details).ptr());
       break;
     case chrome::NOTIFICATION_ACCESSIBILITY_MENU_OPENED:
-      OnMenuOpened(Details<const AccessibilityMenuInfo>(details).ptr());
+      OnMenuOpened(
+          content::Details<const AccessibilityMenuInfo>(details).ptr());
       break;
     case chrome::NOTIFICATION_ACCESSIBILITY_MENU_CLOSED:
-      OnMenuClosed(Details<const AccessibilityMenuInfo>(details).ptr());
+      OnMenuClosed(
+          content::Details<const AccessibilityMenuInfo>(details).ptr());
       break;
     case chrome::NOTIFICATION_ACCESSIBILITY_VOLUME_CHANGED:
-      OnVolumeChanged(Details<const AccessibilityVolumeInfo>(details).ptr());
+      OnVolumeChanged(
+          content::Details<const AccessibilityVolumeInfo>(details).ptr());
       break;
     default:
       NOTREACHED();
diff --git a/chrome/browser/extensions/extension_accessibility_api.h b/chrome/browser/extensions/extension_accessibility_api.h
index c89a1bad..2ead75b 100644
--- a/chrome/browser/extensions/extension_accessibility_api.h
+++ b/chrome/browser/extensions/extension_accessibility_api.h
@@ -13,12 +13,12 @@
 #include "base/values.h"
 #include "chrome/browser/accessibility_events.h"
 #include "chrome/browser/extensions/extension_function.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 // Observes the profile and routes accessibility notifications as events
 // to the extension system.
-class ExtensionAccessibilityEventRouter : public NotificationObserver {
+class ExtensionAccessibilityEventRouter : public content::NotificationObserver {
  public:
   // Single instance of the event router.
   static ExtensionAccessibilityEventRouter* GetInstance();
@@ -42,10 +42,10 @@
   ExtensionAccessibilityEventRouter();
   virtual ~ExtensionAccessibilityEventRouter();
 
-  // NotificationObserver::Observe.
+  // content::NotificationObserver::Observe.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   void OnWindowOpened(const AccessibilityWindowInfo* details);
   void OnWindowClosed(const AccessibilityWindowInfo* details);
@@ -61,7 +61,7 @@
                      const std::string& json_args);
 
   // Used for tracking registrations to history service notifications.
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   DictionaryValue last_focused_control_dict_;
 
diff --git a/chrome/browser/extensions/extension_apitest.cc b/chrome/browser/extensions/extension_apitest.cc
index 59d7311..b6c0d10 100644
--- a/chrome/browser/extensions/extension_apitest.cc
+++ b/chrome/browser/extensions/extension_apitest.cc
@@ -12,7 +12,7 @@
 #include "chrome/browser/ui/browser.h"
 #include "chrome/common/chrome_notification_types.h"
 #include "chrome/test/base/ui_test_utils.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 
 namespace {
 
@@ -60,10 +60,10 @@
 }
 
 void ExtensionApiTest::ResultCatcher::Observe(
-    int type, const NotificationSource& source,
-    const NotificationDetails& details) {
+    int type, const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   if (profile_restriction_ &&
-      Source<Profile>(source).ptr() != profile_restriction_) {
+      content::Source<Profile>(source).ptr() != profile_restriction_) {
     return;
   }
 
@@ -79,7 +79,7 @@
     case chrome::NOTIFICATION_EXTENSION_TEST_FAILED:
       VLOG(1) << "Got EXTENSION_TEST_FAILED notification.";
       results_.push_back(false);
-      messages_.push_back(*(Details<std::string>(details).ptr()));
+      messages_.push_back(*(content::Details<std::string>(details).ptr()));
       if (waiting_)
         MessageLoopForUI::current()->Quit();
       break;
diff --git a/chrome/browser/extensions/extension_apitest.h b/chrome/browser/extensions/extension_apitest.h
index bc0465e..8b000de 100644
--- a/chrome/browser/extensions/extension_apitest.h
+++ b/chrome/browser/extensions/extension_apitest.h
@@ -12,7 +12,7 @@
 #include "base/compiler_specific.h"
 #include "base/values.h"
 #include "chrome/browser/extensions/extension_browsertest.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 
 class Extension;
 
@@ -36,7 +36,7 @@
   // GetNextResult() and message() if GetNextResult() return false. If there
   // are no results, this method will pump the UI message loop until one is
   // received.
-  class ResultCatcher : public NotificationObserver {
+  class ResultCatcher : public content::NotificationObserver {
    public:
     ResultCatcher();
     virtual ~ResultCatcher();
@@ -51,10 +51,10 @@
 
    private:
     virtual void Observe(int type,
-                         const NotificationSource& source,
-                         const NotificationDetails& details) OVERRIDE;
+                         const content::NotificationSource& source,
+                         const content::NotificationDetails& details) OVERRIDE;
 
-    NotificationRegistrar registrar_;
+    content::NotificationRegistrar registrar_;
 
     // A sequential list of pass/fail notifications from the test extension(s).
     std::deque<bool> results_;
diff --git a/chrome/browser/extensions/extension_app_api.cc b/chrome/browser/extensions/extension_app_api.cc
index d89526c6..dd7506c 100644
--- a/chrome/browser/extensions/extension_app_api.cc
+++ b/chrome/browser/extensions/extension_app_api.cc
@@ -72,8 +72,8 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_APP_NOTIFICATION_STATE_CHANGED,
-      Source<Profile>(profile_),
-      Details<const std::string>(&id));
+      content::Source<Profile>(profile_),
+      content::Details<const std::string>(&id));
 
   return true;
 }
@@ -94,7 +94,7 @@
   manager->ClearAll(id);
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_APP_NOTIFICATION_STATE_CHANGED,
-      Source<Profile>(profile_),
-      Details<const std::string>(&id));
+      content::Source<Profile>(profile_),
+      content::Details<const std::string>(&id));
   return true;
 }
diff --git a/chrome/browser/extensions/extension_bookmarks_module.cc b/chrome/browser/extensions/extension_bookmarks_module.cc
index 3e1d22c..21f6607 100644
--- a/chrome/browser/extensions/extension_bookmarks_module.cc
+++ b/chrome/browser/extensions/extension_bookmarks_module.cc
@@ -89,8 +89,8 @@
   if (success) {
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_EXTENSION_BOOKMARKS_API_INVOKED,
-        Source<const Extension>(GetExtension()),
-        Details<const BookmarksFunction>(this));
+        content::Source<const Extension>(GetExtension()),
+        content::Details<const BookmarksFunction>(this));
   }
   SendResponse(success);
 }
@@ -112,10 +112,10 @@
 }
 
 void BookmarksFunction::Observe(int type,
-                                const NotificationSource& source,
-                                const NotificationDetails& details) {
+                                const content::NotificationSource& source,
+                                const content::NotificationDetails& details) {
   DCHECK(type == chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED);
-  Profile* source_profile = Source<Profile>(source).ptr();
+  Profile* source_profile = content::Source<Profile>(source).ptr();
   if (!source_profile || !source_profile->IsSameProfile(profile()))
     return;
 
diff --git a/chrome/browser/extensions/extension_bookmarks_module.h b/chrome/browser/extensions/extension_bookmarks_module.h
index b925d8c..9004b31 100644
--- a/chrome/browser/extensions/extension_bookmarks_module.h
+++ b/chrome/browser/extensions/extension_bookmarks_module.h
@@ -15,8 +15,8 @@
 #include "chrome/browser/bookmarks/bookmark_model_observer.h"
 #include "chrome/browser/extensions/extension_function.h"
 #include "chrome/browser/ui/shell_dialogs.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class FilePath;
 
@@ -69,7 +69,7 @@
 };
 
 class BookmarksFunction : public AsyncExtensionFunction,
-                          public NotificationObserver {
+                          public content::NotificationObserver {
  public:
   // AsyncExtensionFunction:
   virtual void Run() OVERRIDE;
@@ -87,12 +87,12 @@
   bool EditBookmarksEnabled();
 
  private:
-  // NotificationObserver:
+  // content::NotificationObserver:
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 };
 
 class GetBookmarksFunction : public BookmarksFunction {
diff --git a/chrome/browser/extensions/extension_browser_actions_api.cc b/chrome/browser/extensions/extension_browser_actions_api.cc
index 562c479..31ae81f7 100644
--- a/chrome/browser/extensions/extension_browser_actions_api.cc
+++ b/chrome/browser/extensions/extension_browser_actions_api.cc
@@ -40,7 +40,7 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED,
-      Source<ExtensionAction>(browser_action_),
+      content::Source<ExtensionAction>(browser_action_),
       NotificationService::NoDetails());
   return true;
 }
diff --git a/chrome/browser/extensions/extension_browser_event_router.cc b/chrome/browser/extensions/extension_browser_event_router.cc
index 66b3236..6b7b6bb 100644
--- a/chrome/browser/extensions/extension_browser_event_router.cc
+++ b/chrome/browser/extensions/extension_browser_event_router.cc
@@ -130,7 +130,7 @@
   // notified when it is. If this is an existing window, this is a no-op that we
   // just do to reduce code complexity.
   registrar_.Add(this, chrome::NOTIFICATION_BROWSER_WINDOW_READY,
-      Source<const Browser>(browser));
+      content::Source<const Browser>(browser));
 
   for (int i = 0; i < browser->tabstrip_model()->count(); ++i)
     RegisterForTabNotifications(browser->GetTabContentsAt(i));
@@ -139,22 +139,22 @@
 void ExtensionBrowserEventRouter::RegisterForTabNotifications(
     TabContents* contents) {
   registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-                 Source<NavigationController>(&contents->controller()));
+                 content::Source<NavigationController>(&contents->controller()));
 
   // Observing TAB_CONTENTS_DESTROYED is necessary because it's
   // possible for tabs to be created, detached and then destroyed without
   // ever having been re-attached and closed. This happens in the case of
   // a devtools TabContents that is opened in window, docked, then closed.
   registrar_.Add(this, content::NOTIFICATION_TAB_CONTENTS_DESTROYED,
-                 Source<TabContents>(contents));
+                 content::Source<TabContents>(contents));
 }
 
 void ExtensionBrowserEventRouter::UnregisterForTabNotifications(
     TabContents* contents) {
   registrar_.Remove(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-      Source<NavigationController>(&contents->controller()));
+      content::Source<NavigationController>(&contents->controller()));
   registrar_.Remove(this, content::NOTIFICATION_TAB_CONTENTS_DESTROYED,
-      Source<TabContents>(contents));
+      content::Source<TabContents>(contents));
 }
 
 void ExtensionBrowserEventRouter::OnBrowserWindowReady(const Browser* browser) {
@@ -178,7 +178,7 @@
   browser->tabstrip_model()->RemoveObserver(this);
 
   registrar_.Remove(this, chrome::NOTIFICATION_BROWSER_WINDOW_READY,
-      Source<const Browser>(browser));
+      content::Source<const Browser>(browser));
 
   DispatchSimpleBrowserEvent(browser->profile(),
                              ExtensionTabUtil::GetWindowId(browser),
@@ -523,22 +523,23 @@
   return &i->second;
 }
 
-void ExtensionBrowserEventRouter::Observe(int type,
-                                          const NotificationSource& source,
-                                          const NotificationDetails& details) {
+void ExtensionBrowserEventRouter::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   if (type == content::NOTIFICATION_NAV_ENTRY_COMMITTED) {
     NavigationController* source_controller =
-        Source<NavigationController>(source).ptr();
+        content::Source<NavigationController>(source).ptr();
     TabUpdated(source_controller->tab_contents(), true);
   } else if (type == content::NOTIFICATION_TAB_CONTENTS_DESTROYED) {
     // Tab was destroyed after being detached (without being re-attached).
-    TabContents* contents = Source<TabContents>(source).ptr();
+    TabContents* contents = content::Source<TabContents>(source).ptr();
     registrar_.Remove(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-        Source<NavigationController>(&contents->controller()));
+        content::Source<NavigationController>(&contents->controller()));
     registrar_.Remove(this, content::NOTIFICATION_TAB_CONTENTS_DESTROYED,
-        Source<TabContents>(contents));
+        content::Source<TabContents>(contents));
   } else if (type == chrome::NOTIFICATION_BROWSER_WINDOW_READY) {
-    const Browser* browser = Source<const Browser>(source).ptr();
+    const Browser* browser = content::Source<const Browser>(source).ptr();
     OnBrowserWindowReady(browser);
 #if defined(OS_MACOSX)
   } else if (type == content::NOTIFICATION_NO_KEY_WINDOW) {
diff --git a/chrome/browser/extensions/extension_browser_event_router.h b/chrome/browser/extensions/extension_browser_event_router.h
index c3f104f2..d0fbf3e 100644
--- a/chrome/browser/extensions/extension_browser_event_router.h
+++ b/chrome/browser/extensions/extension_browser_event_router.h
@@ -14,7 +14,7 @@
 #include "chrome/browser/extensions/extension_tabs_module.h"
 #include "chrome/browser/tabs/tab_strip_model_observer.h"
 #include "chrome/browser/ui/browser_list.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 #if defined(TOOLKIT_VIEWS)
 #include "views/focus/widget_focus_manager.h"
 #elif defined(TOOLKIT_GTK)
@@ -33,7 +33,7 @@
                                     public ui::ActiveWindowWatcherX::Observer,
 #endif
                                     public BrowserList::Observer,
-                                    public NotificationObserver {
+                                    public content::NotificationObserver {
  public:
   explicit ExtensionBrowserEventRouter(Profile* profile);
   virtual ~ExtensionBrowserEventRouter();
@@ -95,10 +95,10 @@
                              const std::string& extension_id,
                              Browser* browser);
 
-  // NotificationObserver.
+  // content::NotificationObserver.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
  private:
   // "Synthetic" event. Called from TabInsertedAt if new tab is detected.
   void TabCreatedAt(TabContents* contents, int index, bool active);
@@ -160,7 +160,7 @@
   // Removes notifications added in RegisterForTabNotifications.
   void UnregisterForTabNotifications(TabContents* contents);
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   bool initialized_;
 
diff --git a/chrome/browser/extensions/extension_browsertest.cc b/chrome/browser/extensions/extension_browsertest.cc
index 14d17d3..8898459 100644
--- a/chrome/browser/extensions/extension_browsertest.cc
+++ b/chrome/browser/extensions/extension_browsertest.cc
@@ -26,7 +26,7 @@
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/test/base/ui_test_utils.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 #include "content/common/notification_service.h"
 
 ExtensionBrowserTest::ExtensionBrowserTest()
@@ -63,7 +63,7 @@
     const FilePath& path, bool incognito_enabled, bool fileaccess_enabled) {
   ExtensionService* service = browser()->profile()->GetExtensionService();
   {
-    NotificationRegistrar registrar;
+    content::NotificationRegistrar registrar;
     registrar.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED,
                   NotificationService::AllSources());
     service->LoadExtension(path, false);
@@ -99,7 +99,7 @@
   {
     ui_test_utils::WindowedNotificationObserver load_signal(
         chrome::NOTIFICATION_EXTENSION_LOADED,
-        Source<Profile>(browser()->profile()));
+        content::Source<Profile>(browser()->profile()));
     CHECK(!service->IsIncognitoEnabled(extension_id));
 
     if (incognito_enabled) {
@@ -113,7 +113,7 @@
   {
     ui_test_utils::WindowedNotificationObserver load_signal(
         chrome::NOTIFICATION_EXTENSION_LOADED,
-        Source<Profile>(browser()->profile()));
+        content::Source<Profile>(browser()->profile()));
     CHECK(service->AllowFileAccess(extension));
 
     if (!fileaccess_enabled) {
@@ -240,7 +240,7 @@
   size_t num_before = service->extensions()->size();
 
   {
-    NotificationRegistrar registrar;
+    content::NotificationRegistrar registrar;
     registrar.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED,
                   NotificationService::AllSources());
     registrar.Add(this, chrome::NOTIFICATION_EXTENSION_UPDATE_DISABLED,
@@ -352,7 +352,7 @@
 
 bool ExtensionBrowserTest::WaitForExtensionHostsToLoad() {
   // Wait for all the extension hosts that exist to finish loading.
-  NotificationRegistrar registrar;
+  content::NotificationRegistrar registrar;
   registrar.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
                 NotificationService::AllSources());
 
@@ -410,12 +410,14 @@
   return (service->GetExtensionById(extension_id, true) == NULL);
 }
 
-void ExtensionBrowserTest::Observe(int type,
-                                   const NotificationSource& source,
-                                   const NotificationDetails& details) {
+void ExtensionBrowserTest::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   switch (type) {
     case chrome::NOTIFICATION_EXTENSION_LOADED:
-      last_loaded_extension_id_ = Details<const Extension>(details).ptr()->id();
+      last_loaded_extension_id_ =
+          content::Details<const Extension>(details).ptr()->id();
       VLOG(1) << "Got EXTENSION_LOADED notification.";
       MessageLoopForUI::current()->Quit();
       break;
diff --git a/chrome/browser/extensions/extension_browsertest.h b/chrome/browser/extensions/extension_browsertest.h
index 5521ccc..30645ed 100644
--- a/chrome/browser/extensions/extension_browsertest.h
+++ b/chrome/browser/extensions/extension_browsertest.h
@@ -13,8 +13,8 @@
 #include "base/file_path.h"
 #include "base/scoped_temp_dir.h"
 #include "chrome/test/base/in_process_browser_test.h"
-#include "content/common/notification_details.h"
-#include "content/common/notification_observer.h"
+#include "content/public/browser/notification_details.h"
+#include "content/public/browser/notification_observer.h"
 #include "content/public/browser/notification_types.h"
 
 class Extension;
@@ -22,7 +22,7 @@
 // Base class for extension browser tests. Provides utilities for loading,
 // unloading, and installing extensions.
 class ExtensionBrowserTest
-    : public InProcessBrowserTest, public NotificationObserver {
+    : public InProcessBrowserTest, public content::NotificationObserver {
  protected:
   ExtensionBrowserTest();
 
@@ -112,10 +112,10 @@
   // crashed.
   bool WaitForExtensionCrash(const std::string& extension_id);
 
-  // NotificationObserver
+  // content::NotificationObserver
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   bool loaded_;
   bool installed_;
diff --git a/chrome/browser/extensions/extension_browsertests_misc.cc b/chrome/browser/extensions/extension_browsertests_misc.cc
index f2a8cb0..2b4f79a 100644
--- a/chrome/browser/extensions/extension_browsertests_misc.cc
+++ b/chrome/browser/extensions/extension_browsertests_misc.cc
@@ -728,7 +728,7 @@
   {
     ui_test_utils::WindowedNotificationObserver observer(
         content::NOTIFICATION_LOAD_STOP,
-        Source<NavigationController>(
+        content::Source<NavigationController>(
             &browser()->GetSelectedTabContentsWrapper()->controller()));
     browser()->Reload(CURRENT_TAB);
     observer.Wait();
@@ -754,7 +754,7 @@
   {
     ui_test_utils::WindowedNotificationObserver observer(
         content::NOTIFICATION_LOAD_STOP,
-        Source<NavigationController>(
+        content::Source<NavigationController>(
             &browser()->GetSelectedTabContentsWrapper()->controller()));
     browser()->Reload(CURRENT_TAB);
     observer.Wait();
diff --git a/chrome/browser/extensions/extension_cookies_api.cc b/chrome/browser/extensions/extension_cookies_api.cc
index e2af159..aaa6067 100644
--- a/chrome/browser/extensions/extension_cookies_api.cc
+++ b/chrome/browser/extensions/extension_cookies_api.cc
@@ -38,10 +38,11 @@
                  NotificationService::AllBrowserContextsAndSources());
 }
 
-void ExtensionCookiesEventRouter::Observe(int type,
-                                          const NotificationSource& source,
-                                          const NotificationDetails& details) {
-  Profile* profile = Source<Profile>(source).ptr();
+void ExtensionCookiesEventRouter::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
+  Profile* profile = content::Source<Profile>(source).ptr();
   if (!profile_->IsSameProfile(profile)) {
     return;
   }
@@ -49,7 +50,7 @@
     case chrome::NOTIFICATION_COOKIE_CHANGED:
       CookieChanged(
           profile,
-          Details<ChromeCookieDetails>(details).ptr());
+          content::Details<ChromeCookieDetails>(details).ptr());
       break;
 
     default:
diff --git a/chrome/browser/extensions/extension_cookies_api.h b/chrome/browser/extensions/extension_cookies_api.h
index 8266265..66e2cb1 100644
--- a/chrome/browser/extensions/extension_cookies_api.h
+++ b/chrome/browser/extensions/extension_cookies_api.h
@@ -16,8 +16,8 @@
 #include "base/time.h"
 #include "chrome/browser/extensions/extension_function.h"
 #include "chrome/browser/net/chrome_cookie_notification_details.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 #include "googleurl/src/gurl.h"
 
 namespace base {
@@ -31,7 +31,7 @@
 
 // Observes CookieMonster notifications and routes them as events to the
 // extension system.
-class ExtensionCookiesEventRouter : public NotificationObserver {
+class ExtensionCookiesEventRouter : public content::NotificationObserver {
  public:
   explicit ExtensionCookiesEventRouter(Profile* profile);
   virtual ~ExtensionCookiesEventRouter();
@@ -39,10 +39,10 @@
   void Init();
 
  private:
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // Handler for the COOKIE_CHANGED event. The method takes the details of such
   // an event and constructs a suitable JSON formatted extension event from it.
@@ -56,7 +56,7 @@
                      GURL& cookie_domain);
 
   // Used for tracking registrations to CookieMonster notifications.
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   Profile* profile_;
 
diff --git a/chrome/browser/extensions/extension_debugger_api.cc b/chrome/browser/extensions/extension_debugger_api.cc
index aeddcfc..ec392151 100644
--- a/chrome/browser/extensions/extension_debugger_api.cc
+++ b/chrome/browser/extensions/extension_debugger_api.cc
@@ -31,7 +31,7 @@
 namespace keys = extension_debugger_api_constants;
 
 class ExtensionDevToolsClientHost : public DevToolsClientHost,
-                                    public NotificationObserver {
+                                    public content::NotificationObserver {
  public:
   ExtensionDevToolsClientHost(TabContents* tab_contents,
                               const std::string& extension_id,
@@ -53,16 +53,16 @@
   virtual void FrameNavigating(const std::string& url) {}
 
  private:
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details);
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details);
   void OnDispatchOnInspectorFrontend(const std::string& data);
 
   TabContents* tab_contents_;
   std::string extension_id_;
   int tab_id_;
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   int last_request_id_;
   typedef std::map<int, scoped_refptr<SendRequestDebuggerFunction> >
       PendingRequests;
@@ -120,7 +120,7 @@
   Profile* profile =
       Profile::FromBrowserContext(tab_contents_->browser_context());
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
-                 Source<Profile>(profile));
+                 content::Source<Profile>(profile));
 
   // Attach to debugger and tell it we are ready.
   DevToolsManager::GetInstance()->RegisterDevToolsClientHostFor(
@@ -200,8 +200,8 @@
 
 void ExtensionDevToolsClientHost::Observe(
     int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   DCHECK(type == chrome::NOTIFICATION_EXTENSION_UNLOADED);
   Close();
 }
diff --git a/chrome/browser/extensions/extension_event_router.cc b/chrome/browser/extensions/extension_event_router.cc
index 7f662ea..355daca 100644
--- a/chrome/browser/extensions/extension_event_router.cc
+++ b/chrome/browser/extensions/extension_event_router.cc
@@ -96,7 +96,7 @@
   registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CLOSED,
                  NotificationService::AllSources());
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
-                 Source<Profile>(profile_));
+                 content::Source<Profile>(profile_));
   // TODO(tessamac): also get notified for background page crash/failure.
 }
 
@@ -331,13 +331,15 @@
   pending_events_.erase(extension_id);
 }
 
-void ExtensionEventRouter::Observe(int type,
-                                   const NotificationSource& source,
-                                   const NotificationDetails& details) {
+void ExtensionEventRouter::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   switch (type) {
     case content::NOTIFICATION_RENDERER_PROCESS_TERMINATED:
     case content::NOTIFICATION_RENDERER_PROCESS_CLOSED: {
-      RenderProcessHost* renderer = Source<RenderProcessHost>(source).ptr();
+      RenderProcessHost* renderer =
+          content::Source<RenderProcessHost>(source).ptr();
       // Remove all event listeners associated with this renderer
       for (ListenerMap::iterator it = listeners_.begin();
            it != listeners_.end(); ) {
@@ -356,7 +358,7 @@
     }
     case chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING: {
       // TODO: dispatch events in queue.  ExtensionHost is in the details.
-      ExtensionHost* eh = Details<ExtensionHost>(details).ptr();
+      ExtensionHost* eh = content::Details<ExtensionHost>(details).ptr();
       DispatchPendingEvents(eh->extension_id());
       break;
     }
diff --git a/chrome/browser/extensions/extension_event_router.h b/chrome/browser/extensions/extension_event_router.h
index 909d185..55831ed7 100644
--- a/chrome/browser/extensions/extension_event_router.h
+++ b/chrome/browser/extensions/extension_event_router.h
@@ -13,8 +13,8 @@
 #include "base/compiler_specific.h"
 #include "base/memory/linked_ptr.h"
 #include "base/memory/ref_counted.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 #include "ipc/ipc_message.h"
 
 class GURL;
@@ -23,7 +23,7 @@
 class Profile;
 class RenderProcessHost;
 
-class ExtensionEventRouter : public NotificationObserver {
+class ExtensionEventRouter : public content::NotificationObserver {
  public:
   // Sends an event via ipc_sender to the given extension. Can be called on
   // any thread.
@@ -111,12 +111,12 @@
   struct EventListener;
 
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   Profile* profile_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   scoped_refptr<ExtensionDevToolsManager> extension_devtools_manager_;
 
diff --git a/chrome/browser/extensions/extension_function.h b/chrome/browser/extensions/extension_function.h
index b006fd8..bbac274 100644
--- a/chrome/browser/extensions/extension_function.h
+++ b/chrome/browser/extensions/extension_function.h
@@ -17,8 +17,8 @@
 #include "chrome/browser/extensions/extension_info_map.h"
 #include "chrome/common/extensions/extension.h"
 #include "content/browser/browser_thread.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 #include "ipc/ipc_message.h"
 
 class Browser;
@@ -266,15 +266,15 @@
   // common for subclasses of ExtensionFunction to be NotificationObservers, and
   // it would be an easy error to forget to call the base class's Observe()
   // method.
-  class RenderViewHostTracker : public NotificationObserver {
+  class RenderViewHostTracker : public content::NotificationObserver {
    public:
     explicit RenderViewHostTracker(UIThreadExtensionFunction* function);
    private:
     virtual void Observe(int type,
-                         const NotificationSource& source,
-                         const NotificationDetails& details) OVERRIDE;
+                         const content::NotificationSource& source,
+                         const content::NotificationDetails& details) OVERRIDE;
     UIThreadExtensionFunction* function_;
-    NotificationRegistrar registrar_;
+    content::NotificationRegistrar registrar_;
   };
 
   virtual void Destruct() const;
diff --git a/chrome/browser/extensions/extension_history_api.cc b/chrome/browser/extensions/extension_history_api.cc
index 4145305..5d6fd0f 100644
--- a/chrome/browser/extensions/extension_history_api.cc
+++ b/chrome/browser/extensions/extension_history_api.cc
@@ -73,7 +73,7 @@
 
 void ExtensionHistoryEventRouter::ObserveProfile(Profile* profile) {
   CHECK(registrar_.IsEmpty());
-  const Source<Profile> source = Source<Profile>(profile);
+  const content::Source<Profile> source = content::Source<Profile>(profile);
   registrar_.Add(this,
                  chrome::NOTIFICATION_HISTORY_URL_VISITED,
                  source);
@@ -82,19 +82,20 @@
                  source);
 }
 
-void ExtensionHistoryEventRouter::Observe(int type,
-                                          const NotificationSource& source,
-                                          const NotificationDetails& details) {
+void ExtensionHistoryEventRouter::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   switch (type) {
     case chrome::NOTIFICATION_HISTORY_URL_VISITED:
       HistoryUrlVisited(
-          Source<Profile>(source).ptr(),
-          Details<const history::URLVisitedDetails>(details).ptr());
+          content::Source<Profile>(source).ptr(),
+          content::Details<const history::URLVisitedDetails>(details).ptr());
       break;
     case chrome::NOTIFICATION_HISTORY_URLS_DELETED:
       HistoryUrlsRemoved(
-          Source<Profile>(source).ptr(),
-          Details<const history::URLsDeletedDetails>(details).ptr());
+          content::Source<Profile>(source).ptr(),
+          content::Details<const history::URLsDeletedDetails>(details).ptr());
       break;
     default:
       NOTREACHED();
diff --git a/chrome/browser/extensions/extension_history_api.h b/chrome/browser/extensions/extension_history_api.h
index a7ec19a..f455a1c 100644
--- a/chrome/browser/extensions/extension_history_api.h
+++ b/chrome/browser/extensions/extension_history_api.h
@@ -12,11 +12,11 @@
 #include "chrome/browser/extensions/extension_function.h"
 #include "chrome/browser/history/history.h"
 #include "chrome/browser/history/history_notifications.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 
 // Observes History service and routes the notifications as events to the
 // extension system.
-class ExtensionHistoryEventRouter : public NotificationObserver {
+class ExtensionHistoryEventRouter : public content::NotificationObserver {
  public:
   explicit ExtensionHistoryEventRouter();
   virtual ~ExtensionHistoryEventRouter();
@@ -24,10 +24,10 @@
   void ObserveProfile(Profile* profile);
 
  private:
-  // NotificationObserver::Observe.
+  // content::NotificationObserver::Observe.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   void HistoryUrlVisited(Profile* profile,
                          const history::URLVisitedDetails* details);
@@ -40,7 +40,7 @@
                      const std::string& json_args);
 
   // Used for tracking registrations to history service notifications.
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   DISALLOW_COPY_AND_ASSIGN(ExtensionHistoryEventRouter);
 };
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc
index 2b8adf63..5cfa428 100644
--- a/chrome/browser/extensions/extension_host.cc
+++ b/chrome/browser/extensions/extension_host.cc
@@ -151,11 +151,11 @@
   // Listen for when the render process' handle is available so we can add it
   // to the task manager then.
   registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CREATED,
-                 Source<RenderProcessHost>(render_process_host()));
+                 content::Source<RenderProcessHost>(render_process_host()));
   // Listen for when an extension is unloaded from the same profile, as it may
   // be the same extension that this points to.
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
-                 Source<Profile>(profile_));
+                 content::Source<Profile>(profile_));
 }
 
 // This "mock" constructor should only be used by unit tests.
@@ -177,8 +177,8 @@
 ExtensionHost::~ExtensionHost() {
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED,
-      Source<Profile>(profile_),
-      Details<ExtensionHost>(this));
+      content::Source<Profile>(profile_),
+      content::Details<ExtensionHost>(this));
   ProcessCreationQueue::GetInstance()->Remove(this);
   GetJavaScriptDialogCreatorInstance()->ResetJavaScriptState(this);
   // render_view_host_ may be NULL in unit tests.
@@ -281,7 +281,7 @@
       !profile_->GetExtensionService()->IsBackgroundPageReady(extension_)) {
     // Make sure the background page loads before any others.
     registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY,
-                   Source<Extension>(extension_));
+                   content::Source<Extension>(extension_));
     return;
   }
 
@@ -289,8 +289,8 @@
 }
 
 void ExtensionHost::Observe(int type,
-                            const NotificationSource& source,
-                            const NotificationDetails& details) {
+                            const content::NotificationSource& source,
+                            const content::NotificationDetails& details) {
   switch (type) {
     case chrome::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY:
       DCHECK(profile_->GetExtensionService()->
@@ -300,16 +300,18 @@
     case content::NOTIFICATION_RENDERER_PROCESS_CREATED:
       NotificationService::current()->Notify(
           chrome::NOTIFICATION_EXTENSION_PROCESS_CREATED,
-          Source<Profile>(profile_),
-          Details<ExtensionHost>(this));
+          content::Source<Profile>(profile_),
+          content::Details<ExtensionHost>(this));
       break;
     case chrome::NOTIFICATION_EXTENSION_UNLOADED:
       // The extension object will be deleted after this notification has been
       // sent. NULL it out so that dirty pointer issues don't arise in cases
       // when multiple ExtensionHost objects pointing to the same Extension are
       // present.
-      if (extension_ == Details<UnloadedExtensionInfo>(details)->extension)
+      if (extension_ ==
+          content::Details<UnloadedExtensionInfo>(details)->extension) {
         extension_ = NULL;
+      }
       break;
     default:
       NOTREACHED() << "Unexpected notification sent.";
@@ -346,8 +348,8 @@
   DCHECK_EQ(render_view_host_, render_view_host);
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_PROCESS_TERMINATED,
-      Source<Profile>(profile_),
-      Details<ExtensionHost>(this));
+      content::Source<Profile>(profile_),
+      content::Details<ExtensionHost>(this));
 }
 
 void ExtensionHost::DidNavigate(RenderViewHost* render_view_host,
@@ -388,8 +390,8 @@
   if (notify) {
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
-        Source<Profile>(profile_),
-        Details<ExtensionHost>(this));
+        content::Source<Profile>(profile_),
+        content::Details<ExtensionHost>(this));
     if (extension_host_type_ == chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) {
       UMA_HISTOGRAM_TIMES("Extensions.BackgroundPageLoadTime",
                           since_created_.Elapsed());
@@ -431,8 +433,8 @@
   if (chrome::VIEW_TYPE_EXTENSION_POPUP == GetRenderViewType()) {
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_EXTENSION_POPUP_VIEW_READY,
-        Source<Profile>(profile_),
-        Details<ExtensionHost>(this));
+        content::Source<Profile>(profile_),
+        content::Details<ExtensionHost>(this));
   }
 }
 
@@ -503,8 +505,8 @@
       extension_host_type_ == chrome::VIEW_TYPE_EXTENSION_INFOBAR) {
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE,
-        Source<Profile>(profile_),
-        Details<ExtensionHost>(this));
+        content::Source<Profile>(profile_),
+        content::Details<ExtensionHost>(this));
   }
 }
 
@@ -572,8 +574,8 @@
         event.windowsKeyCode == ui::VKEY_ESCAPE) {
       NotificationService::current()->Notify(
           chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE,
-          Source<Profile>(profile_),
-          Details<ExtensionHost>(this));
+          content::Source<Profile>(profile_),
+          content::Details<ExtensionHost>(this));
       return;
     }
   }
diff --git a/chrome/browser/extensions/extension_host.h b/chrome/browser/extensions/extension_host.h
index 3ae64f5..9777dda 100644
--- a/chrome/browser/extensions/extension_host.h
+++ b/chrome/browser/extensions/extension_host.h
@@ -15,8 +15,8 @@
 #include "chrome/browser/tab_contents/render_view_host_delegate_helper.h"
 #include "content/browser/javascript_dialogs.h"
 #include "content/browser/renderer_host/render_view_host_delegate.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 #if defined(TOOLKIT_VIEWS)
 #include "chrome/browser/ui/views/extensions/extension_view.h"
@@ -42,7 +42,7 @@
 class ExtensionHost : public RenderViewHostDelegate,
                       public RenderViewHostDelegate::View,
                       public ExtensionFunctionDispatcher::Delegate,
-                      public NotificationObserver,
+                      public content::NotificationObserver,
                       public content::JavaScriptDialogDelegate {
  public:
   class ProcessCreationQueue;
@@ -183,10 +183,10 @@
   virtual void GotFocus() OVERRIDE;
   virtual void TakeFocus(bool reverse) OVERRIDE;
 
-  // NotificationObserver
+  // content::NotificationObserver
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // Overridden from content::JavaScriptDialogDelegate:
   virtual void OnDialogClosed(IPC::Message* reply_msg,
@@ -274,7 +274,7 @@
   // The URL being hosted.
   GURL url_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   ExtensionFunctionDispatcher extension_function_dispatcher_;
 
diff --git a/chrome/browser/extensions/extension_infobar_delegate.h b/chrome/browser/extensions/extension_infobar_delegate.h
index 225e92d5..8568b34 100644
--- a/chrome/browser/extensions/extension_infobar_delegate.h
+++ b/chrome/browser/extensions/extension_infobar_delegate.h
@@ -8,8 +8,8 @@
 
 #include "base/memory/scoped_ptr.h"
 #include "chrome/browser/tab_contents/confirm_infobar_delegate.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class Browser;
 class Extension;
@@ -20,7 +20,7 @@
 // The InfobarDelegate for creating and managing state for the ExtensionInfobar
 // plus monitor when the extension goes away.
 class ExtensionInfoBarDelegate : public InfoBarDelegate,
-                                 public NotificationObserver {
+                                 public content::NotificationObserver {
  public:
   // The observer for when the delegate dies.
   class DelegateObserver {
@@ -55,10 +55,10 @@
   virtual Type GetInfoBarType() const OVERRIDE;
   virtual ExtensionInfoBarDelegate* AsExtensionInfoBarDelegate() OVERRIDE;
 
-  // NotificationObserver:
+  // content::NotificationObserver:
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   Browser* browser_;
 
@@ -72,7 +72,7 @@
   DelegateObserver* observer_;
 
   const Extension* extension_;
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // The requested height of the infobar (in pixels).
   int height_;
diff --git a/chrome/browser/extensions/extension_input_api.cc b/chrome/browser/extensions/extension_input_api.cc
index 698140a..86012cb4 100644
--- a/chrome/browser/extensions/extension_input_api.cc
+++ b/chrome/browser/extensions/extension_input_api.cc
@@ -168,7 +168,7 @@
 bool HideKeyboardFunction::RunImpl() {
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_HIDE_KEYBOARD_INVOKED,
-      Source<HideKeyboardFunction>(this),
+      content::Source<HideKeyboardFunction>(this),
       NotificationService::NoDetails());
   return true;
 }
@@ -187,8 +187,8 @@
   // notification.
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_SET_KEYBOARD_HEIGHT_INVOKED,
-      Source<SetKeyboardHeightFunction>(this),
-      Details<int>(&height));
+      content::Source<SetKeyboardHeightFunction>(this),
+      content::Details<int>(&height));
   return true;
 }
 #endif
diff --git a/chrome/browser/extensions/extension_input_method_apitest.cc b/chrome/browser/extensions/extension_input_method_apitest.cc
index bce261c..f040efd 100644
--- a/chrome/browser/extensions/extension_input_method_apitest.cc
+++ b/chrome/browser/extensions/extension_input_method_apitest.cc
@@ -9,8 +9,8 @@
 #include "chrome/browser/chromeos/input_method/input_method_manager.h"
 #include "chrome/browser/extensions/extension_test_api.h"
 #include "chrome/common/chrome_notification_types.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 #include "content/common/notification_service.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -22,7 +22,7 @@
 
 // Class that listens for the JS message then changes input method and replies
 // back.
-class SetInputMethodListener : public NotificationObserver {
+class SetInputMethodListener : public content::NotificationObserver {
  public:
   // Creates listener, which should reply exactly |count_| times.
   explicit SetInputMethodListener(int count) : count_(count) {
@@ -34,10 +34,10 @@
     EXPECT_EQ(0, count_);
   }
 
-  // Implements the NotificationObserver interface.
+  // Implements the content::NotificationObserver interface.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) {
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) {
     const std::string& content = *Details<std::string>(details).ptr();
     const std::string expected_message = StringPrintf("%s:%s",
                                                       kSetInputMethodMessage,
@@ -47,14 +47,14 @@
           ChangeInputMethod(StringPrintf("xkb:%s", kNewInputMethod));
 
       ExtensionTestSendMessageFunction* function =
-          Source<ExtensionTestSendMessageFunction>(source).ptr();
+          content::Source<ExtensionTestSendMessageFunction>(source).ptr();
       EXPECT_GT(count_--, 0);
       function->Reply(kSetInputMethodDone);
     }
   }
 
  private:
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   int count_;
 };
diff --git a/chrome/browser/extensions/extension_install_ui.cc b/chrome/browser/extensions/extension_install_ui.cc
index 14c47e4..25466a6 100644
--- a/chrome/browser/extensions/extension_install_ui.cc
+++ b/chrome/browser/extensions/extension_install_ui.cc
@@ -325,7 +325,7 @@
     case INSTALL_PROMPT: {
       NotificationService* service = NotificationService::current();
       service->Notify(chrome::NOTIFICATION_EXTENSION_WILL_SHOW_CONFIRM_DIALOG,
-          Source<ExtensionInstallUI>(this),
+          content::Source<ExtensionInstallUI>(this),
           NotificationService::NoDetails());
 
       Prompt prompt(prompt_type_);
@@ -349,8 +349,8 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_APP_INSTALLED_TO_NTP,
-      Source<TabContents>(params.target_contents->tab_contents()),
-      Details<const std::string>(&app_id));
+      content::Source<TabContents>(params.target_contents->tab_contents()),
+      content::Details<const std::string>(&app_id));
 }
 
 // static
diff --git a/chrome/browser/extensions/extension_management_api.cc b/chrome/browser/extensions/extension_management_api.cc
index e638801..06c846dc 100644
--- a/chrome/browser/extensions/extension_management_api.cc
+++ b/chrome/browser/extensions/extension_management_api.cc
@@ -431,16 +431,16 @@
   for (size_t i = 0; i < arraysize(types); i++) {
     registrar_.Add(this,
                    types[i],
-                   Source<Profile>(profile_));
+                   content::Source<Profile>(profile_));
   }
 }
 
 void ExtensionManagementEventRouter::Observe(
     int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   const char* event_name = NULL;
-  Profile* profile = Source<Profile>(source).ptr();
+  Profile* profile = content::Source<Profile>(source).ptr();
   CHECK(profile);
   CHECK(profile_->IsSameProfile(profile));
 
@@ -464,14 +464,14 @@
 
   ListValue args;
   if (event_name == events::kOnExtensionUninstalled) {
-    args.Append(
-        Value::CreateStringValue(*Details<const std::string>(details).ptr()));
+    args.Append(Value::CreateStringValue(
+        *content::Details<const std::string>(details).ptr()));
   } else {
     const Extension* extension = NULL;
     if (event_name == events::kOnExtensionDisabled) {
-      extension = Details<UnloadedExtensionInfo>(details)->extension;
+      extension = content::Details<UnloadedExtensionInfo>(details)->extension;
     } else {
-      extension = Details<const Extension>(details).ptr();
+      extension = content::Details<const Extension>(details).ptr();
     }
     CHECK(extension);
     ExtensionService* service = profile->GetExtensionService();
diff --git a/chrome/browser/extensions/extension_management_api.h b/chrome/browser/extensions/extension_management_api.h
index 6ebe35c..d73b4079 100644
--- a/chrome/browser/extensions/extension_management_api.h
+++ b/chrome/browser/extensions/extension_management_api.h
@@ -8,8 +8,8 @@
 
 #include "base/compiler_specific.h"
 #include "chrome/browser/extensions/extension_function.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class ExtensionService;
 
@@ -66,7 +66,7 @@
   DECLARE_EXTENSION_FUNCTION_NAME("management.uninstall");
 };
 
-class ExtensionManagementEventRouter : public NotificationObserver {
+class ExtensionManagementEventRouter : public content::NotificationObserver {
  public:
   explicit ExtensionManagementEventRouter(Profile* profile);
   virtual ~ExtensionManagementEventRouter();
@@ -74,12 +74,12 @@
   void Init();
 
  private:
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   Profile* profile_;
 
diff --git a/chrome/browser/extensions/extension_management_apitest.cc b/chrome/browser/extensions/extension_management_apitest.cc
index b1efdf61..d71591b 100644
--- a/chrome/browser/extensions/extension_management_apitest.cc
+++ b/chrome/browser/extensions/extension_management_apitest.cc
@@ -99,7 +99,7 @@
   // Close the app panel.
   ui_test_utils::WindowedNotificationObserver signal(
       chrome::NOTIFICATION_BROWSER_CLOSED,
-      Source<Browser>(app_browser));
+      content::Source<Browser>(app_browser));
 
   app_browser->CloseWindow();
   signal.Wait();
diff --git a/chrome/browser/extensions/extension_management_browsertest.cc b/chrome/browser/extensions/extension_management_browsertest.cc
index 3119ab0..2f33502 100644
--- a/chrome/browser/extensions/extension_management_browsertest.cc
+++ b/chrome/browser/extensions/extension_management_browsertest.cc
@@ -227,7 +227,7 @@
 }
 
 // Used for testing notifications sent during extension updates.
-class NotificationListener : public NotificationObserver {
+class NotificationListener : public content::NotificationObserver {
  public:
   NotificationListener() : started_(false), finished_(false) {
     int types[] = {
@@ -253,10 +253,10 @@
     updates_.clear();
   }
 
-  // Implements NotificationObserver interface.
+  // Implements content::NotificationObserver interface.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) {
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) {
     switch (type) {
       case chrome::NOTIFICATION_EXTENSION_UPDATING_STARTED: {
         DCHECK(!started_);
@@ -269,7 +269,8 @@
         break;
       }
       case chrome::NOTIFICATION_EXTENSION_UPDATE_FOUND: {
-        const std::string* id = Details<const std::string>(details).ptr();
+        const std::string* id =
+            content::Details<const std::string>(details).ptr();
         updates_.insert(*id);
         break;
       }
@@ -279,7 +280,7 @@
   }
 
  private:
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // Did we see EXTENSION_UPDATING_STARTED?
   bool started_;
diff --git a/chrome/browser/extensions/extension_menu_manager.cc b/chrome/browser/extensions/extension_menu_manager.cc
index cf282d4..1ac320f 100644
--- a/chrome/browser/extensions/extension_menu_manager.cc
+++ b/chrome/browser/extensions/extension_menu_manager.cc
@@ -94,7 +94,7 @@
 
 ExtensionMenuManager::ExtensionMenuManager(Profile* profile) {
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
-                 Source<Profile>(profile));
+                 content::Source<Profile>(profile));
 }
 
 ExtensionMenuManager::~ExtensionMenuManager() {
@@ -446,14 +446,15 @@
       item->extension_id(), event_name, json_args, profile, GURL());
 }
 
-void ExtensionMenuManager::Observe(int type,
-                                   const NotificationSource& source,
-                                   const NotificationDetails& details) {
+void ExtensionMenuManager::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   DCHECK(type == chrome::NOTIFICATION_EXTENSION_UNLOADED);
 
   // Remove menu items for disabled/uninstalled extensions.
   const Extension* extension =
-      Details<UnloadedExtensionInfo>(details)->extension;
+      content::Details<UnloadedExtensionInfo>(details)->extension;
   if (ContainsKey(context_items_, extension->id())) {
     RemoveAllContextItems(extension->id());
   }
diff --git a/chrome/browser/extensions/extension_menu_manager.h b/chrome/browser/extensions/extension_menu_manager.h
index 3d39950..06652af 100644
--- a/chrome/browser/extensions/extension_menu_manager.h
+++ b/chrome/browser/extensions/extension_menu_manager.h
@@ -18,8 +18,8 @@
 #include "base/string16.h"
 #include "chrome/browser/extensions/extension_icon_manager.h"
 #include "chrome/common/extensions/url_pattern_set.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 struct ContextMenuParams;
 
@@ -192,7 +192,7 @@
 };
 
 // This class keeps track of menu items added by extensions.
-class ExtensionMenuManager : public NotificationObserver {
+class ExtensionMenuManager : public content::NotificationObserver {
  public:
   explicit ExtensionMenuManager(Profile* profile);
   virtual ~ExtensionMenuManager();
@@ -246,9 +246,9 @@
   // default extension icon.
   const SkBitmap& GetIconForExtension(const std::string& extension_id);
 
-  // Implements the NotificationObserver interface.
-  virtual void Observe(int type, const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+  // Implements the content::NotificationObserver interface.
+  virtual void Observe(int type, const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
  private:
   FRIEND_TEST_ALL_PREFIXES(ExtensionMenuManagerTest, DeleteParent);
@@ -271,7 +271,7 @@
   // items.
   std::map<ExtensionMenuItem::Id, ExtensionMenuItem*> items_by_id_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   ExtensionIconManager icon_manager_;
 
diff --git a/chrome/browser/extensions/extension_menu_manager_unittest.cc b/chrome/browser/extensions/extension_menu_manager_unittest.cc
index a1bfdbb..5492626 100644
--- a/chrome/browser/extensions/extension_menu_manager_unittest.cc
+++ b/chrome/browser/extensions/extension_menu_manager_unittest.cc
@@ -335,8 +335,8 @@
   UnloadedExtensionInfo details(
       extension1, extension_misc::UNLOAD_REASON_DISABLE);
   notifier->Notify(chrome::NOTIFICATION_EXTENSION_UNLOADED,
-                   Source<Profile>(&profile_),
-                   Details<UnloadedExtensionInfo>(&details));
+                   content::Source<Profile>(&profile_),
+                   content::Details<UnloadedExtensionInfo>(&details));
   ASSERT_EQ(NULL, manager_.MenuItems(extension1->id()));
   ASSERT_EQ(1u, manager_.MenuItems(extension2->id())->size());
   ASSERT_TRUE(manager_.GetItemById(id1) == NULL);
diff --git a/chrome/browser/extensions/extension_message_service.cc b/chrome/browser/extensions/extension_message_service.cc
index c21e696..c90ca5c 100644
--- a/chrome/browser/extensions/extension_message_service.cc
+++ b/chrome/browser/extensions/extension_message_service.cc
@@ -326,18 +326,20 @@
 
   DispatchOnMessage(port, message, dest_port_id);
 }
-void ExtensionMessageService::Observe(int type,
-                                      const NotificationSource& source,
-                                      const NotificationDetails& details) {
+void ExtensionMessageService::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   switch (type) {
     case content::NOTIFICATION_RENDERER_PROCESS_TERMINATED:
     case content::NOTIFICATION_RENDERER_PROCESS_CLOSED: {
-      RenderProcessHost* renderer = Source<RenderProcessHost>(source).ptr();
+      RenderProcessHost* renderer =
+          content::Source<RenderProcessHost>(source).ptr();
       OnSenderClosed(renderer);
       break;
     }
     case content::NOTIFICATION_RENDER_VIEW_HOST_DELETED:
-      OnSenderClosed(Source<RenderViewHost>(source).ptr());
+      OnSenderClosed(content::Source<RenderViewHost>(source).ptr());
       break;
     default:
       NOTREACHED();
diff --git a/chrome/browser/extensions/extension_message_service.h b/chrome/browser/extensions/extension_message_service.h
index c5adb86..e7b21e9 100644
--- a/chrome/browser/extensions/extension_message_service.h
+++ b/chrome/browser/extensions/extension_message_service.h
@@ -12,8 +12,8 @@
 
 #include "base/compiler_specific.h"
 #include "base/memory/ref_counted.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 #include "ipc/ipc_message.h"
 
 class GURL;
@@ -46,7 +46,7 @@
 // class. Then we can get rid of ProfileDestroyed().
 class ExtensionMessageService
     : public base::RefCounted<ExtensionMessageService>,
-      public NotificationObserver {
+      public content::NotificationObserver {
  public:
   // A messaging channel. Note that the opening port can be the same as the
   // receiver, if an extension background page wants to talk to its tab (for
@@ -134,17 +134,17 @@
   void CloseChannelImpl(MessageChannelMap::iterator channel_iter, int port_id,
                         bool notify_other_port);
 
-  // NotificationObserver interface.
+  // content::NotificationObserver interface.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // An IPC sender that might be in our list of channels has closed.
   void OnSenderClosed(IPC::Message::Sender* sender);
 
   Profile* profile_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   MessageChannelMap channels_;
 
diff --git a/chrome/browser/extensions/extension_messages_apitest.cc b/chrome/browser/extensions/extension_messages_apitest.cc
index 1ac06c0..36a1336 100644
--- a/chrome/browser/extensions/extension_messages_apitest.cc
+++ b/chrome/browser/extensions/extension_messages_apitest.cc
@@ -6,13 +6,13 @@
 #include "chrome/browser/extensions/extension_event_router.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/common/chrome_notification_types.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 #include "content/common/notification_service.h"
 #include "googleurl/src/gurl.h"
 
 namespace {
 
-class MessageSender : public NotificationObserver {
+class MessageSender : public content::NotificationObserver {
  public:
   MessageSender() {
     registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
@@ -21,32 +21,32 @@
 
  private:
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) {
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) {
     ExtensionEventRouter* event_router =
-        Source<Profile>(source).ptr()->GetExtensionEventRouter();
+        content::Source<Profile>(source).ptr()->GetExtensionEventRouter();
 
     // Sends four messages to the extension. All but the third message sent
     // from the origin http://b.com/ are supposed to arrive.
     event_router->DispatchEventToRenderers("test.onMessage",
         "[{\"lastMessage\":false,\"data\":\"no restriction\"}]",
-        Source<Profile>(source).ptr(),
+        content::Source<Profile>(source).ptr(),
         GURL());
     event_router->DispatchEventToRenderers("test.onMessage",
         "[{\"lastMessage\":false,\"data\":\"http://a.com/\"}]",
-        Source<Profile>(source).ptr(),
+        content::Source<Profile>(source).ptr(),
         GURL("http://a.com/"));
     event_router->DispatchEventToRenderers("test.onMessage",
         "[{\"lastMessage\":false,\"data\":\"http://b.com/\"}]",
-        Source<Profile>(source).ptr(),
+        content::Source<Profile>(source).ptr(),
         GURL("http://b.com/"));
     event_router->DispatchEventToRenderers("test.onMessage",
         "[{\"lastMessage\":true,\"data\":\"last message\"}]",
-        Source<Profile>(source).ptr(),
+        content::Source<Profile>(source).ptr(),
         GURL());
   }
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 };
 
 }  // namespace
diff --git a/chrome/browser/extensions/extension_metrics_apitest.cc b/chrome/browser/extensions/extension_metrics_apitest.cc
index 74bd826..3809c7a 100644
--- a/chrome/browser/extensions/extension_metrics_apitest.cc
+++ b/chrome/browser/extensions/extension_metrics_apitest.cc
@@ -8,7 +8,7 @@
 #include "chrome/browser/extensions/extension_apitest.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/extensions/extension.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 #include "content/common/notification_service.h"
 
 namespace {
@@ -56,7 +56,7 @@
 
 // This class observes and collects user action notifications that are sent
 // by the tests, so that they can be examined afterwards for correctness.
-class UserActionObserver : public NotificationObserver {
+class UserActionObserver : public content::NotificationObserver {
  public:
   UserActionObserver();
 
@@ -65,8 +65,8 @@
                            int count);
 
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details);
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details);
 
  private:
   typedef std::map<std::string, int> UserActionCountMap;
@@ -80,7 +80,7 @@
     return i == count_map_.end() ? -1 : i->second;
   }
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   UserActionCountMap count_map_;
 };
 
@@ -90,9 +90,9 @@
 }
 
 void UserActionObserver::Observe(int type,
-                                 const NotificationSource& source,
-                                 const NotificationDetails& details) {
-  const char* name = *Details<const char*>(details).ptr();
+                                 const content::NotificationSource& source,
+                                 const content::NotificationDetails& details) {
+  const char* name = *content::Details<const char*>(details).ptr();
   ++(count_map_[name]);
 }
 
diff --git a/chrome/browser/extensions/extension_navigation_observer.cc b/chrome/browser/extensions/extension_navigation_observer.cc
index 8c33d7af..f093c62e 100644
--- a/chrome/browser/extensions/extension_navigation_observer.cc
+++ b/chrome/browser/extensions/extension_navigation_observer.cc
@@ -17,15 +17,17 @@
 
 ExtensionNavigationObserver::~ExtensionNavigationObserver() {}
 
-void ExtensionNavigationObserver::Observe(int type,
-                                          const NotificationSource& source,
-                                          const NotificationDetails& details) {
+void ExtensionNavigationObserver::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   if (type != content::NOTIFICATION_NAV_ENTRY_COMMITTED) {
     NOTREACHED();
     return;
   }
 
-  NavigationController* controller = Source<NavigationController>(source).ptr();
+  NavigationController* controller =
+      content::Source<NavigationController>(source).ptr();
   if (!profile_->IsSameProfile(
           Profile::FromBrowserContext(controller->browser_context())))
     return;
diff --git a/chrome/browser/extensions/extension_navigation_observer.h b/chrome/browser/extensions/extension_navigation_observer.h
index 385e4a4..0bf09ef 100644
--- a/chrome/browser/extensions/extension_navigation_observer.h
+++ b/chrome/browser/extensions/extension_navigation_observer.h
@@ -11,7 +11,7 @@
 
 #include "base/memory/scoped_ptr.h"
 #include "chrome/browser/extensions/extension_install_ui.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 
 class Profile;
 class NavigationController;
@@ -21,15 +21,15 @@
 // increase, it prompts the user to accept the new permissions and re-enables
 // the extension.
 class ExtensionNavigationObserver : public ExtensionInstallUI::Delegate,
-                                    public NotificationObserver {
+                                    public content::NotificationObserver {
  public:
   explicit ExtensionNavigationObserver(Profile* profile);
   virtual ~ExtensionNavigationObserver();
 
-  // NotificationObserver
+  // content::NotificationObserver
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
  private:
   // Registers for the NOTIFICATION_NAV_ENTRY_COMMITTED notification.
   void RegisterForNotifications();
@@ -43,7 +43,7 @@
   virtual void InstallUIProceed() OVERRIDE;
   virtual void InstallUIAbort(bool user_initiated) OVERRIDE;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   Profile* profile_;
 
diff --git a/chrome/browser/extensions/extension_omnibox_api.cc b/chrome/browser/extensions/extension_omnibox_api.cc
index 21a7227..e51939e 100644
--- a/chrome/browser/extensions/extension_omnibox_api.cc
+++ b/chrome/browser/extensions/extension_omnibox_api.cc
@@ -101,7 +101,7 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_OMNIBOX_INPUT_ENTERED,
-      Source<Profile>(profile), NotificationService::NoDetails());
+      content::Source<Profile>(profile), NotificationService::NoDetails());
 }
 
 // static
@@ -142,8 +142,8 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_OMNIBOX_SUGGESTIONS_READY,
-      Source<Profile>(profile_),
-      Details<ExtensionOmniboxSuggestions>(&suggestions));
+      content::Source<Profile>(profile_),
+      content::Details<ExtensionOmniboxSuggestions>(&suggestions));
 
   return true;
 }
@@ -173,7 +173,7 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_OMNIBOX_DEFAULT_SUGGESTION_CHANGED,
-      Source<Profile>(profile_),
+      content::Source<Profile>(profile_),
       NotificationService::NoDetails());
 
   return true;
diff --git a/chrome/browser/extensions/extension_omnibox_apitest.cc b/chrome/browser/extensions/extension_omnibox_apitest.cc
index fe39db40..ed74ae1 100644
--- a/chrome/browser/extensions/extension_omnibox_apitest.cc
+++ b/chrome/browser/extensions/extension_omnibox_apitest.cc
@@ -79,7 +79,7 @@
     while (!controller->done()) {
       ui_test_utils::WindowedNotificationObserver ready_observer(
           chrome::NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY,
-          Source<AutocompleteController>(controller));
+          content::Source<AutocompleteController>(controller));
       ready_observer.Wait();
     }
   }
diff --git a/chrome/browser/extensions/extension_permissions_api.cc b/chrome/browser/extensions/extension_permissions_api.cc
index 6cfb43a..2c652ad 100644
--- a/chrome/browser/extensions/extension_permissions_api.cc
+++ b/chrome/browser/extensions/extension_permissions_api.cc
@@ -214,8 +214,8 @@
       extension, changed, reason);
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_PERMISSIONS_UPDATED,
-      Source<Profile>(extension_service_->profile()),
-      Details<UpdatedExtensionPermissionsInfo>(&info));
+      content::Source<Profile>(extension_service_->profile()),
+      content::Details<UpdatedExtensionPermissionsInfo>(&info));
 
   // Send the new permissions to the renderers.
   for (RenderProcessHost::iterator i(RenderProcessHost::AllHostsIterator());
diff --git a/chrome/browser/extensions/extension_preference_api.cc b/chrome/browser/extensions/extension_preference_api.cc
index 90adc09..8d9291a6 100644
--- a/chrome/browser/extensions/extension_preference_api.cc
+++ b/chrome/browser/extensions/extension_preference_api.cc
@@ -267,12 +267,12 @@
 
 void ExtensionPreferenceEventRouter::Observe(
     int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   if (type == chrome::NOTIFICATION_PREF_CHANGED) {
     const std::string* pref_key =
-        Details<const std::string>(details).ptr();
-    OnPrefChanged(Source<PrefService>(source).ptr(), *pref_key);
+        content::Details<const std::string>(details).ptr();
+    OnPrefChanged(content::Source<PrefService>(source).ptr(), *pref_key);
   } else {
     NOTREACHED();
   }
diff --git a/chrome/browser/extensions/extension_preference_api.h b/chrome/browser/extensions/extension_preference_api.h
index 563fcc9..e39239f 100644
--- a/chrome/browser/extensions/extension_preference_api.h
+++ b/chrome/browser/extensions/extension_preference_api.h
@@ -10,22 +10,22 @@
 
 #include "chrome/browser/extensions/extension_function.h"
 #include "chrome/browser/prefs/pref_change_registrar.h"
-#include "content/common/notification_observer.h"
+#include "content/public/browser/notification_observer.h"
 
 namespace base {
 class Value;
 }
 
-class ExtensionPreferenceEventRouter : public NotificationObserver {
+class ExtensionPreferenceEventRouter : public content::NotificationObserver {
  public:
   explicit ExtensionPreferenceEventRouter(Profile* profile);
   virtual ~ExtensionPreferenceEventRouter();
 
  private:
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   void OnPrefChanged(PrefService* pref_service, const std::string& pref_key);
 
diff --git a/chrome/browser/extensions/extension_prefs.cc b/chrome/browser/extensions/extension_prefs.cc
index 00997a4..3c4ee0b 100644
--- a/chrome/browser/extensions/extension_prefs.cc
+++ b/chrome/browser/extensions/extension_prefs.cc
@@ -1126,8 +1126,8 @@
                       Value::CreateBooleanValue(visible));
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED,
-      Source<ExtensionPrefs>(this),
-      Details<const Extension>(extension));
+      content::Source<ExtensionPrefs>(this),
+      content::Details<const Extension>(extension));
 }
 
 std::string ExtensionPrefs::GetVersionString(const std::string& extension_id) {
@@ -1460,7 +1460,7 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_LAUNCHER_REORDERED,
-      Source<ExtensionPrefs>(this),
+      content::Source<ExtensionPrefs>(this),
       NotificationService::NoDetails());
 }
 
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index 3e2c63d..8b484e2c 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -16,9 +16,9 @@
 #include "chrome/common/extensions/extension_constants.h"
 #include "chrome/common/extensions/extension_permission_set.h"
 #include "content/browser/browser_thread.h"
-#include "content/common/notification_details.h"
-#include "content/common/notification_observer_mock.h"
-#include "content/common/notification_source.h"
+#include "content/public/browser/notification_details.h"
+#include "content/public/browser/notification_source.h"
+#include "content/test/notification_observer_mock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 using base::Time;
@@ -1041,12 +1041,12 @@
     using testing::Mock;
     using testing::StrEq;
 
-    NotificationObserverMock observer;
+    content::NotificationObserverMock observer;
     PrefChangeRegistrar registrar;
     registrar.Init(prefs()->pref_service());
     registrar.Add(kPref1, &observer);
 
-    NotificationObserverMock incognito_observer;
+    content::NotificationObserverMock incognito_observer;
     scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
     PrefChangeRegistrar incognito_registrar;
     incognito_registrar.Init(incog_prefs.get());
diff --git a/chrome/browser/extensions/extension_process_manager.cc b/chrome/browser/extensions/extension_process_manager.cc
index f33e4f3..d64656d 100644
--- a/chrome/browser/extensions/extension_process_manager.cc
+++ b/chrome/browser/extensions/extension_process_manager.cc
@@ -47,10 +47,10 @@
   virtual const Extension* GetExtensionForSiteInstance(int site_instance_id);
 
  private:
-  // NotificationObserver:
+  // content::NotificationObserver:
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details);
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details);
 
   // Returns the extension for an URL, which can either be a chrome-extension
   // URL or a web app URL.
@@ -96,15 +96,15 @@
     : browsing_instance_(new BrowsingInstance(profile)) {
   Profile* original_profile = profile->GetOriginalProfile();
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSIONS_READY,
-                 Source<Profile>(original_profile));
+                 content::Source<Profile>(original_profile));
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED,
-                 Source<Profile>(original_profile));
+                 content::Source<Profile>(original_profile));
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
-                 Source<Profile>(original_profile));
+                 content::Source<Profile>(original_profile));
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED,
-                 Source<Profile>(profile));
+                 content::Source<Profile>(profile));
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE,
-                 Source<Profile>(profile));
+                 content::Source<Profile>(profile));
   // We can listen to everything for SITE_INSTANCE_DELETED because we check the
   // |site_instance_id| in UnregisterExtensionSiteInstance.
   registrar_.Add(this, content::NOTIFICATION_SITE_INSTANCE_DELETED,
@@ -376,21 +376,24 @@
   return all_hosts_.find(host) != all_hosts_.end();
 }
 
-void ExtensionProcessManager::Observe(int type,
-                                      const NotificationSource& source,
-                                      const NotificationDetails& details) {
+void ExtensionProcessManager::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   switch (type) {
     case chrome::NOTIFICATION_EXTENSIONS_READY: {
       CreateBackgroundHostsForProfileStartup(this,
-          Source<Profile>(source).ptr()->GetExtensionService()->extensions());
+          content::Source<Profile>(source).ptr()->
+              GetExtensionService()->extensions());
       break;
     }
 
     case chrome::NOTIFICATION_EXTENSION_LOADED: {
       ExtensionService* service =
-          Source<Profile>(source).ptr()->GetExtensionService();
+          content::Source<Profile>(source).ptr()->GetExtensionService();
       if (service->is_ready()) {
-        const Extension* extension = Details<const Extension>(details).ptr();
+        const Extension* extension =
+            content::Details<const Extension>(details).ptr();
         ::CreateBackgroundHostForExtensionLoad(this, extension);
       }
       break;
@@ -398,7 +401,7 @@
 
     case chrome::NOTIFICATION_EXTENSION_UNLOADED: {
       const Extension* extension =
-          Details<UnloadedExtensionInfo>(details)->extension;
+          content::Details<UnloadedExtensionInfo>(details)->extension;
       for (ExtensionHostSet::iterator iter = background_hosts_.begin();
            iter != background_hosts_.end(); ++iter) {
         ExtensionHost* host = *iter;
@@ -413,20 +416,20 @@
     }
 
     case chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED: {
-      ExtensionHost* host = Details<ExtensionHost>(details).ptr();
+      ExtensionHost* host = content::Details<ExtensionHost>(details).ptr();
       all_hosts_.erase(host);
       background_hosts_.erase(host);
       break;
     }
 
     case content::NOTIFICATION_SITE_INSTANCE_DELETED: {
-      SiteInstance* site_instance = Source<SiteInstance>(source).ptr();
+      SiteInstance* site_instance = content::Source<SiteInstance>(source).ptr();
       UnregisterExtensionSiteInstance(site_instance);
       break;
     }
 
     case chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE: {
-      ExtensionHost* host = Details<ExtensionHost>(details).ptr();
+      ExtensionHost* host = content::Details<ExtensionHost>(details).ptr();
       if (host->extension_host_type() ==
           chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) {
         delete host;
@@ -458,8 +461,8 @@
     background_hosts_.insert(host);
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_HOST_CREATED,
-      Source<ExtensionProcessManager>(this),
-      Details<ExtensionHost>(host));
+      content::Source<ExtensionProcessManager>(this),
+      content::Details<ExtensionHost>(host));
 }
 
 void ExtensionProcessManager::CloseBackgroundHosts() {
@@ -570,8 +573,8 @@
 
 void IncognitoExtensionProcessManager::Observe(
     int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   switch (type) {
     case chrome::NOTIFICATION_BROWSER_WINDOW_READY: {
       if (CommandLine::ForCurrentProcess()->HasSwitch(
@@ -580,7 +583,7 @@
       // We want to spawn our background hosts as soon as the user opens an
       // incognito window. Watch for new browsers and create the hosts if
       // it matches our profile.
-      Browser* browser = Source<Browser>(source).ptr();
+      Browser* browser = content::Source<Browser>(source).ptr();
       if (browser->profile() == browsing_instance_->browser_context()) {
         // On Chrome OS, a login screen is implemented as a browser.
         // This browser has no extension service.  In this case,
diff --git a/chrome/browser/extensions/extension_process_manager.h b/chrome/browser/extensions/extension_process_manager.h
index 7ca82de..685e761 100644
--- a/chrome/browser/extensions/extension_process_manager.h
+++ b/chrome/browser/extensions/extension_process_manager.h
@@ -12,9 +12,9 @@
 
 #include "base/compiler_specific.h"
 #include "base/memory/ref_counted.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
 #include "content/public/common/view_types.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class Browser;
 class BrowsingInstance;
@@ -28,7 +28,7 @@
 // Manages dynamic state of running Chromium extensions. There is one instance
 // of this class per Profile. OTR Profiles have a separate instance that keeps
 // track of split-mode extensions only.
-class ExtensionProcessManager : public NotificationObserver {
+class ExtensionProcessManager : public content::NotificationObserver {
  public:
   static ExtensionProcessManager* Create(Profile* profile);
   virtual ~ExtensionProcessManager();
@@ -114,12 +114,12 @@
   // Called on browser shutdown to close our extension hosts.
   void CloseBackgroundHosts();
 
-  // NotificationObserver:
+  // content::NotificationObserver:
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // The set of all ExtensionHosts managed by this process manager.
   ExtensionHostSet all_hosts_;
diff --git a/chrome/browser/extensions/extension_processes_api.h b/chrome/browser/extensions/extension_processes_api.h
index fe0a2f9..712a222c 100644
--- a/chrome/browser/extensions/extension_processes_api.h
+++ b/chrome/browser/extensions/extension_processes_api.h
@@ -11,7 +11,7 @@
 
 #include "chrome/browser/extensions/extension_function.h"
 #include "chrome/browser/task_manager/task_manager.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 
 // Observes the Task Manager and routes the notifications as events to the
 // extension system.
@@ -46,7 +46,7 @@
                      const std::string& json_args);
 
   // Used for tracking registrations to process related notifications.
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // Registered profiles.
   typedef std::set<Profile*> ProfileSet;
diff --git a/chrome/browser/extensions/extension_save_page_api.cc b/chrome/browser/extensions/extension_save_page_api.cc
index a6454ab..39f226ba 100644
--- a/chrome/browser/extensions/extension_save_page_api.cc
+++ b/chrome/browser/extensions/extension_save_page_api.cc
@@ -66,21 +66,24 @@
   }
 
   TabContents* tab_contents = tab_contents_wrapper->tab_contents();
-  registrar_.Add(this, content::NOTIFICATION_MHTML_GENERATED,
-                 Source<RenderViewHost>(tab_contents->render_view_host()));
+  registrar_.Add(
+      this, content::NOTIFICATION_MHTML_GENERATED,
+      content::Source<RenderViewHost>(tab_contents->render_view_host()));
   // TODO(jcivelli): we should listen for navigation in the tab, tab closed,
   //                 renderer died.
   g_browser_process->mhtml_generation_manager()->GenerateMHTML(
       tab_contents, mhtml_path_);
 }
 
-void SavePageAsMHTMLFunction::Observe(int type,
-                                      const NotificationSource& source,
-                                      const NotificationDetails& details) {
+void SavePageAsMHTMLFunction::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   DCHECK(type == content::NOTIFICATION_MHTML_GENERATED);
 
   const MHTMLGenerationManager::NotificationDetails* save_details =
-      Details<MHTMLGenerationManager::NotificationDetails>(details).ptr();
+      content::Details<MHTMLGenerationManager::NotificationDetails>(details).
+          ptr();
 
   if (mhtml_path_ != save_details->file_path) {
     // This could happen if there are concurrent MHTML generations going on for
diff --git a/chrome/browser/extensions/extension_save_page_api.h b/chrome/browser/extensions/extension_save_page_api.h
index 9de3f1b..4afdf62 100644
--- a/chrome/browser/extensions/extension_save_page_api.h
+++ b/chrome/browser/extensions/extension_save_page_api.h
@@ -9,11 +9,11 @@
 
 #include "chrome/browser/extensions/extension_function.h"
 #include "content/browser/tab_contents/tab_contents_observer.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class SavePageAsMHTMLFunction : public AsyncExtensionFunction,
-                                public NotificationObserver {
+                                public content::NotificationObserver {
  public:
   SavePageAsMHTMLFunction();
 
@@ -22,8 +22,8 @@
 
   virtual bool RunImpl() OVERRIDE;
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // Called on the file thread.
   void CreateTemporaryFile();
@@ -38,7 +38,7 @@
   // The path to the temporary file containing the MHTML data.
   FilePath mhtml_path_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   DECLARE_EXTENSION_FUNCTION_NAME("experimental.savePage.saveAsMHTML")
 };
 
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 4a2f5f4..e7bc4db 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -704,7 +704,7 @@
 
 void ExtensionService::InitEventRoutersAfterImport() {
   registrar_.Add(this, chrome::NOTIFICATION_IMPORT_FINISHED,
-                 Source<Profile>(profile_));
+                 content::Source<Profile>(profile_));
 }
 
 void ExtensionService::InitEventRouters() {
@@ -893,8 +893,8 @@
       !external_uninstall) {
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_EXTENSION_UNINSTALL_NOT_ALLOWED,
-        Source<Profile>(profile_),
-        Details<const Extension>(extension));
+        content::Source<Profile>(profile_),
+        content::Details<const Extension>(extension));
     if (error != NULL) {
       *error = errors::kCannotUninstallManagedExtension;
     }
@@ -961,8 +961,8 @@
   // Notify interested parties that we've uninstalled this extension.
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_UNINSTALLED,
-      Source<Profile>(profile_),
-      Details<const std::string>(&extension_id));
+      content::Source<Profile>(profile_),
+      content::Details<const std::string>(&extension_id));
 
   if (sync_bundle && sync_bundle->HasExtensionId(extension_id)) {
     sync_bundle->sync_processor->ProcessSyncChanges(
@@ -1475,8 +1475,8 @@
   // extension.
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_LOADED,
-      Source<Profile>(profile_),
-      Details<const Extension>(extension));
+      content::Source<Profile>(profile_),
+      content::Details<const Extension>(extension));
 
   // Tell renderers about the new extension.
   for (RenderProcessHost::iterator i(RenderProcessHost::AllHostsIterator());
@@ -1589,8 +1589,8 @@
   UnloadedExtensionInfo details(extension, reason);
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_UNLOADED,
-      Source<Profile>(profile_),
-      Details<UnloadedExtensionInfo>(&details));
+      content::Source<Profile>(profile_),
+      content::Details<UnloadedExtensionInfo>(&details));
 
   for (RenderProcessHost::iterator i(RenderProcessHost::AllHostsIterator());
        !i.IsAtEnd(); i.Advance()) {
@@ -2276,8 +2276,8 @@
     disabled_extensions_.erase(iter);
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_EXTENSION_UNLOADED,
-        Source<Profile>(profile_),
-        Details<UnloadedExtensionInfo>(&details));
+        content::Source<Profile>(profile_),
+        content::Details<UnloadedExtensionInfo>(&details));
     // Make sure the profile cleans up its RequestContexts when an already
     // disabled extension is unloaded (since they are also tracking the disabled
     // extensions).
@@ -2348,7 +2348,7 @@
   ready_ = true;
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSIONS_READY,
-      Source<Profile>(profile_),
+      content::Source<Profile>(profile_),
       NotificationService::NoDetails());
 }
 
@@ -2389,8 +2389,8 @@
     // disabled.
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_EXTENSION_UPDATE_DISABLED,
-        Source<Profile>(profile_),
-        Details<const Extension>(extension));
+        content::Source<Profile>(profile_),
+        content::Details<const Extension>(extension));
     SyncExtensionChangeIfNeeded(*extension);
     return;
   }
@@ -2557,8 +2557,8 @@
 
       NotificationService::current()->Notify(
           chrome::NOTIFICATION_EXTENSION_INSTALL_NOT_ALLOWED,
-          Source<Profile>(profile_),
-          Details<const Extension>(extension));
+          content::Source<Profile>(profile_),
+          content::Details<const Extension>(extension));
 
       // Delete the extension directory since we're not going to
       // load it.
@@ -2608,8 +2608,8 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_INSTALLED,
-      Source<Profile>(profile_),
-      Details<const Extension>(extension));
+      content::Source<Profile>(profile_),
+      content::Details<const Extension>(extension));
 
   // Transfer ownership of |extension| to AddExtension.
   AddExtension(scoped_extension);
@@ -2782,8 +2782,8 @@
     bool be_noisy) {
   NotificationService* service = NotificationService::current();
   service->Notify(chrome::NOTIFICATION_EXTENSION_LOAD_ERROR,
-                  Source<Profile>(profile_),
-                  Details<const std::string>(&error));
+                  content::Source<Profile>(profile_),
+                  content::Details<const std::string>(&error));
 
   std::string path_str = UTF16ToUTF8(extension_path.LossyDisplayName());
   std::string message = base::StringPrintf(
@@ -2805,14 +2805,16 @@
 }
 
 void ExtensionService::Observe(int type,
-                               const NotificationSource& source,
-                               const NotificationDetails& details) {
+                               const content::NotificationSource& source,
+                               const content::NotificationDetails& details) {
   switch (type) {
     case chrome::NOTIFICATION_EXTENSION_PROCESS_TERMINATED: {
-      if (profile_ != Source<Profile>(source).ptr()->GetOriginalProfile())
+      if (profile_ !=
+          content::Source<Profile>(source).ptr()->GetOriginalProfile()) {
         break;
+      }
 
-      ExtensionHost* host = Details<ExtensionHost>(details).ptr();
+      ExtensionHost* host = content::Details<ExtensionHost>(details).ptr();
 
       // Mark the extension as terminated and Unload it. We want it to
       // be in a consistent state: either fully working or not loaded
@@ -2828,7 +2830,8 @@
       break;
     }
     case content::NOTIFICATION_RENDERER_PROCESS_CREATED: {
-      RenderProcessHost* process = Source<RenderProcessHost>(source).ptr();
+      RenderProcessHost* process =
+          content::Source<RenderProcessHost>(source).ptr();
       Profile* host_profile =
           Profile::FromBrowserContext(process->browser_context());
       if (!profile_->IsSameProfile(host_profile->GetOriginalProfile()))
@@ -2852,7 +2855,8 @@
       break;
     }
     case content::NOTIFICATION_RENDERER_PROCESS_TERMINATED: {
-      RenderProcessHost* process = Source<RenderProcessHost>(source).ptr();
+      RenderProcessHost* process =
+          content::Source<RenderProcessHost>(source).ptr();
       Profile* host_profile =
           Profile::FromBrowserContext(process->browser_context());
       if (!profile_->IsSameProfile(host_profile->GetOriginalProfile()))
@@ -2862,7 +2866,7 @@
       break;
     }
     case chrome::NOTIFICATION_PREF_CHANGED: {
-      std::string* pref_name = Details<std::string>(details).ptr();
+      std::string* pref_name = content::Details<std::string>(details).ptr();
       if (*pref_name == prefs::kExtensionInstallAllowList ||
           *pref_name == prefs::kExtensionInstallDenyList) {
         CheckAdminBlacklist();
@@ -2873,7 +2877,7 @@
     }
     case chrome::NOTIFICATION_IMPORT_FINISHED: {
       registrar_.Remove(this, chrome::NOTIFICATION_IMPORT_FINISHED,
-                        Source<Profile>(profile_));
+                        content::Source<Profile>(profile_));
       InitEventRouters();
       break;
     }
@@ -2913,7 +2917,7 @@
   extension_runtime_data_[extension->id()].background_page_ready = true;
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY,
-      Source<const Extension>(extension),
+      content::Source<const Extension>(extension),
       NotificationService::NoDetails());
 }
 
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h
index b99831c..cd16db93 100644
--- a/chrome/browser/extensions/extension_service.h
+++ b/chrome/browser/extensions/extension_service.h
@@ -41,9 +41,9 @@
 #include "chrome/common/extensions/extension.h"
 #include "chrome/common/extensions/extension_constants.h"
 #include "content/browser/browser_thread.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
 #include "content/common/property_bag.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class AppNotificationManager;
 class CrxInstaller;
@@ -117,7 +117,7 @@
 class ExtensionService
     : public ExtensionServiceInterface,
       public ExternalExtensionProviderInterface::VisitorInterface,
-      public NotificationObserver {
+      public content::NotificationObserver {
  public:
   // Information about a registered component extension.
   struct ComponentExtensionInfo {
@@ -533,10 +533,10 @@
   // Displays the extension alert in the last-active browser window.
   void ShowExtensionAlert(ExtensionGlobalError* global_error);
 
-  // NotificationObserver
+  // content::NotificationObserver
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // Whether there are any apps installed. Component apps are not included.
   bool HasApps() const;
@@ -762,7 +762,7 @@
   typedef std::map<std::string, int> OrphanedDevTools;
   OrphanedDevTools orphaned_dev_tools_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   PrefChangeRegistrar pref_change_registrar_;
 
   // Keeps track of menu items added by extensions.
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index ff89e5e2..127737f 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -58,7 +58,7 @@
 #include "content/browser/file_system/browser_file_system_helper.h"
 #include "content/browser/in_process_webkit/dom_storage_context.h"
 #include "content/browser/in_process_webkit/webkit_context.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 #include "content/common/notification_service.h"
 #include "googleurl/src/gurl.h"
 #include "net/base/cookie_monster.h"
@@ -481,7 +481,7 @@
 }
 
 class ExtensionServiceTest
-  : public ExtensionServiceTestBase, public NotificationObserver {
+  : public ExtensionServiceTestBase, public content::NotificationObserver {
  public:
   ExtensionServiceTest() : installed_(NULL) {
     registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED,
@@ -493,11 +493,12 @@
   }
 
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) {
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) {
     switch (type) {
       case chrome::NOTIFICATION_EXTENSION_LOADED: {
-        const Extension* extension = Details<const Extension>(details).ptr();
+        const Extension* extension =
+            content::Details<const Extension>(details).ptr();
         loaded_.push_back(make_scoped_refptr(extension));
         // The tests rely on the errors being in a certain order, which can vary
         // depending on how filesystem iteration works.
@@ -507,7 +508,7 @@
 
       case chrome::NOTIFICATION_EXTENSION_UNLOADED: {
         const Extension* e =
-            Details<UnloadedExtensionInfo>(details)->extension;
+            content::Details<UnloadedExtensionInfo>(details)->extension;
         unloaded_id_ = e->id();
         ExtensionList::iterator i =
             std::find(loaded_.begin(), loaded_.end(), e);
@@ -519,7 +520,7 @@
         break;
       }
       case chrome::NOTIFICATION_EXTENSION_INSTALLED:
-        installed_ = Details<const Extension>(details).ptr();
+        installed_ = content::Details<const Extension>(details).ptr();
         break;
 
       default:
@@ -911,7 +912,7 @@
   const Extension* installed_;
 
  private:
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 };
 
 FilePath NormalizeSeparators(const FilePath& path) {
@@ -3462,7 +3463,7 @@
   EXPECT_EQ("no l10n", loaded_[2]->name());
 }
 
-class ExtensionsReadyRecorder : public NotificationObserver {
+class ExtensionsReadyRecorder : public content::NotificationObserver {
  public:
   ExtensionsReadyRecorder() : ready_(false) {
     registrar_.Add(this, chrome::NOTIFICATION_EXTENSIONS_READY,
@@ -3474,8 +3475,8 @@
 
  private:
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) {
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) {
     switch (type) {
       case chrome::NOTIFICATION_EXTENSIONS_READY:
         ready_ = true;
@@ -3485,7 +3486,7 @@
     }
   }
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   bool ready_;
 };
 
diff --git a/chrome/browser/extensions/extension_settings_frontend_unittest.cc b/chrome/browser/extensions/extension_settings_frontend_unittest.cc
index 06d774db..2e3f1ab 100644
--- a/chrome/browser/extensions/extension_settings_frontend_unittest.cc
+++ b/chrome/browser/extensions/extension_settings_frontend_unittest.cc
@@ -15,8 +15,8 @@
 #include "chrome/common/chrome_notification_types.h"
 #include "chrome/test/base/testing_profile.h"
 #include "content/common/notification_service.h"
-#include "content/common/notification_source.h"
-#include "content/common/notification_details.h"
+#include "content/public/browser/notification_details.h"
+#include "content/public/browser/notification_source.h"
 
 class ExtensionSettingsFrontendTest : public testing::Test {
  public:
diff --git a/chrome/browser/extensions/extension_startup_browsertest.cc b/chrome/browser/extensions/extension_startup_browsertest.cc
index ab11330..147c313 100644
--- a/chrome/browser/extensions/extension_startup_browsertest.cc
+++ b/chrome/browser/extensions/extension_startup_browsertest.cc
@@ -18,7 +18,7 @@
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "content/browser/tab_contents/tab_contents.h"
-#include "content/common/notification_details.h"
+#include "content/public/browser/notification_details.h"
 #include "net/base/net_util.h"
 
 // This file contains high-level startup tests for the extensions system. We've
diff --git a/chrome/browser/extensions/extension_tab_helper.cc b/chrome/browser/extensions/extension_tab_helper.cc
index b4a7735..ad8c933 100644
--- a/chrome/browser/extensions/extension_tab_helper.cc
+++ b/chrome/browser/extensions/extension_tab_helper.cc
@@ -57,7 +57,7 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_TAB_CONTENTS_APPLICATION_EXTENSION_CHANGED,
-      Source<ExtensionTabHelper>(this),
+      content::Source<ExtensionTabHelper>(this),
       NotificationService::NoDetails());
 }
 
@@ -105,7 +105,7 @@
           wrapper_->restore_tab_helper()->session_id().id());
       NotificationService::current()->Notify(
           chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED,
-          Source<ExtensionAction>(browser_action),
+          content::Source<ExtensionAction>(browser_action),
           NotificationService::NoDetails());
     }
 
diff --git a/chrome/browser/extensions/extension_tab_id_map.cc b/chrome/browser/extensions/extension_tab_id_map.cc
index c3f638f6..3f8286d 100644
--- a/chrome/browser/extensions/extension_tab_id_map.cc
+++ b/chrome/browser/extensions/extension_tab_id_map.cc
@@ -12,8 +12,8 @@
 #include "content/browser/tab_contents/tab_contents.h"
 #include "content/browser/renderer_host/render_view_host.h"
 #include "content/browser/renderer_host/render_process_host.h"
-#include "content/common/notification_registrar.h"
-#include "content/common/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
 #include "content/common/notification_service.h"
 #include "content/public/browser/notification_types.h"
 
@@ -24,18 +24,18 @@
 // This class listens for notifications about new and closed tabs on the UI
 // thread, and notifies the ExtensionTabIdMap on the IO thread. It should only
 // ever be accessed on the UI thread.
-class ExtensionTabIdMap::TabObserver : public NotificationObserver {
+class ExtensionTabIdMap::TabObserver : public content::NotificationObserver {
  public:
   TabObserver();
   ~TabObserver();
 
  private:
-  // NotificationObserver interface.
+  // content::NotificationObserver interface.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details);
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details);
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 };
 
 ExtensionTabIdMap::TabObserver::TabObserver() {
@@ -53,16 +53,16 @@
 }
 
 void ExtensionTabIdMap::TabObserver::Observe(
-    int type, const NotificationSource& source,
-    const NotificationDetails& details) {
+    int type, const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   switch (type) {
     case content::NOTIFICATION_RENDER_VIEW_HOST_CREATED_FOR_TAB: {
-      TabContents* contents = Source<TabContents>(source).ptr();
+      TabContents* contents = content::Source<TabContents>(source).ptr();
       TabContentsWrapper* tab =
           TabContentsWrapper::GetCurrentWrapperForContents(contents);
       if (!tab)
         break;
-      RenderViewHost* host = Details<RenderViewHost>(details).ptr();
+      RenderViewHost* host = content::Details<RenderViewHost>(details).ptr();
       // TODO(mpcmoplete): How can we tell if window_id is bogus? It may not
       // have been set yet.
       BrowserThread::PostTask(
@@ -76,7 +76,8 @@
       break;
     }
     case content::NOTIFICATION_TAB_PARENTED: {
-      TabContentsWrapper* tab = Source<TabContentsWrapper>(source).ptr();
+      TabContentsWrapper* tab =
+          content::Source<TabContentsWrapper>(source).ptr();
       RenderViewHost* host = tab->render_view_host();
       BrowserThread::PostTask(
           BrowserThread::IO, FROM_HERE,
@@ -89,7 +90,7 @@
       break;
     }
     case content::NOTIFICATION_RENDER_VIEW_HOST_DELETED: {
-      RenderViewHost* host = Source<RenderViewHost>(source).ptr();
+      RenderViewHost* host = content::Source<RenderViewHost>(source).ptr();
       BrowserThread::PostTask(
           BrowserThread::IO, FROM_HERE,
           base::Bind(
diff --git a/chrome/browser/extensions/extension_tabs_module.cc b/chrome/browser/extensions/extension_tabs_module.cc
index f5a07bf..7cc8f14 100644
--- a/chrome/browser/extensions/extension_tabs_module.cc
+++ b/chrome/browser/extensions/extension_tabs_module.cc
@@ -1364,7 +1364,7 @@
   wrapper->CaptureSnapshot();
   registrar_.Add(this,
                  chrome::NOTIFICATION_TAB_SNAPSHOT_TAKEN,
-                 Source<TabContentsWrapper>(wrapper));
+                 content::Source<TabContentsWrapper>(wrapper));
   AddRef();  // Balanced in CaptureVisibleTabFunction::Observe().
 
   return true;
@@ -1392,12 +1392,14 @@
 // If a backing store was not available in CaptureVisibleTabFunction::RunImpl,
 // than the renderer was asked for a snapshot.  Listen for a notification
 // that the snapshot is available.
-void CaptureVisibleTabFunction::Observe(int type,
-                                        const NotificationSource& source,
-                                        const NotificationDetails& details) {
+void CaptureVisibleTabFunction::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   DCHECK(type == chrome::NOTIFICATION_TAB_SNAPSHOT_TAKEN);
 
-  const SkBitmap *screen_capture = Details<const SkBitmap>(details).ptr();
+  const SkBitmap *screen_capture =
+      content::Details<const SkBitmap>(details).ptr();
   const bool error = screen_capture->empty();
 
   if (error) {
@@ -1503,20 +1505,23 @@
   // The tab contents does not know its language yet.  Let's  wait until it
   // receives it, or until the tab is closed/navigates to some other page.
   registrar_.Add(this, chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
-                 Source<TabContents>(contents->tab_contents()));
-  registrar_.Add(this, content::NOTIFICATION_TAB_CLOSING,
-                 Source<NavigationController>(&(contents->controller())));
-  registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-                 Source<NavigationController>(&(contents->controller())));
+                 content::Source<TabContents>(contents->tab_contents()));
+  registrar_.Add(
+      this, content::NOTIFICATION_TAB_CLOSING,
+      content::Source<NavigationController>(&(contents->controller())));
+  registrar_.Add(
+      this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
+      content::Source<NavigationController>(&(contents->controller())));
   return true;
 }
 
-void DetectTabLanguageFunction::Observe(int type,
-                                        const NotificationSource& source,
-                                        const NotificationDetails& details) {
+void DetectTabLanguageFunction::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   std::string language;
   if (type == chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED)
-    language = *Details<std::string>(details).ptr();
+    language = *content::Details<std::string>(details).ptr();
 
   registrar_.RemoveAll();
 
diff --git a/chrome/browser/extensions/extension_tabs_module.h b/chrome/browser/extensions/extension_tabs_module.h
index 31ab2b5..6d26e6b 100644
--- a/chrome/browser/extensions/extension_tabs_module.h
+++ b/chrome/browser/extensions/extension_tabs_module.h
@@ -11,8 +11,8 @@
 #include "base/compiler_specific.h"
 #include "chrome/browser/extensions/extension_function.h"
 #include "content/browser/tab_contents/tab_contents_observer.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class BackingStore;
 class SkBitmap;
@@ -119,20 +119,20 @@
   DECLARE_EXTENSION_FUNCTION_NAME("tabs.remove")
 };
 class DetectTabLanguageFunction : public AsyncExtensionFunction,
-                                  public NotificationObserver {
+                                  public content::NotificationObserver {
  private:
   virtual ~DetectTabLanguageFunction() {}
   virtual bool RunImpl() OVERRIDE;
 
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
   void GotLanguage(const std::string& language);
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   DECLARE_EXTENSION_FUNCTION_NAME("tabs.detectLanguage")
 };
 class CaptureVisibleTabFunction : public AsyncExtensionFunction,
-                                  public NotificationObserver {
+                                  public content::NotificationObserver {
  private:
   enum ImageFormat {
     FORMAT_JPEG,
@@ -146,11 +146,11 @@
   virtual bool RunImpl() OVERRIDE;
   virtual bool CaptureSnapshotFromBackingStore(BackingStore* backing_store);
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
   virtual void SendResultFromBitmap(const SkBitmap& screen_capture);
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // The format (JPEG vs PNG) of the resulting image.  Set in RunImpl().
   ImageFormat image_format_;
diff --git a/chrome/browser/extensions/extension_test_api.cc b/chrome/browser/extensions/extension_test_api.cc
index 693d111..a78707a2 100644
--- a/chrome/browser/extensions/extension_test_api.cc
+++ b/chrome/browser/extensions/extension_test_api.cc
@@ -30,7 +30,7 @@
 bool ExtensionTestPassFunction::RunImpl() {
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_TEST_PASSED,
-      Source<Profile>(dispatcher()->profile()),
+      content::Source<Profile>(dispatcher()->profile()),
       NotificationService::NoDetails());
   return true;
 }
@@ -42,8 +42,8 @@
   EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &message));
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_TEST_FAILED,
-      Source<Profile>(dispatcher()->profile()),
-      Details<std::string>(&message));
+      content::Source<Profile>(dispatcher()->profile()),
+      content::Details<std::string>(&message));
   return true;
 }
 
@@ -82,8 +82,8 @@
   AddRef();  // balanced in Reply
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_TEST_MESSAGE,
-      Source<ExtensionTestSendMessageFunction>(this),
-      Details<std::string>(&message));
+      content::Source<ExtensionTestSendMessageFunction>(this),
+      content::Details<std::string>(&message));
   return true;
 }
 ExtensionTestSendMessageFunction::~ExtensionTestSendMessageFunction() {}
diff --git a/chrome/browser/extensions/extension_test_message_listener.cc b/chrome/browser/extensions/extension_test_message_listener.cc
index dcb2f55..42df2b0 100644
--- a/chrome/browser/extensions/extension_test_message_listener.cc
+++ b/chrome/browser/extensions/extension_test_message_listener.cc
@@ -40,11 +40,11 @@
 
 void ExtensionTestMessageListener::Observe(
     int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
-  const std::string& content = *Details<std::string>(details).ptr();
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
+  const std::string& content = *content::Details<std::string>(details).ptr();
   if (!satisfied_ && content == expected_message_) {
-    function_ = Source<ExtensionTestSendMessageFunction>(source).ptr();
+    function_ = content::Source<ExtensionTestSendMessageFunction>(source).ptr();
     satisfied_ = true;
     registrar_.RemoveAll();  // Stop listening for more messages.
     if (!will_reply_) {
diff --git a/chrome/browser/extensions/extension_test_message_listener.h b/chrome/browser/extensions/extension_test_message_listener.h
index 7878e7474..297105b 100644
--- a/chrome/browser/extensions/extension_test_message_listener.h
+++ b/chrome/browser/extensions/extension_test_message_listener.h
@@ -9,8 +9,8 @@
 #include <string>
 
 #include "base/compiler_specific.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class ExtensionTestSendMessageFunction;
 
@@ -43,7 +43,7 @@
 // either make it a local variable inside your test body, or if it's a member
 // variable of a ExtensionBrowserTest subclass, override the
 // InProcessBrowserTest::CleanUpOnMainThread() method and clean it up there.
-class ExtensionTestMessageListener : public NotificationObserver {
+class ExtensionTestMessageListener : public content::NotificationObserver {
  public:
   // We immediately start listening for |expected_message|.
   ExtensionTestMessageListener(const std::string& expected_message,
@@ -59,15 +59,15 @@
   // WaitUntilSatisfied has returned true, and if will_reply is true.
   void Reply(const std::string& message);
 
-  // Implements the NotificationObserver interface.
+  // Implements the content::NotificationObserver interface.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   bool was_satisfied() const { return satisfied_; }
 
  private:
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // The message we're expecting.
   std::string expected_message_;
diff --git a/chrome/browser/extensions/extension_toolbar_model.cc b/chrome/browser/extensions/extension_toolbar_model.cc
index b21b63c..ef2d276f 100644
--- a/chrome/browser/extensions/extension_toolbar_model.cc
+++ b/chrome/browser/extensions/extension_toolbar_model.cc
@@ -20,14 +20,14 @@
   DCHECK(service_);
 
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED,
-                 Source<Profile>(service_->profile()));
+                 content::Source<Profile>(service_->profile()));
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
-                 Source<Profile>(service_->profile()));
+                 content::Source<Profile>(service_->profile()));
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSIONS_READY,
-                 Source<Profile>(service_->profile()));
+                 content::Source<Profile>(service_->profile()));
   registrar_.Add(
       this, chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED,
-      Source<ExtensionPrefs>(service_->extension_prefs()));
+      content::Source<ExtensionPrefs>(service_->extension_prefs()));
 
   visible_icon_count_ = prefs_->GetInteger(prefs::kExtensionToolbarSize);
 }
@@ -80,9 +80,10 @@
   prefs_->ScheduleSavePersistentPrefs();
 }
 
-void ExtensionToolbarModel::Observe(int type,
-                                    const NotificationSource& source,
-                                    const NotificationDetails& details) {
+void ExtensionToolbarModel::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   if (type == chrome::NOTIFICATION_EXTENSIONS_READY) {
     InitializeExtensionList();
     return;
@@ -93,9 +94,9 @@
 
   const Extension* extension = NULL;
   if (type == chrome::NOTIFICATION_EXTENSION_UNLOADED) {
-    extension = Details<UnloadedExtensionInfo>(details)->extension;
+    extension = content::Details<UnloadedExtensionInfo>(details)->extension;
   } else {
-    extension = Details<const Extension>(details).ptr();
+    extension = content::Details<const Extension>(details).ptr();
   }
   if (type == chrome::NOTIFICATION_EXTENSION_LOADED) {
     // We don't want to add the same extension twice. It may have already been
diff --git a/chrome/browser/extensions/extension_toolbar_model.h b/chrome/browser/extensions/extension_toolbar_model.h
index 7c2a54b696..52be1bfd 100644
--- a/chrome/browser/extensions/extension_toolbar_model.h
+++ b/chrome/browser/extensions/extension_toolbar_model.h
@@ -9,14 +9,14 @@
 #include "base/compiler_specific.h"
 #include "base/observer_list.h"
 #include "chrome/common/extensions/extension.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class ExtensionService;
 class PrefService;
 
 // Model for the browser actions toolbar.
-class ExtensionToolbarModel : public NotificationObserver {
+class ExtensionToolbarModel : public content::NotificationObserver {
  public:
   explicit ExtensionToolbarModel(ExtensionService* service);
   virtual ~ExtensionToolbarModel();
@@ -74,10 +74,10 @@
   int OriginalIndexToIncognito(int original_index);
 
  private:
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // To be called after the extension service is ready; gets loaded extensions
   // from the extension service and their saved order from the pref service
@@ -114,7 +114,7 @@
   // chevron).
   int visible_icon_count_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 };
 
 #endif  // CHROME_BROWSER_EXTENSIONS_EXTENSION_TOOLBAR_MODEL_H_
diff --git a/chrome/browser/extensions/extension_updater.h b/chrome/browser/extensions/extension_updater.h
index e3a390d..f07d08d 100644
--- a/chrome/browser/extensions/extension_updater.h
+++ b/chrome/browser/extensions/extension_updater.h
@@ -166,7 +166,7 @@
 // ....
 // updater->Stop();
 class ExtensionUpdater : public URLFetcher::Delegate,
-                         public NotificationObserver {
+                         public content::NotificationObserver {
  public:
   // Holds a pointer to the passed |service|, using it for querying installed
   // extensions and installing updated ones. The |frequency_seconds| parameter
@@ -331,10 +331,10 @@
   // started.
   bool MaybeInstallCRXFile();
 
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // Whether Start() has been called but not Stop().
   bool alive_;
@@ -373,7 +373,7 @@
   std::set<std::string> in_progress_ids_;
 
   // Observes CRX installs we initiate.
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // True when a CrxInstaller is doing an install.  Used in MaybeUpdateCrxFile()
   // to keep more than one install from running at once.
diff --git a/chrome/browser/extensions/extension_warning_set.cc b/chrome/browser/extensions/extension_warning_set.cc
index c99f18a2..f84a5ca1 100644
--- a/chrome/browser/extensions/extension_warning_set.cc
+++ b/chrome/browser/extensions/extension_warning_set.cc
@@ -128,7 +128,7 @@
 void ExtensionWarningSet::NotifyWarningsChanged() {
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_WARNING_CHANGED,
-      Source<Profile>(profile_),
+      content::Source<Profile>(profile_),
       NotificationService::NoDetails());
 }
 
diff --git a/chrome/browser/extensions/extension_web_socket_proxy_private_api.cc b/chrome/browser/extensions/extension_web_socket_proxy_private_api.cc
index b952511..5476f68 100644
--- a/chrome/browser/extensions/extension_web_socket_proxy_private_api.cc
+++ b/chrome/browser/extensions/extension_web_socket_proxy_private_api.cc
@@ -10,8 +10,8 @@
 #include "chrome/browser/internal_auth.h"
 #include "chrome/common/chrome_notification_types.h"
 #include "chrome/common/extensions/extension.h"
-#include "content/common/notification_details.h"
 #include "content/common/notification_service.h"
+#include "content/public/browser/notification_details.h"
 #include "net/base/escape.h"
 
 #if defined(OS_CHROMEOS)
@@ -26,8 +26,8 @@
 }
 
 void WebSocketProxyPrivate::Observe(
-    int type, const NotificationSource& source,
-    const NotificationDetails& details) {
+    int type, const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
 #if defined(OS_CHROMEOS)
   DCHECK_EQ(chrome::NOTIFICATION_WEB_SOCKET_PROXY_STARTED, type);
 #else
@@ -52,9 +52,9 @@
 }
 
 void WebSocketProxyPrivateGetURLForTCPFunction::Observe(
-    int type, const NotificationSource& source,
-    const NotificationDetails& details) {
-  listening_port_ = *Details<int>(details).ptr();
+    int type, const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
+  listening_port_ = *content::Details<int>(details).ptr();
   WebSocketProxyPrivate::Observe(type, source, details);
 }
 
diff --git a/chrome/browser/extensions/extension_web_socket_proxy_private_api.h b/chrome/browser/extensions/extension_web_socket_proxy_private_api.h
index 7a75137..8f888cf 100644
--- a/chrome/browser/extensions/extension_web_socket_proxy_private_api.h
+++ b/chrome/browser/extensions/extension_web_socket_proxy_private_api.h
@@ -7,12 +7,12 @@
 #pragma once
 
 #include "base/timer.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
 #include "chrome/browser/extensions/extension_function.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class WebSocketProxyPrivate
-    : public AsyncExtensionFunction, public NotificationObserver {
+    : public AsyncExtensionFunction, public content::NotificationObserver {
  public:
   WebSocketProxyPrivate();
 
@@ -22,10 +22,10 @@
   virtual void Finalize();
 
  protected:
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(
-      int type, const NotificationSource& source,
-      const NotificationDetails& details) OVERRIDE;
+      int type, const content::NotificationSource& source,
+      const content::NotificationDetails& details) OVERRIDE;
 
   // Whether already finalized.
   bool is_finalized_;
@@ -33,7 +33,7 @@
   // Used to signal timeout (when waiting for proxy initial launch).
   base::OneShotTimer<WebSocketProxyPrivate> timer_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // Proxy listens incoming websocket connection on this port.
   int listening_port_;
@@ -57,10 +57,10 @@
   // ExtensionFunction implementation.
   virtual bool RunImpl() OVERRIDE;
 
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(
-      int type, const NotificationSource& source,
-      const NotificationDetails& details) OVERRIDE;
+      int type, const content::NotificationSource& source,
+      const content::NotificationDetails& details) OVERRIDE;
 
   // Finalizes async operation.
   virtual void Finalize() OVERRIDE;
diff --git a/chrome/browser/extensions/extension_webnavigation_api.cc b/chrome/browser/extensions/extension_webnavigation_api.cc
index 52a80d3..0b453a7 100644
--- a/chrome/browser/extensions/extension_webnavigation_api.cc
+++ b/chrome/browser/extensions/extension_webnavigation_api.cc
@@ -364,7 +364,7 @@
   if (registrar_.IsEmpty()) {
     registrar_.Add(this,
                    content::NOTIFICATION_RETARGETING,
-                   Source<content::BrowserContext>(profile_));
+                   content::Source<content::BrowserContext>(profile_));
     registrar_.Add(this,
                    content::NOTIFICATION_TAB_ADDED,
                    NotificationService::AllSources());
@@ -376,19 +376,20 @@
 
 void ExtensionWebNavigationEventRouter::Observe(
     int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   switch (type) {
     case content::NOTIFICATION_RETARGETING:
-      Retargeting(Details<const content::RetargetingDetails>(details).ptr());
+      Retargeting(
+          content::Details<const content::RetargetingDetails>(details).ptr());
       break;
 
     case content::NOTIFICATION_TAB_ADDED:
-      TabAdded(Details<TabContents>(details).ptr());
+      TabAdded(content::Details<TabContents>(details).ptr());
       break;
 
     case content::NOTIFICATION_TAB_CONTENTS_DESTROYED:
-      TabDestroyed(Source<TabContents>(source).ptr());
+      TabDestroyed(content::Source<TabContents>(source).ptr());
       break;
 
     default:
diff --git a/chrome/browser/extensions/extension_webnavigation_api.h b/chrome/browser/extensions/extension_webnavigation_api.h
index 28bdcd6..1989fe0 100644
--- a/chrome/browser/extensions/extension_webnavigation_api.h
+++ b/chrome/browser/extensions/extension_webnavigation_api.h
@@ -17,8 +17,8 @@
 #include "chrome/browser/extensions/extension_function.h"
 #include "chrome/browser/profiles/profile.h"
 #include "content/browser/tab_contents/tab_contents_observer.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 #include "googleurl/src/gurl.h"
 
 namespace content {
@@ -171,7 +171,7 @@
 
 // Observes navigation notifications and routes them as events to the extension
 // system.
-class ExtensionWebNavigationEventRouter : public NotificationObserver {
+class ExtensionWebNavigationEventRouter : public content::NotificationObserver {
  public:
   explicit ExtensionWebNavigationEventRouter(Profile* profile);
   virtual ~ExtensionWebNavigationEventRouter();
@@ -198,10 +198,10 @@
     GURL target_url;
   };
 
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // Handler for the NOTIFICATION_RETARGETING event. The method takes the
   // details of such an event and stores them for the later
@@ -221,7 +221,7 @@
   std::map<TabContents*, PendingTabContents> pending_tab_contents_;
 
   // Used for tracking registrations to navigation notifications.
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // The profile that owns us via ExtensionService.
   Profile* profile_;
diff --git a/chrome/browser/extensions/extension_webrequest_apitest.cc b/chrome/browser/extensions/extension_webrequest_apitest.cc
index c12f2da5..c1c5d41 100644
--- a/chrome/browser/extensions/extension_webrequest_apitest.cc
+++ b/chrome/browser/extensions/extension_webrequest_apitest.cc
@@ -8,13 +8,13 @@
 #include "chrome/browser/ui/login/login_prompt.h"
 #include "chrome/common/chrome_notification_types.h"
 #include "chrome/common/chrome_switches.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 #include "content/common/notification_service.h"
 #include "net/base/mock_host_resolver.h"
 
 namespace {
 
-class CancelLoginDialog : public NotificationObserver {
+class CancelLoginDialog : public content::NotificationObserver {
  public:
   CancelLoginDialog() {
     registrar_.Add(this,
@@ -25,15 +25,15 @@
   virtual ~CancelLoginDialog() {}
 
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) {
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) {
     LoginHandler* handler =
-        Details<LoginNotificationDetails>(details).ptr()->handler();
+        content::Details<LoginNotificationDetails>(details).ptr()->handler();
     handler->CancelAuth();
   }
 
  private:
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
  DISALLOW_COPY_AND_ASSIGN(CancelLoginDialog);
 };
diff --git a/chrome/browser/extensions/extension_webstore_private_api.h b/chrome/browser/extensions/extension_webstore_private_api.h
index 1200603..8f6bff6 100644
--- a/chrome/browser/extensions/extension_webstore_private_api.h
+++ b/chrome/browser/extensions/extension_webstore_private_api.h
@@ -13,8 +13,8 @@
 #include "chrome/browser/extensions/webstore_install_helper.h"
 #include "chrome/browser/extensions/webstore_installer.h"
 #include "chrome/common/net/gaia/google_service_auth_error.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class ProfileSyncService;
 
diff --git a/chrome/browser/extensions/extension_webstore_private_apitest.cc b/chrome/browser/extensions/extension_webstore_private_apitest.cc
index 1190560..beaa097 100644
--- a/chrome/browser/extensions/extension_webstore_private_apitest.cc
+++ b/chrome/browser/extensions/extension_webstore_private_apitest.cc
@@ -14,8 +14,8 @@
 #include "chrome/common/chrome_notification_types.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/test/base/ui_test_utils.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 #include "content/common/notification_service.h"
 #include "net/base/mock_host_resolver.h"
 
diff --git a/chrome/browser/extensions/external_policy_extension_loader.cc b/chrome/browser/extensions/external_policy_extension_loader.cc
index 69cc317..88872b9 100644
--- a/chrome/browser/extensions/external_policy_extension_loader.cc
+++ b/chrome/browser/extensions/external_policy_extension_loader.cc
@@ -42,7 +42,7 @@
   pref_change_registrar_.Add(prefs::kExtensionInstallForceList, this);
   notification_registrar_.Add(this,
                               chrome::NOTIFICATION_PROFILE_DESTROYED,
-                              Source<Profile>(profile_));
+                              content::Source<Profile>(profile_));
 }
 
 void ExternalPolicyExtensionLoader::StartLoading() {
@@ -74,13 +74,13 @@
 
 void ExternalPolicyExtensionLoader::Observe(
     int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   if (profile_ == NULL) return;
   switch (type) {
     case chrome::NOTIFICATION_PREF_CHANGED: {
-      if (Source<PrefService>(source).ptr() == profile_->GetPrefs()) {
-        std::string* pref_name = Details<std::string>(details).ptr();
+      if (content::Source<PrefService>(source).ptr() == profile_->GetPrefs()) {
+        std::string* pref_name = content::Details<std::string>(details).ptr();
         if (*pref_name == prefs::kExtensionInstallForceList) {
           StartLoading();
         } else {
@@ -90,7 +90,7 @@
       break;
     }
     case chrome::NOTIFICATION_PROFILE_DESTROYED: {
-      if (Source<Profile>(source).ptr() == profile_) {
+      if (content::Source<Profile>(source).ptr() == profile_) {
         notification_registrar_.RemoveAll();
         pref_change_registrar_.RemoveAll();
         profile_ = NULL;
diff --git a/chrome/browser/extensions/external_policy_extension_loader.h b/chrome/browser/extensions/external_policy_extension_loader.h
index ecfc7e4d3..c928d70 100644
--- a/chrome/browser/extensions/external_policy_extension_loader.h
+++ b/chrome/browser/extensions/external_policy_extension_loader.h
@@ -10,8 +10,8 @@
 
 #include "base/compiler_specific.h"
 #include "chrome/browser/prefs/pref_change_registrar.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class MockExternalPolicyExtensionProviderVisitor;
 class Profile;
@@ -21,14 +21,14 @@
 // registered.
 class ExternalPolicyExtensionLoader
     : public ExternalExtensionLoader,
-      public NotificationObserver {
+      public content::NotificationObserver {
  public:
   explicit ExternalPolicyExtensionLoader(Profile* profile);
 
-  // NotificationObserver implementation
+  // content::NotificationObserver implementation
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
  protected:
   virtual void StartLoading() OVERRIDE;
@@ -39,7 +39,7 @@
   virtual ~ExternalPolicyExtensionLoader() {}
 
   PrefChangeRegistrar pref_change_registrar_;
-  NotificationRegistrar notification_registrar_;
+  content::NotificationRegistrar notification_registrar_;
 
   Profile* profile_;
 
diff --git a/chrome/browser/extensions/image_loading_tracker.cc b/chrome/browser/extensions/image_loading_tracker.cc
index 213c630..92965b224 100644
--- a/chrome/browser/extensions/image_loading_tracker.cc
+++ b/chrome/browser/extensions/image_loading_tracker.cc
@@ -181,12 +181,12 @@
 }
 
 void ImageLoadingTracker::Observe(int type,
-                                  const NotificationSource& source,
-                                  const NotificationDetails& details) {
+                                  const content::NotificationSource& source,
+                                  const content::NotificationDetails& details) {
   DCHECK(type == chrome::NOTIFICATION_EXTENSION_UNLOADED);
 
   const Extension* extension =
-      Details<UnloadedExtensionInfo>(details)->extension;
+      content::Details<UnloadedExtensionInfo>(details)->extension;
 
   // Remove all entries in the load_map_ referencing the extension. This ensures
   // we don't attempt to cache the image when the load completes.
diff --git a/chrome/browser/extensions/image_loading_tracker.h b/chrome/browser/extensions/image_loading_tracker.h
index df6a3b0d..acc2258 100644
--- a/chrome/browser/extensions/image_loading_tracker.h
+++ b/chrome/browser/extensions/image_loading_tracker.h
@@ -10,8 +10,8 @@
 
 #include "base/compiler_specific.h"
 #include "base/memory/ref_counted.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class Extension;
 class ExtensionResource;
@@ -36,7 +36,7 @@
 // Observer is notified immediately from the call to LoadImage. In other words,
 // by the time LoadImage returns the observer has been notified.
 //
-class ImageLoadingTracker : public NotificationObserver {
+class ImageLoadingTracker : public content::NotificationObserver {
  public:
   enum CacheParam {
     CACHE,
@@ -85,11 +85,11 @@
   void OnImageLoaded(SkBitmap* image, const ExtensionResource& resource,
                      const gfx::Size& original_size, int id);
 
-  // NotificationObserver method. If an extension is uninstalled while we're
-  // waiting for the image we remove the entry from load_map_.
+  // content::NotificationObserver method. If an extension is uninstalled while
+  // we're waiting for the image we remove the entry from load_map_.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // The view that is waiting for the image to load.
   Observer* observer_;
@@ -105,7 +105,7 @@
   // deleted while fetching the image the entry is removed from the map.
   LoadMap load_map_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   DISALLOW_COPY_AND_ASSIGN(ImageLoadingTracker);
 };
diff --git a/chrome/browser/extensions/image_loading_tracker_unittest.cc b/chrome/browser/extensions/image_loading_tracker_unittest.cc
index 1f022f1..b848204 100644
--- a/chrome/browser/extensions/image_loading_tracker_unittest.cc
+++ b/chrome/browser/extensions/image_loading_tracker_unittest.cc
@@ -165,7 +165,7 @@
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_UNLOADED,
       NotificationService::AllSources(),
-      Details<UnloadedExtensionInfo>(&details));
+      content::Details<UnloadedExtensionInfo>(&details));
 
   // Chuck the extension, that way if anyone tries to access it we should crash
   // or get valgrind errors.
diff --git a/chrome/browser/extensions/isolated_app_browsertest.cc b/chrome/browser/extensions/isolated_app_browsertest.cc
index 3c6dd6a..541a0ce3 100644
--- a/chrome/browser/extensions/isolated_app_browsertest.cc
+++ b/chrome/browser/extensions/isolated_app_browsertest.cc
@@ -117,7 +117,7 @@
   ui_test_utils::CrashTab(tab1);
   ui_test_utils::WindowedNotificationObserver observer(
       content::NOTIFICATION_LOAD_STOP,
-      Source<NavigationController>(
+      content::Source<NavigationController>(
           &browser()->GetSelectedTabContentsWrapper()->controller()));
   browser()->Reload(CURRENT_TAB);
   observer.Wait();
diff --git a/chrome/browser/extensions/network_delay_listener.cc b/chrome/browser/extensions/network_delay_listener.cc
index 09873d9a..f35a1fe 100644
--- a/chrome/browser/extensions/network_delay_listener.cc
+++ b/chrome/browser/extensions/network_delay_listener.cc
@@ -111,16 +111,18 @@
   Release();
 }
 
-void NetworkDelayListener::Observe(int type,
-                                   const NotificationSource& source,
-                                   const NotificationDetails& details) {
+void NetworkDelayListener::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
 
   switch (type) {
     case chrome::NOTIFICATION_EXTENSION_LOADED: {
-      const Extension* extension = Details<const Extension>(details).ptr();
+      const Extension* extension =
+          content::Details<const Extension>(details).ptr();
       ExtensionService* service =
-          Source<Profile>(source).ptr()->GetExtensionService();
+          content::Source<Profile>(source).ptr()->GetExtensionService();
       // We only wait for background pages to load. If the extension has no
       // background page, ignore it.
       if (service->extension_prefs()->DelaysNetworkRequests(extension->id()) &&
@@ -134,9 +136,9 @@
     }
     case chrome::NOTIFICATION_EXTENSION_UNLOADED: {
       const Extension* extension =
-          Details<UnloadedExtensionInfo>(details)->extension;
+          content::Details<UnloadedExtensionInfo>(details)->extension;
       ExtensionService* service =
-          Source<Profile>(source).ptr()->GetExtensionService();
+          content::Source<Profile>(source).ptr()->GetExtensionService();
       if (service->extension_prefs()->DelaysNetworkRequests(extension->id())) {
         BrowserThread::PostTask(
             BrowserThread::IO, FROM_HERE,
@@ -146,14 +148,14 @@
       break;
     }
     case chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING: {
-      const ExtensionHost* eh = Details<ExtensionHost>(details).ptr();
+      const ExtensionHost* eh = content::Details<ExtensionHost>(details).ptr();
       if (eh->extension_host_type() !=
           chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE)
         return;
 
       const Extension* extension = eh->extension();
       ExtensionService* service =
-          Source<Profile>(source).ptr()->GetExtensionService();
+          content::Source<Profile>(source).ptr()->GetExtensionService();
       if (service->extension_prefs()->DelaysNetworkRequests(extension->id())) {
         BrowserThread::PostTask(
             BrowserThread::IO, FROM_HERE,
diff --git a/chrome/browser/extensions/network_delay_listener.h b/chrome/browser/extensions/network_delay_listener.h
index 9df06d1..d2207cb 100644
--- a/chrome/browser/extensions/network_delay_listener.h
+++ b/chrome/browser/extensions/network_delay_listener.h
@@ -14,8 +14,8 @@
 #include "base/perftimer.h"
 #include "base/time.h"
 #include "content/browser/renderer_host/resource_queue.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 namespace net {
 class URLRequest;
@@ -33,7 +33,7 @@
 class NetworkDelayListener
     : public base::RefCountedThreadSafe<NetworkDelayListener>,
       public ResourceQueueDelegate,
-      public NotificationObserver {
+      public content::NotificationObserver {
  public:
   NetworkDelayListener();
 
@@ -96,12 +96,12 @@
 
   // --- UI thread:
 
-  // NotificationObserver
+  // content::NotificationObserver
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   DISALLOW_COPY_AND_ASSIGN(NetworkDelayListener);
 };
diff --git a/chrome/browser/extensions/network_delay_listener_unittest.cc b/chrome/browser/extensions/network_delay_listener_unittest.cc
index fb6f1f2f..cfae3949 100644
--- a/chrome/browser/extensions/network_delay_listener_unittest.cc
+++ b/chrome/browser/extensions/network_delay_listener_unittest.cc
@@ -136,8 +136,8 @@
                               chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE));
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
-        Source<Profile>(profile_.get()),
-        Details<ExtensionHost>(background_host.get()));
+        content::Source<Profile>(profile_.get()),
+        content::Details<ExtensionHost>(background_host.get()));
     MessageLoop::current()->RunAllPending();
   }
 
@@ -166,8 +166,8 @@
       new TestExtensionHost(extension1_, chrome::VIEW_TYPE_EXTENSION_DIALOG));
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_HOST_DID_STOP_LOADING,
-      Source<Profile>(profile_.get()),
-      Details<ExtensionHost>(dialog_host.get()));
+      content::Source<Profile>(profile_.get()),
+      content::Details<ExtensionHost>(dialog_host.get()));
   MessageLoop::current()->RunAllPending();
 
   SendExtensionLoadedNotification(extension1_);
diff --git a/chrome/browser/extensions/speech_input/extension_speech_input_api.cc b/chrome/browser/extensions/speech_input/extension_speech_input_api.cc
index f18f911..33c5737b9 100644
--- a/chrome/browser/extensions/speech_input/extension_speech_input_api.cc
+++ b/chrome/browser/extensions/speech_input/extension_speech_input_api.cc
@@ -25,7 +25,7 @@
       expecting_transition_(false),
       failed_(false) {
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_SPEECH_INPUT_FAILED,
-      Source<Profile>(profile()));
+      content::Source<Profile>(profile()));
 }
 
 SpeechInputAsyncFunction::~SpeechInputAsyncFunction() {
@@ -49,7 +49,7 @@
     // Register before RunImpl to ensure it's received if generated.
     if (state_before_call == start_state_) {
       registrar_.Add(this, transition_notification_,
-          Source<Profile>(profile()));
+          content::Source<Profile>(profile()));
       AddRef(); // Balanced in Observe().
     }
 
@@ -76,14 +76,16 @@
   SendResponse(true);
 }
 
-void SpeechInputAsyncFunction::Observe(int type,
-                                       const NotificationSource& source,
-                                       const NotificationDetails& details) {
-  DCHECK_EQ(profile(), Source<Profile>(source).ptr());
+void SpeechInputAsyncFunction::Observe(
+    int type,
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
+  DCHECK_EQ(profile(), content::Source<Profile>(source).ptr());
 
   if (type == chrome::NOTIFICATION_EXTENSION_SPEECH_INPUT_FAILED) {
     ExtensionSpeechInputManager::ExtensionError* error_details =
-        Details<ExtensionSpeechInputManager::ExtensionError>(details).ptr();
+        content::Details<ExtensionSpeechInputManager::ExtensionError>(
+            details).ptr();
     if (error_details->extension_id_ != extension_id())
       return;
 
@@ -91,7 +93,7 @@
     failed_ = true;
   } else {
     DCHECK_EQ(type, transition_notification_);
-    if (*Details<std::string>(details).ptr() != extension_id())
+    if (*content::Details<std::string>(details).ptr() != extension_id())
       return;
     DCHECK(expecting_transition_);
   }
diff --git a/chrome/browser/extensions/speech_input/extension_speech_input_api.h b/chrome/browser/extensions/speech_input/extension_speech_input_api.h
index bf09bb6..fffbc1b 100644
--- a/chrome/browser/extensions/speech_input/extension_speech_input_api.h
+++ b/chrome/browser/extensions/speech_input/extension_speech_input_api.h
@@ -14,7 +14,7 @@
 // Handles asynchronous operations such as starting or stopping speech
 // recognition in the framework of the extension API state machine.
 class SpeechInputAsyncFunction : public AsyncExtensionFunction,
-                                 public NotificationObserver {
+                                 public content::NotificationObserver {
  protected:
   SpeechInputAsyncFunction(int start_state, int transition_state,
                            int end_state, int transition_notification);
@@ -24,10 +24,10 @@
   virtual bool RunImpl() = 0;
 
  private:
-  // NotificationObserver.
+  // content::NotificationObserver.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // To be defined on construction by derived classes.
   int start_state_;
@@ -35,7 +35,7 @@
   int end_state_;
   int transition_notification_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   bool expecting_transition_;
   bool failed_;
 };
diff --git a/chrome/browser/extensions/speech_input/extension_speech_input_manager.cc b/chrome/browser/extensions/speech_input/extension_speech_input_manager.cc
index a26bde87..b67f276 100644
--- a/chrome/browser/extensions/speech_input/extension_speech_input_manager.cc
+++ b/chrome/browser/extensions/speech_input/extension_speech_input_manager.cc
@@ -118,7 +118,7 @@
       state_(kIdle),
       speech_interface_(NULL) {
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
-                 Source<Profile>(profile_));
+                 content::Source<Profile>(profile_));
 }
 
 ExtensionSpeechInputManager::~ExtensionSpeechInputManager() {
@@ -138,12 +138,14 @@
 }
 
 void ExtensionSpeechInputManager::Observe(int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
-  if (type == chrome::NOTIFICATION_EXTENSION_UNLOADED)
-    ExtensionUnloaded(Details<UnloadedExtensionInfo>(details)->extension->id());
-  else
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
+  if (type == chrome::NOTIFICATION_EXTENSION_UNLOADED) {
+    ExtensionUnloaded(
+        content::Details<UnloadedExtensionInfo>(details)->extension->id());
+  } else {
     NOTREACHED();
+  }
 }
 
 void ExtensionSpeechInputManager::ShutdownOnUIThread() {
@@ -272,8 +274,8 @@
   VLOG(1) << "Sending start notification";
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_SPEECH_INPUT_RECORDING_STARTED,
-      Source<Profile>(profile_),
-      Details<std::string>(&extension_id_in_use_));
+      content::Source<Profile>(profile_),
+      content::Details<std::string>(&extension_id_in_use_));
 }
 
 void ExtensionSpeechInputManager::OnRecognizerError(
@@ -405,8 +407,8 @@
     ExtensionError details(extension_id, error);
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_EXTENSION_SPEECH_INPUT_FAILED,
-        Source<Profile>(profile_),
-        Details<ExtensionError>(&details));
+        content::Source<Profile>(profile_),
+        content::Details<ExtensionError>(&details));
   }
 
   // Used for errors that are also reported via the onError event.
@@ -604,6 +606,7 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_SPEECH_INPUT_RECORDING_STOPPED,
-      Source<Profile>(profile_), // Guarded by the state_ == kShutdown check.
-      Details<std::string>(&extension_id));
+      // Guarded by the state_ == kShutdown check.
+      content::Source<Profile>(profile_),      
+      content::Details<std::string>(&extension_id));
 }
diff --git a/chrome/browser/extensions/speech_input/extension_speech_input_manager.h b/chrome/browser/extensions/speech_input/extension_speech_input_manager.h
index c7b196b..1bda889 100644
--- a/chrome/browser/extensions/speech_input/extension_speech_input_manager.h
+++ b/chrome/browser/extensions/speech_input/extension_speech_input_manager.h
@@ -9,14 +9,12 @@
 #include "base/memory/ref_counted.h"
 #include "base/synchronization/lock.h"
 #include "content/browser/speech/speech_recognizer.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
 #include "content/common/speech_input_result.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 #include <string>
 
 class Extension;
-class NotificationDetails;
-class NotificationSource;
 class Profile;
 
 namespace net {
@@ -56,7 +54,7 @@
 class ExtensionSpeechInputManager
     : public base::RefCountedThreadSafe<ExtensionSpeechInputManager>,
       public speech_input::SpeechRecognizerDelegate,
-      public NotificationObserver,
+      public content::NotificationObserver,
       private ExtensionSpeechInterface {
  public:
   enum State {
@@ -105,10 +103,10 @@
   // Called by internal ProfileKeyedService class.
   void ShutdownOnUIThread();
 
-  // Methods from NotificationObserver.
+  // Methods from content::NotificationObserver.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // Methods from SpeechRecognizerDelegate.
   virtual void SetRecognitionResult(
@@ -188,7 +186,7 @@
   std::string extension_id_in_use_;
 
   // Used in the UI thread.
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   ExtensionSpeechInterface* speech_interface_;
 };
 
diff --git a/chrome/browser/extensions/theme_installed_infobar_delegate.cc b/chrome/browser/extensions/theme_installed_infobar_delegate.cc
index 9254d1f..e9832c6d 100644
--- a/chrome/browser/extensions/theme_installed_infobar_delegate.cc
+++ b/chrome/browser/extensions/theme_installed_infobar_delegate.cc
@@ -35,7 +35,7 @@
       previous_using_native_theme_(previous_using_native_theme) {
   theme_service_->OnInfobarDisplayed();
   registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED,
-                 Source<ThemeService>(theme_service_));
+                 content::Source<ThemeService>(theme_service_));
 }
 
 bool ThemeInstalledInfoBarDelegate::MatchesTheme(const Extension* theme) const {
@@ -99,8 +99,8 @@
 
 void ThemeInstalledInfoBarDelegate::Observe(
     int type,
-    const NotificationSource& source,
-    const NotificationDetails& details) {
+    const content::NotificationSource& source,
+    const content::NotificationDetails& details) {
   DCHECK_EQ(chrome::NOTIFICATION_BROWSER_THEME_CHANGED, type);
   // If the new theme is different from what this info bar is associated with,
   // close this info bar since it is no longer relevant.
diff --git a/chrome/browser/extensions/theme_installed_infobar_delegate.h b/chrome/browser/extensions/theme_installed_infobar_delegate.h
index eb1ec58..82d606c 100644
--- a/chrome/browser/extensions/theme_installed_infobar_delegate.h
+++ b/chrome/browser/extensions/theme_installed_infobar_delegate.h
@@ -8,8 +8,8 @@
 
 #include "base/compiler_specific.h"
 #include "chrome/browser/tab_contents/confirm_infobar_delegate.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class Extension;
 class ExtensionService;
@@ -19,7 +19,7 @@
 // When a user installs a theme, we display it immediately, but provide an
 // infobar allowing them to cancel.
 class ThemeInstalledInfoBarDelegate : public ConfirmInfoBarDelegate,
-                                      public NotificationObserver {
+                                      public content::NotificationObserver {
  public:
   ThemeInstalledInfoBarDelegate(InfoBarTabHelper* infobar_helper,
                                 ExtensionService* extension_service,
@@ -50,10 +50,10 @@
   virtual int GetButtons() const OVERRIDE;
   virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE;
 
-  // NotificationObserver:
+  // content::NotificationObserver:
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   ExtensionService* extension_service_;
   ThemeService* theme_service_;
@@ -69,7 +69,7 @@
   bool previous_using_native_theme_;
 
   // Registers and unregisters us for notifications.
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 };
 
 #endif  // CHROME_BROWSER_EXTENSIONS_THEME_INSTALLED_INFOBAR_DELEGATE_H_
diff --git a/chrome/browser/extensions/user_script_listener.cc b/chrome/browser/extensions/user_script_listener.cc
index 267c0b37..ff0a036c 100644
--- a/chrome/browser/extensions/user_script_listener.cc
+++ b/chrome/browser/extensions/user_script_listener.cc
@@ -166,14 +166,15 @@
 }
 
 void UserScriptListener::Observe(int type,
-                                 const NotificationSource& source,
-                                 const NotificationDetails& details) {
+                                 const content::NotificationSource& source,
+                                 const content::NotificationDetails& details) {
   CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
 
   switch (type) {
     case chrome::NOTIFICATION_EXTENSION_LOADED: {
-      Profile* profile = Source<Profile>(source).ptr();
-      const Extension* extension = Details<const Extension>(details).ptr();
+      Profile* profile = content::Source<Profile>(source).ptr();
+      const Extension* extension =
+          content::Details<const Extension>(details).ptr();
       if (extension->content_scripts().empty())
         return;  // no new patterns from this extension.
 
@@ -188,9 +189,9 @@
     }
 
     case chrome::NOTIFICATION_EXTENSION_UNLOADED: {
-      Profile* profile = Source<Profile>(source).ptr();
+      Profile* profile = content::Source<Profile>(source).ptr();
       const Extension* unloaded_extension =
-          Details<UnloadedExtensionInfo>(details)->extension;
+          content::Details<UnloadedExtensionInfo>(details)->extension;
       if (unloaded_extension->content_scripts().empty())
         return;  // no patterns to delete for this extension.
 
@@ -209,14 +210,14 @@
     }
 
     case chrome::NOTIFICATION_USER_SCRIPTS_UPDATED: {
-      Profile* profile = Source<Profile>(source).ptr();
+      Profile* profile = content::Source<Profile>(source).ptr();
       BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, base::Bind(
           &UserScriptListener::UserScriptsReady, this, profile));
       break;
     }
 
     case chrome::NOTIFICATION_PROFILE_DESTROYED: {
-      Profile* profile = Source<Profile>(source).ptr();
+      Profile* profile = content::Source<Profile>(source).ptr();
       BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, base::Bind(
           &UserScriptListener::ProfileDestroyed, this, profile));
       break;
diff --git a/chrome/browser/extensions/user_script_listener.h b/chrome/browser/extensions/user_script_listener.h
index 1d33c74..8efb34bb 100644
--- a/chrome/browser/extensions/user_script_listener.h
+++ b/chrome/browser/extensions/user_script_listener.h
@@ -11,8 +11,8 @@
 #include "base/compiler_specific.h"
 #include "base/memory/ref_counted.h"
 #include "content/browser/renderer_host/resource_queue.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 namespace net {
 class URLRequest;
@@ -33,7 +33,7 @@
 class UserScriptListener
     : public base::RefCountedThreadSafe<UserScriptListener>,
       public ResourceQueueDelegate,
-      public NotificationObserver {
+      public content::NotificationObserver {
  public:
   UserScriptListener();
 
@@ -89,12 +89,12 @@
   // return it.
   void CollectURLPatterns(const Extension* extension, URLPatterns* patterns);
 
-  // NotificationObserver
+  // content::NotificationObserver
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   DISALLOW_COPY_AND_ASSIGN(UserScriptListener);
 };
diff --git a/chrome/browser/extensions/user_script_listener_unittest.cc b/chrome/browser/extensions/user_script_listener_unittest.cc
index df569cca..faf744bc 100644
--- a/chrome/browser/extensions/user_script_listener_unittest.cc
+++ b/chrome/browser/extensions/user_script_listener_unittest.cc
@@ -159,7 +159,7 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_USER_SCRIPTS_UPDATED,
-      Source<Profile>(profile_.get()),
+      content::Source<Profile>(profile_.get()),
       NotificationService::NoDetails());
   MessageLoop::current()->RunAllPending();
   EXPECT_EQ(kTestData, delegate.data_received());
@@ -182,7 +182,7 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_USER_SCRIPTS_UPDATED,
-      Source<Profile>(profile_.get()),
+      content::Source<Profile>(profile_.get()),
       NotificationService::NoDetails());
   MessageLoop::current()->RunAllPending();
   EXPECT_EQ(kTestData, delegate.data_received());
@@ -228,8 +228,8 @@
 
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_EXTENSION_LOADED,
-      Source<Profile>(&profile2),
-      Details<Extension>(extension.get()));
+      content::Source<Profile>(&profile2),
+      content::Details<Extension>(extension.get()));
 
   TestDelegate delegate;
   scoped_ptr<TestURLRequest> request(StartTestRequest(&delegate, kMatchingUrl));
@@ -239,7 +239,7 @@
   // be blocked waiting for profile2.
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_USER_SCRIPTS_UPDATED,
-      Source<Profile>(profile_.get()),
+      content::Source<Profile>(profile_.get()),
       NotificationService::NoDetails());
   MessageLoop::current()->RunAllPending();
   ASSERT_FALSE(request->is_pending());
@@ -248,7 +248,7 @@
   // After profile2 is ready, the request should proceed.
   NotificationService::current()->Notify(
       chrome::NOTIFICATION_USER_SCRIPTS_UPDATED,
-      Source<Profile>(&profile2),
+      content::Source<Profile>(&profile2),
       NotificationService::NoDetails());
   MessageLoop::current()->RunAllPending();
   EXPECT_EQ(kTestData, delegate.data_received());
diff --git a/chrome/browser/extensions/user_script_master.cc b/chrome/browser/extensions/user_script_master.cc
index 6caeccf..f3c5be1ee 100644
--- a/chrome/browser/extensions/user_script_master.cc
+++ b/chrome/browser/extensions/user_script_master.cc
@@ -289,11 +289,11 @@
       pending_load_(false),
       profile_(profile) {
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSIONS_READY,
-                 Source<Profile>(profile_));
+                 content::Source<Profile>(profile_));
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_LOADED,
-                 Source<Profile>(profile_));
+                 content::Source<Profile>(profile_));
   registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
-                 Source<Profile>(profile_));
+                 content::Source<Profile>(profile_));
   registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CREATED,
                  NotificationService::AllBrowserContextsAndSources());
 }
@@ -325,14 +325,14 @@
 
     NotificationService::current()->Notify(
         chrome::NOTIFICATION_USER_SCRIPTS_UPDATED,
-        Source<Profile>(profile_),
-        Details<base::SharedMemory>(handle));
+        content::Source<Profile>(profile_),
+        content::Details<base::SharedMemory>(handle));
   }
 }
 
 void UserScriptMaster::Observe(int type,
-                               const NotificationSource& source,
-                               const NotificationDetails& details) {
+                               const content::NotificationSource& source,
+                               const content::NotificationDetails& details) {
   bool should_start_load = false;
   switch (type) {
     case chrome::NOTIFICATION_EXTENSIONS_READY:
@@ -341,7 +341,8 @@
       break;
     case chrome::NOTIFICATION_EXTENSION_LOADED: {
       // Add any content scripts inside the extension.
-      const Extension* extension = Details<const Extension>(details).ptr();
+      const Extension* extension =
+          content::Details<const Extension>(details).ptr();
       extensions_info_[extension->id()] =
           ExtensionSet::ExtensionPathAndDefaultLocale(
               extension->path(), extension->default_locale());
@@ -360,7 +361,7 @@
     case chrome::NOTIFICATION_EXTENSION_UNLOADED: {
       // Remove any content scripts.
       const Extension* extension =
-          Details<UnloadedExtensionInfo>(details)->extension;
+          content::Details<UnloadedExtensionInfo>(details)->extension;
       extensions_info_.erase(extension->id());
       UserScriptList new_user_scripts;
       for (UserScriptList::iterator iter = user_scripts_.begin();
@@ -377,7 +378,8 @@
       break;
     }
     case content::NOTIFICATION_RENDERER_PROCESS_CREATED: {
-      RenderProcessHost* process = Source<RenderProcessHost>(source).ptr();
+      RenderProcessHost* process =
+          content::Source<RenderProcessHost>(source).ptr();
       Profile* profile = Profile::FromBrowserContext(
           process->browser_context());
       if (!profile_->IsSameProfile(profile))
diff --git a/chrome/browser/extensions/user_script_master.h b/chrome/browser/extensions/user_script_master.h
index 2ec773b2..c33fb27 100644
--- a/chrome/browser/extensions/user_script_master.h
+++ b/chrome/browser/extensions/user_script_master.h
@@ -19,8 +19,8 @@
 #include "chrome/common/extensions/extension_set.h"
 #include "chrome/common/extensions/user_script.h"
 #include "content/browser/browser_thread.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 namespace base {
 class StringPiece;
@@ -35,7 +35,7 @@
 // Manages a segment of shared memory that contains the user scripts the user
 // has installed.  Lives on the UI thread.
 class UserScriptMaster : public base::RefCountedThreadSafe<UserScriptMaster>,
-                         public NotificationObserver {
+                         public content::NotificationObserver {
  public:
   explicit UserScriptMaster(Profile* profile);
 
@@ -129,17 +129,17 @@
   };
 
  private:
-  // NotificationObserver implementation.
+  // content::NotificationObserver implementation.
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
   // Sends the renderer process a new set of user scripts.
   void SendUpdate(RenderProcessHost* process,
                   base::SharedMemory* shared_memory);
 
   // Manages our notification registrations.
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // We hang on to our pointer to know if we've already got one running.
   scoped_refptr<ScriptReloader> script_reloader_;
diff --git a/chrome/browser/extensions/user_script_master_unittest.cc b/chrome/browser/extensions/user_script_master_unittest.cc
index 9d2abcc..dfd2eee 100644
--- a/chrome/browser/extensions/user_script_master_unittest.cc
+++ b/chrome/browser/extensions/user_script_master_unittest.cc
@@ -15,7 +15,7 @@
 #include "chrome/common/chrome_notification_types.h"
 #include "chrome/test/base/testing_profile.h"
 #include "content/browser/browser_thread.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_registrar.h"
 #include "content/common/notification_service.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -32,7 +32,7 @@
 // in there, etc.
 
 class UserScriptMasterTest : public testing::Test,
-                             public NotificationObserver {
+                             public content::NotificationObserver {
  public:
   UserScriptMasterTest()
       : message_loop_(MessageLoop::TYPE_UI),
@@ -60,11 +60,11 @@
   }
 
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) {
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) {
     DCHECK(type == chrome::NOTIFICATION_USER_SCRIPTS_UPDATED);
 
-    shared_memory_ = Details<base::SharedMemory>(details).ptr();
+    shared_memory_ = content::Details<base::SharedMemory>(details).ptr();
     if (MessageLoop::current() == &message_loop_)
       MessageLoop::current()->Quit();
   }
@@ -72,7 +72,7 @@
   // Directory containing user scripts.
   ScopedTempDir temp_dir_;
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
 
   // MessageLoop used in tests.
   MessageLoop message_loop_;
diff --git a/chrome/browser/extensions/webstore_inline_install_browsertest.cc b/chrome/browser/extensions/webstore_inline_install_browsertest.cc
index ac58795..a58363a 100644
--- a/chrome/browser/extensions/webstore_inline_install_browsertest.cc
+++ b/chrome/browser/extensions/webstore_inline_install_browsertest.cc
@@ -83,7 +83,7 @@
 
   ui_test_utils::WindowedNotificationObserver load_signal(
         chrome::NOTIFICATION_EXTENSION_LOADED,
-        Source<Profile>(browser()->profile()));
+        content::Source<Profile>(browser()->profile()));
 
   ui_test_utils::NavigateToURL(
       browser(), GenerateTestServerUrl(kAppDomain, "install.html"));
diff --git a/chrome/browser/extensions/webstore_installer.h b/chrome/browser/extensions/webstore_installer.h
index cc06493..4c81089 100644
--- a/chrome/browser/extensions/webstore_installer.h
+++ b/chrome/browser/extensions/webstore_installer.h
@@ -10,14 +10,14 @@
 #include <vector>
 
 #include "base/compiler_specific.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
 
 class GURL;
 class Profile;
 
 // Downloads and installs extensions from the web store.
-class WebstoreInstaller : public NotificationObserver {
+class WebstoreInstaller : public content::NotificationObserver {
  public:
   enum Flag {
     FLAG_NONE = 0,
@@ -43,10 +43,10 @@
   // Note: the delegate should stay alive until being called back.
   void InstallExtension(const std::string& id, Delegate* delegate, int flags);
 
-  // NotificationObserver
+  // content::NotificationObserver
   virtual void Observe(int type,
-                       const NotificationSource& source,
-                       const NotificationDetails& details) OVERRIDE;
+                       const content::NotificationSource& source,
+                       const content::NotificationDetails& details) OVERRIDE;
 
  private:
   struct PendingInstall;
@@ -71,7 +71,7 @@
   // PendingInstall.
   void ReportSuccess(const std::string& id);
 
-  NotificationRegistrar registrar_;
+  content::NotificationRegistrar registrar_;
   Profile* profile_;
   std::vector<PendingInstall> pending_installs_;
 };