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

Unified Diff: chrome/renderer/chrome_render_thread_observer.cc

Issue 2531133002: Convert SetIsIncognitoProcess to use mojo. (Closed)
Patch Set: Convert SetIsIncognitoProcess to use mojo. Created 4 years 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/renderer/chrome_render_thread_observer.cc
diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/chrome_render_thread_observer.cc
index 3b96a1577756971a9e423e4953ee1101aaf440de..9df76f7124ef6e230b75a37730c458e6bf075d68 100644
--- a/chrome/renderer/chrome_render_thread_observer.cc
+++ b/chrome/renderer/chrome_render_thread_observer.cc
@@ -236,6 +236,7 @@ bool ChromeRenderThreadObserver::is_incognito_process_ = false;
ChromeRenderThreadObserver::ChromeRenderThreadObserver()
: field_trial_syncer_(this),
visited_link_slave_(new visitedlink::VisitedLinkSlave),
+ renderer_configuration_binding_(this),
weak_factory_(this) {
const base::CommandLine& command_line =
*base::CommandLine::ForCurrentProcess();
@@ -274,12 +275,23 @@ ChromeRenderThreadObserver::ChromeRenderThreadObserver()
ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {}
+void ChromeRenderThreadObserver::RegisterMojoInterfaces(
+ content::AssociatedInterfaceRegistry* associated_interfaces) {
+ associated_interfaces->AddInterface(
+ base::Bind(&ChromeRenderThreadObserver::OnRendererInterfaceRequest,
+ base::Unretained(this)));
+}
+
+void ChromeRenderThreadObserver::UnregisterMojoInterfaces(
+ content::AssociatedInterfaceRegistry* associated_interfaces) {
+ associated_interfaces->RemoveInterface(
+ chrome::mojom::RendererConfiguration::Name_);
+}
+
bool ChromeRenderThreadObserver::OnControlMessageReceived(
const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(ChromeRenderThreadObserver, message)
- IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsIncognitoProcess,
- OnSetIsIncognitoProcess)
IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup)
IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules,
OnSetContentSettingRules)
@@ -290,6 +302,10 @@ bool ChromeRenderThreadObserver::OnControlMessageReceived(
void ChromeRenderThreadObserver::OnRenderProcessShutdown() {
visited_link_slave_.reset();
+
+ // Workaround for http://crbug.com/672646
+ if (renderer_configuration_binding_.is_bound())
+ renderer_configuration_binding_.Unbind();
}
void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized(
@@ -301,11 +317,17 @@ void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized(
field_trial_recorder->FieldTrialActivated(trial_name);
}
-void ChromeRenderThreadObserver::OnSetIsIncognitoProcess(
+void ChromeRenderThreadObserver::SetInitialConfiguration(
bool is_incognito_process) {
is_incognito_process_ = is_incognito_process;
}
+void ChromeRenderThreadObserver::OnRendererInterfaceRequest(
+ chrome::mojom::RendererConfigurationAssociatedRequest request) {
+ DCHECK(!renderer_configuration_binding_.is_bound());
+ renderer_configuration_binding_.Bind(std::move(request));
+}
+
void ChromeRenderThreadObserver::OnSetContentSettingRules(
const RendererContentSettingRules& rules) {
content_setting_rules_ = rules;

Powered by Google App Engine
This is Rietveld 408576698