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

Side by Side 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 unified diff | Download patch
OLDNEW
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 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 std::move(request)); 229 std::move(request));
230 } 230 }
231 231
232 } // namespace 232 } // namespace
233 233
234 bool ChromeRenderThreadObserver::is_incognito_process_ = false; 234 bool ChromeRenderThreadObserver::is_incognito_process_ = false;
235 235
236 ChromeRenderThreadObserver::ChromeRenderThreadObserver() 236 ChromeRenderThreadObserver::ChromeRenderThreadObserver()
237 : field_trial_syncer_(this), 237 : field_trial_syncer_(this),
238 visited_link_slave_(new visitedlink::VisitedLinkSlave), 238 visited_link_slave_(new visitedlink::VisitedLinkSlave),
239 renderer_configuration_binding_(this),
239 weak_factory_(this) { 240 weak_factory_(this) {
240 const base::CommandLine& command_line = 241 const base::CommandLine& command_line =
241 *base::CommandLine::ForCurrentProcess(); 242 *base::CommandLine::ForCurrentProcess();
242 243
243 RenderThread* thread = RenderThread::Get(); 244 RenderThread* thread = RenderThread::Get();
244 resource_delegate_.reset(new RendererResourceDelegate()); 245 resource_delegate_.reset(new RendererResourceDelegate());
245 thread->SetResourceDispatcherDelegate(resource_delegate_.get()); 246 thread->SetResourceDispatcherDelegate(resource_delegate_.get());
246 247
247 thread->GetInterfaceRegistry()->AddInterface( 248 thread->GetInterfaceRegistry()->AddInterface(
248 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr())); 249 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr()));
(...skipping 18 matching lines...) Expand all
267 WebSecurityPolicy::registerURLSchemeAsNoAccess(native_scheme); 268 WebSecurityPolicy::registerURLSchemeAsNoAccess(native_scheme);
268 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( 269 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
269 native_scheme); 270 native_scheme);
270 271
271 thread->GetInterfaceRegistry()->AddInterface( 272 thread->GetInterfaceRegistry()->AddInterface(
272 visited_link_slave_->GetBindCallback()); 273 visited_link_slave_->GetBindCallback());
273 } 274 }
274 275
275 ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {} 276 ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {}
276 277
278 void ChromeRenderThreadObserver::RegisterMojoInterfaces(
279 content::AssociatedInterfaceRegistry* associated_interfaces) {
280 associated_interfaces->AddInterface(
281 base::Bind(&ChromeRenderThreadObserver::OnRendererInterfaceRequest,
282 base::Unretained(this)));
283 }
284
285 void ChromeRenderThreadObserver::UnregisterMojoInterfaces(
286 content::AssociatedInterfaceRegistry* associated_interfaces) {
287 associated_interfaces->RemoveInterface(
288 chrome::mojom::RendererConfiguration::Name_);
289 }
290
277 bool ChromeRenderThreadObserver::OnControlMessageReceived( 291 bool ChromeRenderThreadObserver::OnControlMessageReceived(
278 const IPC::Message& message) { 292 const IPC::Message& message) {
279 bool handled = true; 293 bool handled = true;
280 IPC_BEGIN_MESSAGE_MAP(ChromeRenderThreadObserver, message) 294 IPC_BEGIN_MESSAGE_MAP(ChromeRenderThreadObserver, message)
281 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsIncognitoProcess,
282 OnSetIsIncognitoProcess)
283 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup) 295 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup)
284 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules, 296 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules,
285 OnSetContentSettingRules) 297 OnSetContentSettingRules)
286 IPC_MESSAGE_UNHANDLED(handled = false) 298 IPC_MESSAGE_UNHANDLED(handled = false)
287 IPC_END_MESSAGE_MAP() 299 IPC_END_MESSAGE_MAP()
288 return handled; 300 return handled;
289 } 301 }
290 302
291 void ChromeRenderThreadObserver::OnRenderProcessShutdown() { 303 void ChromeRenderThreadObserver::OnRenderProcessShutdown() {
292 visited_link_slave_.reset(); 304 visited_link_slave_.reset();
305 // This renderer_configuration_binding_.Unbind call works around tests that
Ken Rockot(use gerrit already) 2016/12/09 04:29:08 nit: Probably sufficient to just way "Workaround f
nigeltao1 2016/12/09 04:59:40 Done.
306 // run in single-process mode, where the renderer_configuration_binding_
307 // destructor is (mistakenly??) run on the wrong thread during teardown. See
308 // https://groups.google.com/a/chromium.org/d/msg/chromium-mojo/BKjxN1DLdrc/vB CU5Pw5AAAJ
309 // and http://crbug.com/672646
310 if (renderer_configuration_binding_.is_bound())
311 renderer_configuration_binding_.Unbind();
293 } 312 }
294 313
295 void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized( 314 void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized(
296 const std::string& trial_name, 315 const std::string& trial_name,
297 const std::string& group_name) { 316 const std::string& group_name) {
298 chrome::mojom::FieldTrialRecorderPtr field_trial_recorder; 317 chrome::mojom::FieldTrialRecorderPtr field_trial_recorder;
299 content::RenderThread::Get()->GetRemoteInterfaces()->GetInterface( 318 content::RenderThread::Get()->GetRemoteInterfaces()->GetInterface(
300 &field_trial_recorder); 319 &field_trial_recorder);
301 field_trial_recorder->FieldTrialActivated(trial_name); 320 field_trial_recorder->FieldTrialActivated(trial_name);
302 } 321 }
303 322
304 void ChromeRenderThreadObserver::OnSetIsIncognitoProcess( 323 void ChromeRenderThreadObserver::SetInitialConfiguration(
305 bool is_incognito_process) { 324 bool is_incognito_process) {
306 is_incognito_process_ = is_incognito_process; 325 is_incognito_process_ = is_incognito_process;
307 } 326 }
308 327
328 void ChromeRenderThreadObserver::OnRendererInterfaceRequest(
329 chrome::mojom::RendererConfigurationAssociatedRequest request) {
330 DCHECK(!renderer_configuration_binding_.is_bound());
331 renderer_configuration_binding_.Bind(std::move(request));
332 }
333
309 void ChromeRenderThreadObserver::OnSetContentSettingRules( 334 void ChromeRenderThreadObserver::OnSetContentSettingRules(
310 const RendererContentSettingRules& rules) { 335 const RendererContentSettingRules& rules) {
311 content_setting_rules_ = rules; 336 content_setting_rules_ = rules;
312 } 337 }
313 338
314 void ChromeRenderThreadObserver::OnSetFieldTrialGroup( 339 void ChromeRenderThreadObserver::OnSetFieldTrialGroup(
315 const std::string& trial_name, 340 const std::string& trial_name,
316 const std::string& group_name) { 341 const std::string& group_name) {
317 field_trial_syncer_.OnSetFieldTrialGroup(trial_name, group_name); 342 field_trial_syncer_.OnSetFieldTrialGroup(trial_name, group_name);
318 } 343 }
319 344
320 const RendererContentSettingRules* 345 const RendererContentSettingRules*
321 ChromeRenderThreadObserver::content_setting_rules() const { 346 ChromeRenderThreadObserver::content_setting_rules() const {
322 return &content_setting_rules_; 347 return &content_setting_rules_;
323 } 348 }
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_render_thread_observer.h ('k') | content/public/renderer/render_thread_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698