summaryrefslogtreecommitdiff
path: root/chromium/weblayer/browser/browser_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/weblayer/browser/browser_impl.h')
-rw-r--r--chromium/weblayer/browser/browser_impl.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/chromium/weblayer/browser/browser_impl.h b/chromium/weblayer/browser/browser_impl.h
index b625c089b03..f5487af1cbc 100644
--- a/chromium/weblayer/browser/browser_impl.h
+++ b/chromium/weblayer/browser/browser_impl.h
@@ -34,6 +34,9 @@ class TabImpl;
class BrowserImpl : public Browser {
public:
+ // Prefix used for storing persistence state.
+ static constexpr char kPersistenceFilePrefix[] = "State";
+
BrowserImpl(const BrowserImpl&) = delete;
BrowserImpl& operator=(const BrowserImpl&) = delete;
~BrowserImpl() override;
@@ -47,6 +50,7 @@ class BrowserImpl : public Browser {
TabImpl* CreateTabForSessionRestore(
std::unique_ptr<content::WebContents> web_contents,
const std::string& guid);
+ TabImpl* CreateTab(std::unique_ptr<content::WebContents> web_contents);
#if defined(OS_ANDROID)
bool CompositorHasSurface();
@@ -74,6 +78,10 @@ class BrowserImpl : public Browser {
j_minimal_persistence_state);
void WebPreferencesChanged(JNIEnv* env);
void OnFragmentStart(JNIEnv* env);
+ void OnFragmentResume(JNIEnv* env);
+ void OnFragmentPause(JNIEnv* env);
+
+ bool fragment_resumed() { return fragment_resumed_; }
#endif
// Used in tests to specify a non-default max (0 means use the default).
@@ -90,11 +98,12 @@ class BrowserImpl : public Browser {
void SetWebPreferences(content::WebPreferences* prefs);
// Browser:
- Tab* AddTab(std::unique_ptr<Tab> tab) override;
- std::unique_ptr<Tab> RemoveTab(Tab* tab) override;
+ void AddTab(Tab* tab) override;
+ void DestroyTab(Tab* tab) override;
void SetActiveTab(Tab* tab) override;
Tab* GetActiveTab() override;
std::vector<Tab*> GetTabs() override;
+ Tab* CreateTab() override;
void PrepareForShutdown() override;
std::string GetPersistenceId() override;
std::vector<uint8_t> GetMinimalPersistenceState() override;
@@ -116,10 +125,16 @@ class BrowserImpl : public Browser {
void RestoreStateIfNecessary(const PersistenceInfo& persistence_info);
+ TabImpl* AddTab(std::unique_ptr<Tab> tab);
+ std::unique_ptr<Tab> RemoveTab(Tab* tab);
+
// Returns the path used by |browser_persister_|.
base::FilePath GetBrowserPersisterDataPath();
#if defined(OS_ANDROID)
+ void UpdateFragmentResumedState(bool state);
+
+ bool fragment_resumed_ = false;
base::android::ScopedJavaGlobalRef<jobject> java_impl_;
#endif
base::ObserverList<BrowserObserver> browser_observers_;
@@ -129,7 +144,6 @@ class BrowserImpl : public Browser {
std::string persistence_id_;
std::unique_ptr<BrowserPersister> browser_persister_;
base::OnceClosure visible_security_state_changed_callback_for_tests_;
- static int browser_count_;
};
} // namespace weblayer