Cleanup: Remove some unneeded Extension* class forward declarations.

Review URL: https://codereview.chromium.org/287623005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271588 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.h b/chrome/browser/extensions/api/developer_private/developer_private_api.h
index 20792a47..a2ab378 100644
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.h
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.h
@@ -25,7 +25,6 @@
 #include "webkit/browser/fileapi/file_system_context.h"
 #include "webkit/browser/fileapi/file_system_operation.h"
 
-class ExtensionService;
 class Profile;
 
 namespace extensions {
diff --git a/chrome/browser/extensions/api/permissions/permissions_api.h b/chrome/browser/extensions/api/permissions/permissions_api.h
index 65597bb..074d6f9 100644
--- a/chrome/browser/extensions/api/permissions/permissions_api.h
+++ b/chrome/browser/extensions/api/permissions/permissions_api.h
@@ -12,8 +12,6 @@
 #include "chrome/browser/extensions/extension_install_prompt.h"
 #include "extensions/common/permissions/permission_set.h"
 
-class ExtensionService;
-
 namespace extensions {
 
 // chrome.permissions.contains
diff --git a/chrome/browser/extensions/dev_mode_bubble_controller.cc b/chrome/browser/extensions/dev_mode_bubble_controller.cc
index b8b0f0e..8026fc8 100644
--- a/chrome/browser/extensions/dev_mode_bubble_controller.cc
+++ b/chrome/browser/extensions/dev_mode_bubble_controller.cc
@@ -4,22 +4,16 @@
 
 #include "chrome/browser/extensions/dev_mode_bubble_controller.h"
 
-#include "base/bind.h"
 #include "base/lazy_instance.h"
 #include "base/metrics/histogram.h"
-#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/extensions/extension_action_manager.h"
 #include "chrome/browser/extensions/extension_message_bubble.h"
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/extension_toolbar_model.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_finder.h"
 #include "chrome/common/chrome_version_info.h"
 #include "chrome/common/url_constants.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/user_metrics.h"
 #include "extensions/browser/extension_prefs.h"
 #include "extensions/browser/extension_system.h"
 #include "extensions/common/feature_switch.h"
@@ -37,6 +31,42 @@
 ////////////////////////////////////////////////////////////////////////////////
 // DevModeBubbleDelegate
 
+class DevModeBubbleDelegate
+    : public ExtensionMessageBubbleController::Delegate {
+ public:
+  explicit DevModeBubbleDelegate(Profile* profile);
+  virtual ~DevModeBubbleDelegate();
+
+  // ExtensionMessageBubbleController::Delegate methods.
+  virtual bool ShouldIncludeExtension(const std::string& extension_id) OVERRIDE;
+  virtual void AcknowledgeExtension(
+      const std::string& extension_id,
+      ExtensionMessageBubbleController::BubbleAction user_action) OVERRIDE;
+  virtual void PerformAction(const ExtensionIdList& list) OVERRIDE;
+  virtual void OnClose() OVERRIDE;
+  virtual base::string16 GetTitle() const OVERRIDE;
+  virtual base::string16 GetMessageBody() const OVERRIDE;
+  virtual base::string16 GetOverflowText(
+      const base::string16& overflow_count) const OVERRIDE;
+  virtual base::string16 GetLearnMoreLabel() const OVERRIDE;
+  virtual GURL GetLearnMoreUrl() const OVERRIDE;
+  virtual base::string16 GetActionButtonLabel() const OVERRIDE;
+  virtual base::string16 GetDismissButtonLabel() const OVERRIDE;
+  virtual bool ShouldShowExtensionList() const OVERRIDE;
+  virtual void LogExtensionCount(size_t count) OVERRIDE;
+  virtual void LogAction(
+      ExtensionMessageBubbleController::BubbleAction action) OVERRIDE;
+
+ private:
+  // The associated profile (weak).
+  Profile* profile_;
+
+  // Our extension service. Weak, not owned by us.
+  ExtensionService* service_;
+
+  DISALLOW_COPY_AND_ASSIGN(DevModeBubbleDelegate);
+};
+
 DevModeBubbleDelegate::DevModeBubbleDelegate(Profile* profile)
     : profile_(profile),
       service_(ExtensionSystem::Get(profile)->extension_service()) {}
@@ -129,8 +159,7 @@
 bool DevModeBubbleController::IsDevModeExtension(
     const Extension* extension) {
   if (!FeatureSwitch::force_dev_mode_highlighting()->IsEnabled()) {
-    if (chrome::VersionInfo::GetChannel() <
-            chrome::VersionInfo::CHANNEL_BETA)
+    if (chrome::VersionInfo::GetChannel() < chrome::VersionInfo::CHANNEL_BETA)
       return false;
   }
   return extension->location() == Manifest::UNPACKED ||
diff --git a/chrome/browser/extensions/dev_mode_bubble_controller.h b/chrome/browser/extensions/dev_mode_bubble_controller.h
index 3a837829..e93eaaf 100644
--- a/chrome/browser/extensions/dev_mode_bubble_controller.h
+++ b/chrome/browser/extensions/dev_mode_bubble_controller.h
@@ -6,60 +6,14 @@
 #define CHROME_BROWSER_EXTENSIONS_DEV_MODE_BUBBLE_CONTROLLER_H_
 
 #include <string>
-#include "chrome/browser/extensions/extension_message_bubble_controller.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
-#include "extensions/common/extension.h"
 
-class Browser;
-class ExtensionService;
+#include "chrome/browser/extensions/extension_message_bubble_controller.h"
 
 namespace extensions {
 
-namespace {
+class Extension;
 
-class DevModeBubbleDelegate
-    : public ExtensionMessageBubbleController::Delegate {
- public:
-  explicit DevModeBubbleDelegate(Profile* profile);
-  virtual ~DevModeBubbleDelegate();
-
-  // ExtensionMessageBubbleController::Delegate methods.
-  virtual bool ShouldIncludeExtension(const std::string& extension_id) OVERRIDE;
-  virtual void AcknowledgeExtension(
-      const std::string& extension_id,
-      ExtensionMessageBubbleController::BubbleAction user_action) OVERRIDE;
-  virtual void PerformAction(const ExtensionIdList& list) OVERRIDE;
-  virtual void OnClose() OVERRIDE;
-  virtual base::string16 GetTitle() const OVERRIDE;
-  virtual base::string16 GetMessageBody() const OVERRIDE;
-  virtual base::string16 GetOverflowText(
-      const base::string16& overflow_count) const OVERRIDE;
-  virtual base::string16 GetLearnMoreLabel() const OVERRIDE;
-  virtual GURL GetLearnMoreUrl() const OVERRIDE;
-  virtual base::string16 GetActionButtonLabel() const OVERRIDE;
-  virtual base::string16 GetDismissButtonLabel() const OVERRIDE;
-  virtual bool ShouldShowExtensionList() const OVERRIDE;
-  virtual void LogExtensionCount(size_t count) OVERRIDE;
-  virtual void LogAction(
-      ExtensionMessageBubbleController::BubbleAction action) OVERRIDE;
-
- private:
-  // The associated profile (weak).
-  Profile* profile_;
-
-  // Our extension service. Weak, not owned by us.
-  ExtensionService* service_;
-
-  DISALLOW_COPY_AND_ASSIGN(DevModeBubbleDelegate);
-};
-
-}  // namespace
-
-class DevModeBubble;
-
-class DevModeBubbleController
-    : public ExtensionMessageBubbleController {
+class DevModeBubbleController : public ExtensionMessageBubbleController {
  public:
   // Clears the list of profiles the bubble has been shown for. Should only be
   // used during testing.
diff --git a/chrome/browser/extensions/error_console/error_console.h b/chrome/browser/extensions/error_console/error_console.h
index af2a865..9abb2274 100644
--- a/chrome/browser/extensions/error_console/error_console.h
+++ b/chrome/browser/extensions/error_console/error_console.h
@@ -26,7 +26,6 @@
 class RenderViewHost;
 }
 
-class ExtensionService;
 class Profile;
 
 namespace extensions {
diff --git a/chrome/browser/extensions/extension_error_ui_default.h b/chrome/browser/extensions/extension_error_ui_default.h
index 24b75b26e..5b5407d4 100644
--- a/chrome/browser/extensions/extension_error_ui_default.h
+++ b/chrome/browser/extensions/extension_error_ui_default.h
@@ -12,7 +12,6 @@
 #include "extensions/common/extension.h"
 
 class Browser;
-class ExtensionService;
 class Profile;
 
 namespace extensions {
diff --git a/chrome/browser/extensions/extension_garbage_collector.h b/chrome/browser/extensions/extension_garbage_collector.h
index 499fda96..7a9b048b 100644
--- a/chrome/browser/extensions/extension_garbage_collector.h
+++ b/chrome/browser/extensions/extension_garbage_collector.h
@@ -17,8 +17,6 @@
 class BrowserContext;
 }
 
-class ExtensionService;
-
 namespace extensions {
 
 // The class responsible for cleaning up the cruft left behind on the file
diff --git a/chrome/browser/extensions/ntp_overridden_bubble_controller.h b/chrome/browser/extensions/ntp_overridden_bubble_controller.h
index 0d49ea9..ace01da5 100644
--- a/chrome/browser/extensions/ntp_overridden_bubble_controller.h
+++ b/chrome/browser/extensions/ntp_overridden_bubble_controller.h
@@ -8,8 +8,6 @@
 #include <string>
 #include "chrome/browser/extensions/extension_message_bubble_controller.h"
 
-class ExtensionService;
-
 namespace extensions {
 
 class NtpOverriddenBubbleController : public ExtensionMessageBubbleController {
diff --git a/chrome/browser/extensions/settings_api_bubble_controller.h b/chrome/browser/extensions/settings_api_bubble_controller.h
index db734b4..2a656412 100644
--- a/chrome/browser/extensions/settings_api_bubble_controller.h
+++ b/chrome/browser/extensions/settings_api_bubble_controller.h
@@ -1,4 +1,4 @@
-// ::Copyright (c) 2014 The Chromium Authors. All rights reserved.
+// Copyright 2014 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -9,8 +9,6 @@
 #include "chrome/browser/extensions/extension_message_bubble_controller.h"
 #include "chrome/common/extensions/manifest_handlers/settings_overrides_handler.h"
 
-class ExtensionService;
-
 namespace extensions {
 
 class SettingsApiBubble;
diff --git a/chrome/browser/extensions/suspicious_extension_bubble_controller.cc b/chrome/browser/extensions/suspicious_extension_bubble_controller.cc
index 4b95c40..64803a0 100644
--- a/chrome/browser/extensions/suspicious_extension_bubble_controller.cc
+++ b/chrome/browser/extensions/suspicious_extension_bubble_controller.cc
@@ -4,7 +4,6 @@
 
 #include "chrome/browser/extensions/suspicious_extension_bubble_controller.h"
 
-#include "base/bind.h"
 #include "base/lazy_instance.h"
 #include "base/metrics/histogram.h"
 #include "base/strings/utf_string_conversions.h"
@@ -12,15 +11,16 @@
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_finder.h"
 #include "chrome/common/url_constants.h"
-#include "content/public/browser/user_metrics.h"
 #include "extensions/browser/extension_prefs.h"
 #include "extensions/browser/extension_system.h"
+#include "extensions/common/extension.h"
 #include "grit/chromium_strings.h"
 #include "grit/generated_resources.h"
 #include "ui/base/l10n/l10n_util.h"
 
+using extensions::ExtensionMessageBubbleController;
+
 namespace {
 
 base::LazyInstance<std::set<Profile*> > g_shown_for_profiles =
@@ -29,6 +29,38 @@
 ////////////////////////////////////////////////////////////////////////////////
 // SuspiciousExtensionBubbleDelegate
 
+class SuspiciousExtensionBubbleDelegate
+    : public ExtensionMessageBubbleController::Delegate {
+ public:
+  explicit SuspiciousExtensionBubbleDelegate(Profile* profile);
+  virtual ~SuspiciousExtensionBubbleDelegate();
+
+  // ExtensionMessageBubbleController::Delegate methods.
+  virtual bool ShouldIncludeExtension(const std::string& extension_id) OVERRIDE;
+  virtual void AcknowledgeExtension(
+      const std::string& extension_id,
+      ExtensionMessageBubbleController::BubbleAction user_action) OVERRIDE;
+  virtual void PerformAction(const extensions::ExtensionIdList& list) OVERRIDE;
+  virtual base::string16 GetTitle() const OVERRIDE;
+  virtual base::string16 GetMessageBody() const OVERRIDE;
+  virtual base::string16 GetOverflowText(
+      const base::string16& overflow_count) const OVERRIDE;
+  virtual base::string16 GetLearnMoreLabel() const OVERRIDE;
+  virtual GURL GetLearnMoreUrl() const OVERRIDE;
+  virtual base::string16 GetActionButtonLabel() const OVERRIDE;
+  virtual base::string16 GetDismissButtonLabel() const OVERRIDE;
+  virtual bool ShouldShowExtensionList() const OVERRIDE;
+  virtual void LogExtensionCount(size_t count) OVERRIDE;
+  virtual void LogAction(
+      ExtensionMessageBubbleController::BubbleAction action) OVERRIDE;
+
+ private:
+  // Our profile. Weak, not owned by us.
+  Profile* profile_;
+
+  DISALLOW_COPY_AND_ASSIGN(SuspiciousExtensionBubbleDelegate);
+};
+
 SuspiciousExtensionBubbleDelegate::SuspiciousExtensionBubbleDelegate(
     Profile* profile)
     : profile_(profile) {}
diff --git a/chrome/browser/extensions/suspicious_extension_bubble_controller.h b/chrome/browser/extensions/suspicious_extension_bubble_controller.h
index 9ed5c90c..450695a 100644
--- a/chrome/browser/extensions/suspicious_extension_bubble_controller.h
+++ b/chrome/browser/extensions/suspicious_extension_bubble_controller.h
@@ -5,59 +5,16 @@
 #ifndef CHROME_BROWSER_EXTENSIONS_SUSPICIOUS_EXTENSION_BUBBLE_CONTROLLER_H_
 #define CHROME_BROWSER_EXTENSIONS_SUSPICIOUS_EXTENSION_BUBBLE_CONTROLLER_H_
 
-#include <string>
-
 #include "chrome/browser/extensions/extension_message_bubble_controller.h"
-#include "extensions/common/extension.h"
 
-class Browser;
-class ExtensionService;
 class Profile;
 
-using extensions::ExtensionMessageBubbleController;
-
-namespace {
-
-class SuspiciousExtensionBubbleDelegate
-    : public ExtensionMessageBubbleController::Delegate {
- public:
-  explicit SuspiciousExtensionBubbleDelegate(Profile* profile);
-  virtual ~SuspiciousExtensionBubbleDelegate();
-
-  // ExtensionMessageBubbleController::Delegate methods.
-  virtual bool ShouldIncludeExtension(const std::string& extension_id) OVERRIDE;
-  virtual void AcknowledgeExtension(
-      const std::string& extension_id,
-      ExtensionMessageBubbleController::BubbleAction user_action) OVERRIDE;
-  virtual void PerformAction(const extensions::ExtensionIdList& list) OVERRIDE;
-  virtual base::string16 GetTitle() const OVERRIDE;
-  virtual base::string16 GetMessageBody() const OVERRIDE;
-  virtual base::string16 GetOverflowText(
-      const base::string16& overflow_count) const OVERRIDE;
-  virtual base::string16 GetLearnMoreLabel() const OVERRIDE;
-  virtual GURL GetLearnMoreUrl() const OVERRIDE;
-  virtual base::string16 GetActionButtonLabel() const OVERRIDE;
-  virtual base::string16 GetDismissButtonLabel() const OVERRIDE;
-  virtual bool ShouldShowExtensionList() const OVERRIDE;
-  virtual void LogExtensionCount(size_t count) OVERRIDE;
-  virtual void LogAction(
-      ExtensionMessageBubbleController::BubbleAction action) OVERRIDE;
-
- private:
-  // Our profile. Weak, not owned by us.
-  Profile* profile_;
-
-  DISALLOW_COPY_AND_ASSIGN(SuspiciousExtensionBubbleDelegate);
-};
-
-}  // namespace
-
 namespace extensions {
 
 class SuspiciousExtensionBubble;
 
 class SuspiciousExtensionBubbleController
-    : public ExtensionMessageBubbleController {
+    : public extensions::ExtensionMessageBubbleController {
  public:
   // Clears the list of profiles the bubble has been shown for. Should only be
   // used during testing.