Index: chrome/browser/ui/tab_contents/tab_contents_wrapper.h |
diff --git a/chrome/browser/ui/tab_contents/tab_contents_wrapper.h b/chrome/browser/ui/tab_contents/tab_contents_wrapper.h |
index a17c10de4cda9c70a68e96885b8ef9025b46935f..bbfd333f1c2e93a29a4167ffd1e4b2095f338fc3 100644 |
--- a/chrome/browser/ui/tab_contents/tab_contents_wrapper.h |
+++ b/chrome/browser/ui/tab_contents/tab_contents_wrapper.h |
@@ -13,11 +13,10 @@ |
#include "base/compiler_specific.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/scoped_ptr.h" |
-#include "chrome/browser/prefs/pref_change_registrar.h" |
#include "content/browser/tab_contents/tab_contents.h" |
#include "content/browser/tab_contents/tab_contents_observer.h" |
-#include "content/public/browser/notification_registrar.h" |
+class AlternateErrorPageTabObserver; |
class AutocompleteHistoryManager; |
class AutofillManager; |
class AutofillExternalDelegate; |
@@ -25,6 +24,7 @@ class AutomationTabHelper; |
class BlockedContentTabHelper; |
class BookmarkTabHelper; |
class ConstrainedWindowTabHelper; |
+class CoreTabHelper; |
class DownloadRequestLimiterObserver; |
class ExtensionTabHelper; |
class ExtensionWebNavigationTabObserver; |
@@ -36,6 +36,7 @@ class InfoBarTabHelper; |
class OmniboxSearchHint; |
class PasswordManager; |
class PasswordManagerDelegate; |
+class PDFTabObserver; |
class PluginObserver; |
class PrefService; |
class PrefsTabHelper; |
@@ -43,8 +44,8 @@ class Profile; |
class RestoreTabHelper; |
class SadTabObserver; |
class SearchEngineTabHelper; |
+class SnapshotTabHelper; |
class TabContentsSSLHelper; |
-class TabContentsWrapperDelegate; |
class TabContentsWrapperSyncedTabDelegate; |
class TabSpecificContentSettings; |
class ThumbnailGenerator; |
@@ -65,7 +66,7 @@ class PrintPreviewMessageHandler; |
} |
namespace safe_browsing { |
-class ClientSideDetectionHost; |
+class SafeBrowsingTabObserver; |
} |
// Wraps TabContents and all of its supporting objects in order to control |
@@ -74,8 +75,7 @@ class ClientSideDetectionHost; |
// TODO(pinkerton): Eventually, this class will become TabContents as far as |
// the browser front-end is concerned, and the current TabContents will be |
// renamed to something like WebPage or WebView (ben's suggestions). |
-class TabContentsWrapper : public TabContentsObserver, |
- public content::NotificationObserver { |
+class TabContentsWrapper : public TabContentsObserver { |
public: |
// Takes ownership of |contents|, which must be heap-allocated (as it lives |
// in a scoped_ptr) and can not be NULL. |
@@ -86,24 +86,10 @@ class TabContentsWrapper : public TabContentsObserver, |
// its property bag to avoid adding additional interfaces. |
static base::PropertyAccessor<TabContentsWrapper*>* property_accessor(); |
- static void RegisterUserPrefs(PrefService* prefs); |
- |
- // Initial title assigned to NavigationEntries from Navigate. |
- static string16 GetDefaultTitle(); |
- |
- // Returns a human-readable description the tab's loading state. |
- string16 GetStatusText() const; |
- |
// Create a TabContentsWrapper with the same state as this one. The returned |
// heap-allocated pointer is owned by the caller. |
TabContentsWrapper* Clone(); |
- // Captures a snapshot of the page. |
- void CaptureSnapshot(); |
- |
- // Stop this tab rendering in fullscreen mode. |
- void ExitFullscreenMode(); |
- |
// Helper to retrieve the existing instance that wraps a given TabContents. |
// Returns NULL if there is no such existing instance. |
// NOTE: This is not intended for general use. It is intended for situations |
@@ -115,9 +101,6 @@ class TabContentsWrapper : public TabContentsObserver, |
static const TabContentsWrapper* GetCurrentWrapperForContents( |
const TabContents* contents); |
- TabContentsWrapperDelegate* delegate() const { return delegate_; } |
- void set_delegate(TabContentsWrapperDelegate* d) { delegate_ = d; } |
- |
TabContents* tab_contents() const { return tab_contents_.get(); } |
NavigationController& controller() const { |
return tab_contents()->controller(); |
@@ -155,6 +138,8 @@ class TabContentsWrapper : public TabContentsObserver, |
return constrained_window_tab_helper_.get(); |
} |
+ CoreTabHelper* core_tab_helper() { return core_tab_helper_.get(); } |
+ |
ExtensionTabHelper* extension_tab_helper() { |
return extension_tab_helper_.get(); |
} |
@@ -186,14 +171,14 @@ class TabContentsWrapper : public TabContentsObserver, |
return restore_tab_helper_.get(); |
} |
- safe_browsing::ClientSideDetectionHost* safebrowsing_detection_host() { |
- return safebrowsing_detection_host_.get(); |
- } |
- |
SearchEngineTabHelper* search_engine_tab_helper() { |
return search_engine_tab_helper_.get(); |
} |
+ SnapshotTabHelper* snapshot_tab_helper() { |
+ return snapshot_tab_helper_.get(); |
+ } |
+ |
TabContentsSSLHelper* ssl_helper() { return ssl_helper_.get(); } |
TabContentsWrapperSyncedTabDelegate* synced_tab_delegate() { |
@@ -215,51 +200,12 @@ class TabContentsWrapper : public TabContentsObserver, |
// Overrides ----------------------------------------------------------------- |
// TabContentsObserver overrides: |
- virtual void RenderViewCreated(RenderViewHost* render_view_host) OVERRIDE; |
- virtual void DidBecomeSelected() OVERRIDE; |
- virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
virtual void TabContentsDestroyed(TabContents* tab) OVERRIDE; |
- // content::NotificationObserver overrides: |
- virtual void Observe(int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) OVERRIDE; |
- |
private: |
FRIEND_TEST_ALL_PREFIXES( |
PrefsTabHelperTest, OverridePrefsOnViewCreation); |
- // Internal helpers ---------------------------------------------------------- |
- |
- // Message handlers. |
- void OnSnapshot(const SkBitmap& bitmap); |
- void OnPDFHasUnsupportedFeature(); |
- |
- // Returns the server that can provide alternate error pages. If the returned |
- // URL is empty, the default error page built into WebKit will be used. |
- GURL GetAlternateErrorPageURL() const; |
- |
- // Send the alternate error page URL to the renderer. |
- void UpdateAlternateErrorPageURL(RenderViewHost* rvh); |
- |
- // Create or destroy SafebrowsingDetectionHost as needed if the user's |
- // safe browsing preference has changed. |
- void UpdateSafebrowsingDetectionHost(); |
- |
- // Data for core operation --------------------------------------------------- |
- |
- // Delegate for notifying our owner about stuff. Not owned by us. |
- TabContentsWrapperDelegate* delegate_; |
- |
- content::NotificationRegistrar registrar_; |
- PrefChangeRegistrar pref_change_registrar_; |
- |
- // Data for current page ----------------------------------------------------- |
- |
- // Shows an info-bar to users when they search from a known search engine and |
- // have never used the omnibox for search before. |
- scoped_ptr<OmniboxSearchHint> omnibox_search_hint_; |
- |
// Tab Helpers --------------------------------------------------------------- |
// (These provide API for callers and have a getter function listed in the |
// "Tab Helpers" section in the member functions area, above.) |
@@ -271,6 +217,7 @@ class TabContentsWrapper : public TabContentsObserver, |
scoped_ptr<BlockedContentTabHelper> blocked_content_tab_helper_; |
scoped_ptr<BookmarkTabHelper> bookmark_tab_helper_; |
scoped_ptr<ConstrainedWindowTabHelper> constrained_window_tab_helper_; |
+ scoped_ptr<CoreTabHelper> core_tab_helper_; |
scoped_ptr<ExtensionTabHelper> extension_tab_helper_; |
scoped_ptr<FaviconTabHelper> favicon_tab_helper_; |
scoped_ptr<FindTabHelper> find_tab_helper_; |
@@ -293,11 +240,8 @@ class TabContentsWrapper : public TabContentsObserver, |
// Handles displaying a web intents picker to the user. |
scoped_ptr<WebIntentPickerController> web_intent_picker_controller_; |
- // Handles IPCs related to SafeBrowsing client-side phishing detection. |
- scoped_ptr<safe_browsing::ClientSideDetectionHost> |
- safebrowsing_detection_host_; |
- |
scoped_ptr<SearchEngineTabHelper> search_engine_tab_helper_; |
+ scoped_ptr<SnapshotTabHelper> snapshot_tab_helper_; |
scoped_ptr<TabContentsSSLHelper> ssl_helper_; |
scoped_ptr<TabContentsWrapperSyncedTabDelegate> synced_tab_delegate_; |
@@ -311,12 +255,17 @@ class TabContentsWrapper : public TabContentsObserver, |
// (These provide no API for callers; objects that need to exist 1:1 with tabs |
// and silently do their thing live here.) |
+ scoped_ptr<AlternateErrorPageTabObserver> alternate_error_page_tab_observer_; |
scoped_ptr<DownloadRequestLimiterObserver> download_request_limiter_observer_; |
scoped_ptr<ExtensionWebNavigationTabObserver> webnavigation_observer_; |
scoped_ptr<ExternalProtocolObserver> external_protocol_observer_; |
+ scoped_ptr<OmniboxSearchHint> omnibox_search_hint_; |
+ scoped_ptr<PDFTabObserver> pdf_tab_observer_; |
scoped_ptr<PluginObserver> plugin_observer_; |
scoped_ptr<printing::PrintPreviewMessageHandler> print_preview_; |
scoped_ptr<SadTabObserver> sad_tab_observer_; |
+ scoped_ptr<safe_browsing::SafeBrowsingTabObserver> |
+ safe_browsing_tab_observer_; |
scoped_ptr<ThumbnailGenerator> thumbnail_generation_observer_; |
// TabContents (MUST BE LAST) ------------------------------------------------ |