Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Unified Diff: chrome/browser/ui/webui/settings/md_settings_ui.h

Issue 1776393003: MD Settings: avoid double pref observation on Startup Pages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: doc comment Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/settings/md_settings_ui.h
diff --git a/chrome/browser/ui/webui/settings/md_settings_ui.h b/chrome/browser/ui/webui/settings/md_settings_ui.h
index 301f4f25c38269f754eac18ed208f54778c377b5..0ebdcb9cf3818a549f4fb314d1fc74540080e15a 100644
--- a/chrome/browser/ui/webui/settings/md_settings_ui.h
+++ b/chrome/browser/ui/webui/settings/md_settings_ui.h
@@ -6,7 +6,7 @@
#define CHROME_BROWSER_UI_WEBUI_SETTINGS_MD_SETTINGS_UI_H_
#include <string>
-#include <vector>
+#include <unordered_set>
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
@@ -24,9 +24,13 @@ class SettingsPageUIHandler : public content::WebUIMessageHandler {
SettingsPageUIHandler();
~SettingsPageUIHandler() override;
- // WebUIMessageHandler implementation.
+ // WebUIMessageHandler:
void RegisterMessages() override {}
+ // Called when a navigation re-uses a renderer process (i.e. reload).
+ // TODO(dbeam): move to WebUIMessageHandler?
+ virtual void RenderViewReused() {}
+
protected:
// Helper method for responding to JS requests initiated with
// cr.sendWithPromise(), for the case where the returned promise should be
@@ -51,7 +55,10 @@ class MdSettingsUI : public content::WebUIController,
explicit MdSettingsUI(content::WebUI* web_ui);
~MdSettingsUI() override;
- // Overridden from content::WebContentsObserver:
+ // content::WebUIController:
+ void RenderViewReused(content::RenderViewHost* render_view_host) override;
+
+ // content::WebContentsObserver:
void DidStartProvisionalLoadForFrame(
content::RenderFrameHost* render_frame_host,
const GURL& validated_url,
@@ -62,7 +69,10 @@ class MdSettingsUI : public content::WebUIController,
void DocumentOnLoadCompletedInMainFrame() override;
private:
- void AddSettingsPageUIHandler(content::WebUIMessageHandler* handler);
+ void AddSettingsPageUIHandler(SettingsPageUIHandler* handler);
+
+ // Weak references; all |handlers_| are owned by |web_ui()|.
+ std::unordered_set<SettingsPageUIHandler*> handlers_;
base::Time load_start_time_;

Powered by Google App Engine
This is Rietveld 408576698