diff options
Diffstat (limited to 'chromium/weblayer/browser/persistence/browser_persister.h')
-rw-r--r-- | chromium/weblayer/browser/persistence/browser_persister.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/chromium/weblayer/browser/persistence/browser_persister.h b/chromium/weblayer/browser/persistence/browser_persister.h index c157abec93e..a956914ad59 100644 --- a/chromium/weblayer/browser/persistence/browser_persister.h +++ b/chromium/weblayer/browser/persistence/browser_persister.h @@ -14,10 +14,12 @@ #include <vector> #include "base/macros.h" +#include "base/scoped_observer.h" #include "base/task/cancelable_task_tracker.h" #include "components/sessions/content/session_tab_helper_delegate.h" #include "components/sessions/core/command_storage_manager_delegate.h" #include "components/sessions/core/session_service_commands.h" +#include "weblayer/browser/tab_impl.h" #include "weblayer/public/browser_observer.h" class SessionID; @@ -29,7 +31,6 @@ class SessionCommand; namespace weblayer { class BrowserImpl; -class TabImpl; // BrowserPersister is responsible for maintaining the state of tabs in a // single Browser so that they can be restored at a later date. The state is @@ -40,7 +41,8 @@ class TabImpl; // current state. class BrowserPersister : public sessions::CommandStorageManagerDelegate, public sessions::SessionTabHelperDelegate, - public BrowserObserver { + public BrowserObserver, + public TabImpl::DataObserver { public: BrowserPersister(const base::FilePath& path, BrowserImpl* browser, @@ -72,6 +74,10 @@ class BrowserPersister : public sessions::CommandStorageManagerDelegate, void OnTabRemoved(Tab* tab, bool active_tab_changed) override; void OnActiveTabChanged(Tab* tab) override; + // TabImpl::DataObserver: + void OnDataChanged(TabImpl* tab, + const std::map<std::string, std::string>& data) override; + // sessions::SessionTabHelperDelegate: void SetTabUserAgentOverride(const SessionID& window_id, const SessionID& tab_id, @@ -127,6 +133,12 @@ class BrowserPersister : public sessions::CommandStorageManagerDelegate, std::vector<uint8_t> crypto_key_; + ScopedObserver<TabImpl, + TabImpl::DataObserver, + &TabImpl::AddDataObserver, + &TabImpl::RemoveDataObserver> + data_observer_{this}; + base::CancelableTaskTracker cancelable_task_tracker_; }; |