Refactor a couple tab helpers so they aren't dependent on TabContentsWrapper,
so they also can be used by ExtensionHost.

I did this for RestoreTabHelper too, but realized it wasn't a great fit for
ExtensionHost. It still seemed like a good decoupling, so I kept the refactor.

BUG=84146
TEST=no

Review URL: http://codereview.chromium.org/9007034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115411 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_host.h b/chrome/browser/extensions/extension_host.h
index 4c3f846..67fda94b 100644
--- a/chrome/browser/extensions/extension_host.h
+++ b/chrome/browser/extensions/extension_host.h
@@ -29,6 +29,7 @@
 
 class Browser;
 class Extension;
+class PrefsTabHelper;
 class RenderWidgetHostView;
 class TabContents;
 struct WebPreferences;
@@ -194,6 +195,9 @@
   // The host for our HTML content.
   scoped_ptr<TabContents> host_contents_;
 
+  // Helpers that take care of extra functionality for our host contents.
+  scoped_ptr<PrefsTabHelper> prefs_tab_helper_;
+
   // A weak pointer to the current or pending RenderViewHost. We don't access
   // this through the host_contents because we want to deal with the pending
   // host, so we can send messages to it before it finishes loading.