Chromium Code Reviews| 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 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 227 std::move(request)); | 227 std::move(request)); |
| 228 } | 228 } |
| 229 | 229 |
| 230 } // namespace | 230 } // namespace |
| 231 | 231 |
| 232 bool ChromeRenderThreadObserver::is_incognito_process_ = false; | 232 bool ChromeRenderThreadObserver::is_incognito_process_ = false; |
| 233 | 233 |
| 234 ChromeRenderThreadObserver::ChromeRenderThreadObserver() | 234 ChromeRenderThreadObserver::ChromeRenderThreadObserver() |
| 235 : field_trial_syncer_(this), | 235 : field_trial_syncer_(this), |
| 236 visited_link_slave_(new visitedlink::VisitedLinkSlave), | 236 visited_link_slave_(new visitedlink::VisitedLinkSlave), |
| 237 renderer_binding_(this), | |
| 237 weak_factory_(this) { | 238 weak_factory_(this) { |
| 238 const base::CommandLine& command_line = | 239 const base::CommandLine& command_line = |
| 239 *base::CommandLine::ForCurrentProcess(); | 240 *base::CommandLine::ForCurrentProcess(); |
| 240 | 241 |
| 241 RenderThread* thread = RenderThread::Get(); | 242 RenderThread* thread = RenderThread::Get(); |
| 242 resource_delegate_.reset(new RendererResourceDelegate()); | 243 resource_delegate_.reset(new RendererResourceDelegate()); |
| 243 thread->SetResourceDispatcherDelegate(resource_delegate_.get()); | 244 thread->SetResourceDispatcherDelegate(resource_delegate_.get()); |
| 244 | 245 |
| 245 thread->GetInterfaceRegistry()->AddInterface( | 246 thread->GetInterfaceRegistry()->AddInterface( |
| 246 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr())); | 247 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr())); |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 265 WebSecurityPolicy::registerURLSchemeAsNoAccess(native_scheme); | 266 WebSecurityPolicy::registerURLSchemeAsNoAccess(native_scheme); |
| 266 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( | 267 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( |
| 267 native_scheme); | 268 native_scheme); |
| 268 | 269 |
| 269 thread->GetInterfaceRegistry()->AddInterface( | 270 thread->GetInterfaceRegistry()->AddInterface( |
| 270 visited_link_slave_->GetBindCallback()); | 271 visited_link_slave_->GetBindCallback()); |
| 271 } | 272 } |
| 272 | 273 |
| 273 ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {} | 274 ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {} |
| 274 | 275 |
| 276 void ChromeRenderThreadObserver::RegisterMojoInterfaces( | |
| 277 content::AssociatedInterfaceRegistry* associated_interfaces) { | |
| 278 associated_interfaces->AddInterface( | |
| 279 base::Bind(&ChromeRenderThreadObserver::OnRendererInterfaceRequest, | |
| 280 base::Unretained(this))); | |
|
nigeltao1
2016/12/01 00:30:16
BTW, I am not 100% confident that this is correct
Ken Rockot(use gerrit already)
2016/12/01 18:49:45
To clarify, in this case it is technically fine si
nigeltao1
2016/12/02 05:36:54
Done.
| |
| 281 } | |
| 282 | |
| 283 void ChromeRenderThreadObserver::OnRendererInterfaceRequest( | |
| 284 chrome::mojom::RendererAssociatedRequest request) { | |
| 285 DCHECK(!renderer_binding_.is_bound()); | |
| 286 renderer_binding_.Bind(std::move(request)); | |
| 287 } | |
| 288 | |
| 275 bool ChromeRenderThreadObserver::OnControlMessageReceived( | 289 bool ChromeRenderThreadObserver::OnControlMessageReceived( |
| 276 const IPC::Message& message) { | 290 const IPC::Message& message) { |
| 277 bool handled = true; | 291 bool handled = true; |
| 278 IPC_BEGIN_MESSAGE_MAP(ChromeRenderThreadObserver, message) | 292 IPC_BEGIN_MESSAGE_MAP(ChromeRenderThreadObserver, message) |
| 279 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsIncognitoProcess, | |
| 280 OnSetIsIncognitoProcess) | |
| 281 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup) | 293 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup) |
| 282 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules, | 294 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules, |
| 283 OnSetContentSettingRules) | 295 OnSetContentSettingRules) |
| 284 IPC_MESSAGE_UNHANDLED(handled = false) | 296 IPC_MESSAGE_UNHANDLED(handled = false) |
| 285 IPC_END_MESSAGE_MAP() | 297 IPC_END_MESSAGE_MAP() |
| 286 return handled; | 298 return handled; |
| 287 } | 299 } |
| 288 | 300 |
| 289 void ChromeRenderThreadObserver::OnRenderProcessShutdown() { | 301 void ChromeRenderThreadObserver::OnRenderProcessShutdown() { |
| 290 visited_link_slave_.reset(); | 302 visited_link_slave_.reset(); |
| 291 } | 303 } |
| 292 | 304 |
| 293 void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized( | 305 void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized( |
| 294 const std::string& trial_name, | 306 const std::string& trial_name, |
| 295 const std::string& group_name) { | 307 const std::string& group_name) { |
| 296 content::RenderThread::Get()->Send( | 308 content::RenderThread::Get()->Send( |
| 297 new ChromeViewHostMsg_FieldTrialActivated(trial_name)); | 309 new ChromeViewHostMsg_FieldTrialActivated(trial_name)); |
| 298 } | 310 } |
| 299 | 311 |
| 300 void ChromeRenderThreadObserver::OnSetIsIncognitoProcess( | 312 void ChromeRenderThreadObserver::InitialConfiguration( |
| 301 bool is_incognito_process) { | 313 chrome::mojom::InitialConfigurationParamsPtr params) { |
| 302 is_incognito_process_ = is_incognito_process; | 314 is_incognito_process_ = params->is_incognito_process; |
| 303 } | 315 } |
| 304 | 316 |
| 305 void ChromeRenderThreadObserver::OnSetContentSettingRules( | 317 void ChromeRenderThreadObserver::OnSetContentSettingRules( |
| 306 const RendererContentSettingRules& rules) { | 318 const RendererContentSettingRules& rules) { |
| 307 content_setting_rules_ = rules; | 319 content_setting_rules_ = rules; |
| 308 } | 320 } |
| 309 | 321 |
| 310 void ChromeRenderThreadObserver::OnSetFieldTrialGroup( | 322 void ChromeRenderThreadObserver::OnSetFieldTrialGroup( |
| 311 const std::string& trial_name, | 323 const std::string& trial_name, |
| 312 const std::string& group_name) { | 324 const std::string& group_name) { |
| 313 field_trial_syncer_.OnSetFieldTrialGroup(trial_name, group_name); | 325 field_trial_syncer_.OnSetFieldTrialGroup(trial_name, group_name); |
| 314 } | 326 } |
| 315 | 327 |
| 316 const RendererContentSettingRules* | 328 const RendererContentSettingRules* |
| 317 ChromeRenderThreadObserver::content_setting_rules() const { | 329 ChromeRenderThreadObserver::content_setting_rules() const { |
| 318 return &content_setting_rules_; | 330 return &content_setting_rules_; |
| 319 } | 331 } |
| OLD | NEW |