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

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 22 matching lines...) Expand all
33 #include "chrome/common/media/media_resource_provider.h" 33 #include "chrome/common/media/media_resource_provider.h"
34 #include "chrome/common/net/net_resource_provider.h" 34 #include "chrome/common/net/net_resource_provider.h"
35 #include "chrome/common/render_messages.h" 35 #include "chrome/common/render_messages.h"
36 #include "chrome/common/resource_usage_reporter.mojom.h" 36 #include "chrome/common/resource_usage_reporter.mojom.h"
37 #include "chrome/common/resource_usage_reporter_type_converters.h" 37 #include "chrome/common/resource_usage_reporter_type_converters.h"
38 #include "chrome/common/url_constants.h" 38 #include "chrome/common/url_constants.h"
39 #include "chrome/renderer/content_settings_observer.h" 39 #include "chrome/renderer/content_settings_observer.h"
40 #include "chrome/renderer/security_filter_peer.h" 40 #include "chrome/renderer/security_filter_peer.h"
41 #include "components/visitedlink/renderer/visitedlink_slave.h" 41 #include "components/visitedlink/renderer/visitedlink_slave.h"
42 #include "content/public/child/resource_dispatcher_delegate.h" 42 #include "content/public/child/resource_dispatcher_delegate.h"
43 #include "content/public/common/associated_interface_registry.h"
43 #include "content/public/common/content_switches.h" 44 #include "content/public/common/content_switches.h"
44 #include "content/public/renderer/render_thread.h" 45 #include "content/public/renderer/render_thread.h"
45 #include "content/public/renderer/render_view.h" 46 #include "content/public/renderer/render_view.h"
46 #include "content/public/renderer/render_view_visitor.h" 47 #include "content/public/renderer/render_view_visitor.h"
47 #include "extensions/features/features.h" 48 #include "extensions/features/features.h"
48 #include "media/base/media_resources.h" 49 #include "media/base/media_resources.h"
49 #include "mojo/public/cpp/bindings/strong_binding.h" 50 #include "mojo/public/cpp/bindings/strong_binding.h"
50 #include "net/base/net_errors.h" 51 #include "net/base/net_errors.h"
51 #include "net/base/net_module.h" 52 #include "net/base/net_module.h"
52 #include "services/service_manager/public/cpp/interface_provider.h" 53 #include "services/service_manager/public/cpp/interface_provider.h"
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 std::move(request)); 230 std::move(request));
230 } 231 }
231 232
232 } // namespace 233 } // namespace
233 234
234 bool ChromeRenderThreadObserver::is_incognito_process_ = false; 235 bool ChromeRenderThreadObserver::is_incognito_process_ = false;
235 236
236 ChromeRenderThreadObserver::ChromeRenderThreadObserver() 237 ChromeRenderThreadObserver::ChromeRenderThreadObserver()
237 : field_trial_syncer_(this), 238 : field_trial_syncer_(this),
238 visited_link_slave_(new visitedlink::VisitedLinkSlave), 239 visited_link_slave_(new visitedlink::VisitedLinkSlave),
240 renderer_configuration_binding_(this),
239 weak_factory_(this) { 241 weak_factory_(this) {
240 const base::CommandLine& command_line = 242 const base::CommandLine& command_line =
241 *base::CommandLine::ForCurrentProcess(); 243 *base::CommandLine::ForCurrentProcess();
242 244
243 RenderThread* thread = RenderThread::Get(); 245 RenderThread* thread = RenderThread::Get();
244 resource_delegate_.reset(new RendererResourceDelegate()); 246 resource_delegate_.reset(new RendererResourceDelegate());
245 thread->SetResourceDispatcherDelegate(resource_delegate_.get()); 247 thread->SetResourceDispatcherDelegate(resource_delegate_.get());
246 248
247 thread->GetInterfaceRegistry()->AddInterface( 249 thread->GetInterfaceRegistry()->AddInterface(
248 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr())); 250 base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr()));
(...skipping 18 matching lines...) Expand all
267 WebSecurityPolicy::registerURLSchemeAsNoAccess(native_scheme); 269 WebSecurityPolicy::registerURLSchemeAsNoAccess(native_scheme);
268 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( 270 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
269 native_scheme); 271 native_scheme);
270 272
271 thread->GetInterfaceRegistry()->AddInterface( 273 thread->GetInterfaceRegistry()->AddInterface(
272 visited_link_slave_->GetBindCallback()); 274 visited_link_slave_->GetBindCallback());
273 } 275 }
274 276
275 ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {} 277 ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {}
276 278
279 void ChromeRenderThreadObserver::RegisterMojoInterfaces(
280 content::AssociatedInterfaceRegistry* associated_interfaces) {
281 associated_interfaces->AddInterface(
282 base::Bind(&ChromeRenderThreadObserver::OnRendererInterfaceRequest,
283 base::Unretained(this)));
284 }
285
286 void ChromeRenderThreadObserver::UnregisterMojoInterfaces(
287 content::AssociatedInterfaceRegistry* associated_interfaces) {
288 associated_interfaces->RemoveInterface(
289 chrome::mojom::RendererConfiguration::Name_);
290 }
291
277 bool ChromeRenderThreadObserver::OnControlMessageReceived( 292 bool ChromeRenderThreadObserver::OnControlMessageReceived(
278 const IPC::Message& message) { 293 const IPC::Message& message) {
279 bool handled = true; 294 bool handled = true;
280 IPC_BEGIN_MESSAGE_MAP(ChromeRenderThreadObserver, message) 295 IPC_BEGIN_MESSAGE_MAP(ChromeRenderThreadObserver, message)
281 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsIncognitoProcess,
282 OnSetIsIncognitoProcess)
283 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup) 296 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup)
284 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules, 297 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules,
285 OnSetContentSettingRules) 298 OnSetContentSettingRules)
286 IPC_MESSAGE_UNHANDLED(handled = false) 299 IPC_MESSAGE_UNHANDLED(handled = false)
287 IPC_END_MESSAGE_MAP() 300 IPC_END_MESSAGE_MAP()
288 return handled; 301 return handled;
289 } 302 }
290 303
291 void ChromeRenderThreadObserver::OnRenderProcessShutdown() { 304 void ChromeRenderThreadObserver::OnRenderProcessShutdown() {
292 visited_link_slave_.reset(); 305 visited_link_slave_.reset();
306
307 // Workaround for http://crbug.com/672646
308 if (renderer_configuration_binding_.is_bound())
309 renderer_configuration_binding_.Unbind();
293 } 310 }
294 311
295 void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized( 312 void ChromeRenderThreadObserver::OnFieldTrialGroupFinalized(
296 const std::string& trial_name, 313 const std::string& trial_name,
297 const std::string& group_name) { 314 const std::string& group_name) {
298 chrome::mojom::FieldTrialRecorderPtr field_trial_recorder; 315 chrome::mojom::FieldTrialRecorderPtr field_trial_recorder;
299 content::RenderThread::Get()->GetRemoteInterfaces()->GetInterface( 316 content::RenderThread::Get()->GetRemoteInterfaces()->GetInterface(
300 &field_trial_recorder); 317 &field_trial_recorder);
301 field_trial_recorder->FieldTrialActivated(trial_name); 318 field_trial_recorder->FieldTrialActivated(trial_name);
302 } 319 }
303 320
304 void ChromeRenderThreadObserver::OnSetIsIncognitoProcess( 321 void ChromeRenderThreadObserver::SetInitialConfiguration(
305 bool is_incognito_process) { 322 bool is_incognito_process) {
306 is_incognito_process_ = is_incognito_process; 323 is_incognito_process_ = is_incognito_process;
307 } 324 }
308 325
326 void ChromeRenderThreadObserver::OnRendererInterfaceRequest(
327 chrome::mojom::RendererConfigurationAssociatedRequest request) {
328 DCHECK(!renderer_configuration_binding_.is_bound());
329 renderer_configuration_binding_.Bind(std::move(request));
330 }
331
309 void ChromeRenderThreadObserver::OnSetContentSettingRules( 332 void ChromeRenderThreadObserver::OnSetContentSettingRules(
310 const RendererContentSettingRules& rules) { 333 const RendererContentSettingRules& rules) {
311 content_setting_rules_ = rules; 334 content_setting_rules_ = rules;
312 } 335 }
313 336
314 void ChromeRenderThreadObserver::OnSetFieldTrialGroup( 337 void ChromeRenderThreadObserver::OnSetFieldTrialGroup(
315 const std::string& trial_name, 338 const std::string& trial_name,
316 const std::string& group_name) { 339 const std::string& group_name) {
317 field_trial_syncer_.OnSetFieldTrialGroup(trial_name, group_name); 340 field_trial_syncer_.OnSetFieldTrialGroup(trial_name, group_name);
318 } 341 }
319 342
320 const RendererContentSettingRules* 343 const RendererContentSettingRules*
321 ChromeRenderThreadObserver::content_setting_rules() const { 344 ChromeRenderThreadObserver::content_setting_rules() const {
322 return &content_setting_rules_; 345 return &content_setting_rules_;
323 } 346 }
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