summaryrefslogtreecommitdiff
path: root/chromium/weblayer/browser/persistence/browser_persister.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/weblayer/browser/persistence/browser_persister.h
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/weblayer/browser/persistence/browser_persister.h')
-rw-r--r--chromium/weblayer/browser/persistence/browser_persister.h16
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_;
};