summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tab_contents/tab_contents.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/tab_contents/tab_contents.h')
-rw-r--r--chrome/browser/tab_contents/tab_contents.h31
1 files changed, 11 insertions, 20 deletions
diff --git a/chrome/browser/tab_contents/tab_contents.h b/chrome/browser/tab_contents/tab_contents.h
index f8bad82..2a69a14 100644
--- a/chrome/browser/tab_contents/tab_contents.h
+++ b/chrome/browser/tab_contents/tab_contents.h
@@ -25,7 +25,6 @@
#include "chrome/browser/find_notification_details.h"
#include "chrome/browser/js_modal_dialog.h"
#include "chrome/browser/prefs/pref_change_registrar.h"
-#include "chrome/browser/password_manager/password_manager_delegate.h"
#include "chrome/browser/renderer_host/render_view_host_delegate.h"
#include "chrome/browser/tab_contents/constrained_window.h"
#include "chrome/browser/tab_contents/language_state.h"
@@ -72,7 +71,6 @@ class FileSelectHelper;
class InfoBarDelegate;
class LoadNotificationDetails;
class OmniboxSearchHint;
-class PasswordManager;
class PluginInstaller;
class Profile;
struct RendererPreferences;
@@ -88,6 +86,7 @@ class URLPattern;
struct ThumbnailScore;
struct ViewHostMsg_DomMessage_Params;
struct ViewHostMsg_FrameNavigate_Params;
+class WebNavigationObserver;
struct WebPreferences;
// Describes what goes in the main content area of a tab. TabContents is
@@ -100,7 +99,6 @@ class TabContents : public PageNavigator,
public RenderViewHostManager::Delegate,
public JavaScriptAppModalDialogDelegate,
public ImageLoadingTracker::Observer,
- public PasswordManagerDelegate,
public TabSpecificContentSettings::Delegate {
public:
// Flags passed to the TabContentsDelegate.NavigationStateChanged to tell it
@@ -157,9 +155,6 @@ class TabContents : public PageNavigator,
// Returns the AutoFillManager, creating it if necessary.
AutoFillManager* GetAutoFillManager();
- // Returns the PasswordManager, creating it if necessary.
- PasswordManager* GetPasswordManager();
-
// Returns the PluginInstaller, creating it if necessary.
PluginInstaller* GetPluginInstaller();
@@ -269,6 +264,13 @@ class TabContents : public PageNavigator,
// Returns a human-readable description the tab's loading state.
virtual std::wstring GetStatusText() const;
+ // Add and remove observers for page navigation notifications. Adding or
+ // removing multiple times has no effect. The order in which notifications
+ // are sent to observers is undefined. Clients must be sure to remove the
+ // observer before they go away.
+ void AddNavigationObserver(WebNavigationObserver* observer);
+ void RemoveNavigationObserver(WebNavigationObserver* observer);
+
// Return whether this tab contents is loading a resource.
bool is_loading() const { return is_loading_; }
@@ -695,13 +697,6 @@ class TabContents : public PageNavigator,
// state by various UI elements.
TabSpecificContentSettings* GetTabSpecificContentSettings() const;
- // PasswordManagerDelegate implementation.
- virtual void FillPasswordForm(
- const webkit_glue::PasswordFormFillData& form_data);
- virtual void AddSavePasswordInfoBar(PasswordFormManager* form_to_save);
- virtual Profile* GetProfileForPasswordManager();
- virtual bool DidLastPageLoadEncounterSSLErrors();
-
// Updates history with the specified navigation. This is called by
// OnMsgNavigate to update history state.
void UpdateHistoryForNavigation(
@@ -982,10 +977,6 @@ class TabContents : public PageNavigator,
virtual void ShowModalHTMLDialog(const GURL& url, int width, int height,
const std::string& json_arguments,
IPC::Message* reply_msg);
- virtual void PasswordFormsFound(
- const std::vector<webkit_glue::PasswordForm>& forms);
- virtual void PasswordFormsVisible(
- const std::vector<webkit_glue::PasswordForm>& visible_forms);
virtual void PageHasOSDD(RenderViewHost* render_view_host,
int32 page_id,
const GURL& url,
@@ -1095,9 +1086,6 @@ class TabContents : public PageNavigator,
// AutoFillManager, lazily created.
scoped_ptr<AutoFillManager> autofill_manager_;
- // PasswordManager, lazily created.
- scoped_ptr<PasswordManager> password_manager_;
-
// PluginInstaller, lazily created.
scoped_ptr<PluginInstaller> plugin_installer_;
@@ -1304,6 +1292,9 @@ class TabContents : public PageNavigator,
// remember it.
bool temporary_zoom_settings_;
+ // A list of observers notified when page state changes. Weak references.
+ ObserverList<WebNavigationObserver> web_navigation_observers_;
+
// Content restrictions, used to disable print/copy etc based on content's
// (full-page plugins for now only) permissions.
int content_restrictions_;