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

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: fix cros compile 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..72ca4f3c2df24779425087b31a8ef33c8df9a06a 100644
--- a/chrome/browser/ui/webui/settings/md_settings_ui.h
+++ b/chrome/browser/ui/webui/settings/md_settings_ui.h
@@ -27,6 +27,9 @@ class SettingsPageUIHandler : public content::WebUIMessageHandler {
// WebUIMessageHandler implementation.
void RegisterMessages() override {}
+ // 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,6 +54,9 @@ class MdSettingsUI : public content::WebUIController,
explicit MdSettingsUI(content::WebUI* web_ui);
~MdSettingsUI() override;
+ // Overridden from content::WebUIController:
dschuyler 2016/03/10 21:49:49 s/:/./
Dan Beam 2016/03/11 00:07:12 following the code below, as per the style guide:
+ void RenderViewReused(content::RenderViewHost* render_view_host) override;
+
// Overridden from content::WebContentsObserver:
void DidStartProvisionalLoadForFrame(
content::RenderFrameHost* render_frame_host,
@@ -62,7 +68,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::vector<SettingsPageUIHandler*> handlers_;
base::Time load_start_time_;

Powered by Google App Engine
This is Rietveld 408576698