| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/renderer/chrome_render_thread_observer.h" | 5 #include "chrome/renderer/chrome_render_thread_observer.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <limits> | 9 #include <limits> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 std::move(request)); | 231 std::move(request)); |
| 232 } | 232 } |
| 233 | 233 |
| 234 } // namespace | 234 } // namespace |
| 235 | 235 |
| 236 bool ChromeRenderThreadObserver::is_incognito_process_ = false; | 236 bool ChromeRenderThreadObserver::is_incognito_process_ = false; |
| 237 | 237 |
| 238 ChromeRenderThreadObserver::ChromeRenderThreadObserver() | 238 ChromeRenderThreadObserver::ChromeRenderThreadObserver() |
| 239 : field_trial_syncer_(this), | 239 : field_trial_syncer_(this), |
| 240 visited_link_slave_(new visitedlink::VisitedLinkSlave), | 240 visited_link_slave_(new visitedlink::VisitedLinkSlave), |
| 241 renderer_configuration_binding_(this), | |
| 242 weak_factory_(this) { | 241 weak_factory_(this) { |
| 243 const base::CommandLine& command_line = | 242 const base::CommandLine& command_line = |
| 244 *base::CommandLine::ForCurrentProcess(); | 243 *base::CommandLine::ForCurrentProcess(); |
| 245 | 244 |
| 246 RenderThread* thread = RenderThread::Get(); | 245 RenderThread* thread = RenderThread::Get(); |
| 247 resource_delegate_.reset(new RendererResourceDelegate()); | 246 resource_delegate_.reset(new RendererResourceDelegate()); |
| 248 thread->SetResourceDispatcherDelegate(resource_delegate_.get()); | 247 thread->SetResourceDispatcherDelegate(resource_delegate_.get()); |
| 249 | 248 |
| 250 thread->GetInterfaceRegistry()->AddInterface( | 249 thread->GetInterfaceRegistry()->AddInterface( |
| 251 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr())); | 250 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr())); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 content::AssociatedInterfaceRegistry* associated_interfaces) { | 287 content::AssociatedInterfaceRegistry* associated_interfaces) { |
| 289 associated_interfaces->RemoveInterface( | 288 associated_interfaces->RemoveInterface( |
| 290 chrome::mojom::RendererConfiguration::Name_); | 289 chrome::mojom::RendererConfiguration::Name_); |
| 291 } | 290 } |
| 292 | 291 |
| 293 bool ChromeRenderThreadObserver::OnControlMessageReceived( | 292 bool ChromeRenderThreadObserver::OnControlMessageReceived( |
| 294 const IPC::Message& message) { | 293 const IPC::Message& message) { |
| 295 bool handled = true; | 294 bool handled = true; |
| 296 IPC_BEGIN_MESSAGE_MAP(ChromeRenderThreadObserver, message) | 295 IPC_BEGIN_MESSAGE_MAP(ChromeRenderThreadObserver, message) |
| 297 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup) | 296 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup) |
| 298 // TODO(nigeltao): delete this handler when all senders of | |
| 299 // ChromeViewMsg_SetContentSettingRules have been converted to Mojo. | |
| 300 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules, | |
| 301 SetContentSettingRules) | |
| 302 IPC_MESSAGE_UNHANDLED(handled = false) | 297 IPC_MESSAGE_UNHANDLED(handled = false) |
| 303 IPC_END_MESSAGE_MAP() | 298 IPC_END_MESSAGE_MAP() |
| 304 return handled; | 299 return handled; |
| 305 } | 300 } |
| 306 | 301 |
| 307 void ChromeRenderThreadObserver::OnRenderProcessShutdown() { | 302 void ChromeRenderThreadObserver::OnRenderProcessShutdown() { |
| 308 visited_link_slave_.reset(); | 303 visited_link_slave_.reset(); |
| 309 | 304 |
| 310 // Workaround for http://crbug.com/672646 | 305 // Workaround for http://crbug.com/672646 |
| 311 if (renderer_configuration_binding_.is_bound()) | 306 renderer_configuration_bindings_.CloseAllBindings(); |
| 312 renderer_configuration_binding_.Unbind(); | |
| 313 } | 307 } |
| 314 | 308 |
| 315 void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized( | 309 void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized( |
| 316 const std::string& trial_name, | 310 const std::string& trial_name, |
| 317 const std::string& group_name) { | 311 const std::string& group_name) { |
| 318 chrome::mojom::FieldTrialRecorderPtr field_trial_recorder; | 312 chrome::mojom::FieldTrialRecorderPtr field_trial_recorder; |
| 319 content::RenderThread::Get()->GetRemoteInterfaces()->GetInterface( | 313 content::RenderThread::Get()->GetRemoteInterfaces()->GetInterface( |
| 320 &field_trial_recorder); | 314 &field_trial_recorder); |
| 321 field_trial_recorder->FieldTrialActivated(trial_name); | 315 field_trial_recorder->FieldTrialActivated(trial_name); |
| 322 } | 316 } |
| 323 | 317 |
| 324 void ChromeRenderThreadObserver::SetInitialConfiguration( | 318 void ChromeRenderThreadObserver::SetInitialConfiguration( |
| 325 bool is_incognito_process) { | 319 bool is_incognito_process) { |
| 326 is_incognito_process_ = is_incognito_process; | 320 is_incognito_process_ = is_incognito_process; |
| 327 } | 321 } |
| 328 | 322 |
| 329 void ChromeRenderThreadObserver::SetContentSettingRules( | 323 void ChromeRenderThreadObserver::SetContentSettingRules( |
| 330 const RendererContentSettingRules& rules) { | 324 const RendererContentSettingRules& rules) { |
| 331 content_setting_rules_ = rules; | 325 content_setting_rules_ = rules; |
| 332 } | 326 } |
| 333 | 327 |
| 334 void ChromeRenderThreadObserver::OnRendererConfigurationAssociatedRequest( | 328 void ChromeRenderThreadObserver::OnRendererConfigurationAssociatedRequest( |
| 335 chrome::mojom::RendererConfigurationAssociatedRequest request) { | 329 chrome::mojom::RendererConfigurationAssociatedRequest request) { |
| 336 DCHECK(!renderer_configuration_binding_.is_bound()); | 330 renderer_configuration_bindings_.AddBinding(this, std::move(request)); |
| 337 renderer_configuration_binding_.Bind(std::move(request)); | |
| 338 } | 331 } |
| 339 | 332 |
| 340 void ChromeRenderThreadObserver::OnSetFieldTrialGroup( | 333 void ChromeRenderThreadObserver::OnSetFieldTrialGroup( |
| 341 const std::string& trial_name, | 334 const std::string& trial_name, |
| 342 const std::string& group_name) { | 335 const std::string& group_name) { |
| 343 field_trial_syncer_.OnSetFieldTrialGroup(trial_name, group_name); | 336 field_trial_syncer_.OnSetFieldTrialGroup(trial_name, group_name); |
| 344 } | 337 } |
| 345 | 338 |
| 346 const RendererContentSettingRules* | 339 const RendererContentSettingRules* |
| 347 ChromeRenderThreadObserver::content_setting_rules() const { | 340 ChromeRenderThreadObserver::content_setting_rules() const { |
| 348 return &content_setting_rules_; | 341 return &content_setting_rules_; |
| 349 } | 342 } |
| OLD | NEW |