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

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: unordered_set 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..b73ffb522a5b44a29299b47fa8e064975fa6c442 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,12 @@ class SettingsPageUIHandler : public content::WebUIMessageHandler {
SettingsPageUIHandler();
~SettingsPageUIHandler() override;
- // WebUIMessageHandler implementation.
+ // WebUIMessageHandler:
void RegisterMessages() override {}
+ // TODO(dbeam): move to WebUIMessageHandler?
+ virtual void RenderViewReused() {}
michaelpg 2016/03/11 01:16:54 plz comment what this is
Dan Beam 2016/03/11 05:39:06 Done.
+
protected:
// Helper method for responding to JS requests initiated with
// cr.sendWithPromise(), for the case where the returned promise should be
@@ -51,7 +54,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 +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()|.
michaelpg 2016/03/11 01:16:54 asking out of ignorance: web_ui() exists here from
Dan Beam 2016/03/11 05:39:06 yes https://code.google.com/p/chromium/codesearch
+ std::unordered_set<SettingsPageUIHandler*> handlers_;
base::Time load_start_time_;

Powered by Google App Engine
This is Rietveld 408576698