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

Side by Side Diff: content/browser/browser_main_loop.cc

Issue 1738663002: Hook embedded shell up to MojoShellConnection (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months 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 "content/browser/browser_main_loop.h" 5 #include "content/browser/browser_main_loop.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 #include "content/browser/renderer_host/render_process_host_impl.h" 56 #include "content/browser/renderer_host/render_process_host_impl.h"
57 #include "content/browser/speech/speech_recognition_manager_impl.h" 57 #include "content/browser/speech/speech_recognition_manager_impl.h"
58 #include "content/browser/startup_task_runner.h" 58 #include "content/browser/startup_task_runner.h"
59 #include "content/browser/time_zone_monitor.h" 59 #include "content/browser/time_zone_monitor.h"
60 #include "content/browser/utility_process_host_impl.h" 60 #include "content/browser/utility_process_host_impl.h"
61 #include "content/browser/webui/content_web_ui_controller_factory.h" 61 #include "content/browser/webui/content_web_ui_controller_factory.h"
62 #include "content/browser/webui/url_data_manager.h" 62 #include "content/browser/webui/url_data_manager.h"
63 #include "content/common/content_switches_internal.h" 63 #include "content/common/content_switches_internal.h"
64 #include "content/common/host_discardable_shared_memory_manager.h" 64 #include "content/common/host_discardable_shared_memory_manager.h"
65 #include "content/common/host_shared_bitmap_manager.h" 65 #include "content/common/host_shared_bitmap_manager.h"
66 #include "content/common/mojo/mojo_shell_connection_impl.h"
66 #include "content/public/browser/browser_main_parts.h" 67 #include "content/public/browser/browser_main_parts.h"
67 #include "content/public/browser/content_browser_client.h" 68 #include "content/public/browser/content_browser_client.h"
68 #include "content/public/browser/render_process_host.h" 69 #include "content/public/browser/render_process_host.h"
69 #include "content/public/browser/tracing_controller.h" 70 #include "content/public/browser/tracing_controller.h"
70 #include "content/public/common/content_switches.h" 71 #include "content/public/common/content_switches.h"
71 #include "content/public/common/main_function_params.h" 72 #include "content/public/common/main_function_params.h"
72 #include "content/public/common/result_codes.h" 73 #include "content/public/common/result_codes.h"
73 #include "device/battery/battery_status_service.h" 74 #include "device/battery/battery_status_service.h"
74 #include "ipc/mojo/scoped_ipc_support.h" 75 #include "ipc/mojo/scoped_ipc_support.h"
75 #include "media/audio/audio_manager.h" 76 #include "media/audio/audio_manager.h"
76 #include "media/base/media.h" 77 #include "media/base/media.h"
77 #include "media/base/user_input_monitor.h" 78 #include "media/base/user_input_monitor.h"
78 #include "media/midi/midi_manager.h" 79 #include "media/midi/midi_manager.h"
80 #include "mojo/shell/public/cpp/shell.h"
79 #include "net/base/network_change_notifier.h" 81 #include "net/base/network_change_notifier.h"
80 #include "net/socket/client_socket_factory.h" 82 #include "net/socket/client_socket_factory.h"
81 #include "net/ssl/ssl_config_service.h" 83 #include "net/ssl/ssl_config_service.h"
82 #include "skia/ext/event_tracer_impl.h" 84 #include "skia/ext/event_tracer_impl.h"
83 #include "skia/ext/skia_memory_dump_provider.h" 85 #include "skia/ext/skia_memory_dump_provider.h"
84 #include "sql/sql_memory_dump_provider.h" 86 #include "sql/sql_memory_dump_provider.h"
85 #include "ui/base/clipboard/clipboard.h" 87 #include "ui/base/clipboard/clipboard.h"
86 88
87 #if defined(USE_AURA) || (defined(OS_MACOSX) && !defined(OS_IOS)) 89 #if defined(USE_AURA) || (defined(OS_MACOSX) && !defined(OS_IOS))
88 #include "content/browser/compositor/image_transport_factory.h" 90 #include "content/browser/compositor/image_transport_factory.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 #include "ui/gfx/x/x11_connection.h" 172 #include "ui/gfx/x/x11_connection.h"
171 #include "ui/gfx/x/x11_switches.h" 173 #include "ui/gfx/x/x11_switches.h"
172 #include "ui/gfx/x/x11_types.h" 174 #include "ui/gfx/x/x11_types.h"
173 #endif 175 #endif
174 176
175 #if defined(USE_NSS_CERTS) || !defined(USE_OPENSSL) 177 #if defined(USE_NSS_CERTS) || !defined(USE_OPENSSL)
176 #include "crypto/nss_util.h" 178 #include "crypto/nss_util.h"
177 #endif 179 #endif
178 180
179 #if defined(MOJO_SHELL_CLIENT) 181 #if defined(MOJO_SHELL_CLIENT)
180 #include "content/common/mojo/mojo_shell_connection_impl.h"
181 #include "mojo/converters/network/network_type_converters.h"
182 #include "mojo/shell/public/cpp/shell.h"
183 #include "ui/views/mus/window_manager_connection.h" 182 #include "ui/views/mus/window_manager_connection.h"
184 #endif 183 #endif
185 184
186 // One of the linux specific headers defines this as a macro. 185 // One of the linux specific headers defines this as a macro.
187 #ifdef DestroyAll 186 #ifdef DestroyAll
188 #undef DestroyAll 187 #undef DestroyAll
189 #endif 188 #endif
190 189
191 namespace content { 190 namespace content {
192 namespace { 191 namespace {
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 NOTREACHED(); 907 NOTREACHED();
909 } 908 }
910 909
911 TRACE_EVENT_END0("startup", "BrowserMainLoop::CreateThreads:start"); 910 TRACE_EVENT_END0("startup", "BrowserMainLoop::CreateThreads:start");
912 } 911 }
913 created_threads_ = true; 912 created_threads_ = true;
914 return result_code_; 913 return result_code_;
915 } 914 }
916 915
917 int BrowserMainLoop::PreMainMessageLoopRun() { 916 int BrowserMainLoop::PreMainMessageLoopRun() {
918 #if defined(MOJO_SHELL_CLIENT)
919 if (IsRunningInMojoShell()) { 917 if (IsRunningInMojoShell()) {
920 MojoShellConnectionImpl::Create(); 918 MojoShellConnectionImpl::Create();
921 MojoShellConnectionImpl::Get()->BindToCommandLinePlatformChannel(); 919 MojoShellConnectionImpl::Get()->BindToCommandLinePlatformChannel();
922 #if defined(USE_AURA) 920 #if defined(MOJO_SHELL_CLIENT) && defined(USE_AURA)
923 views::WindowManagerConnection::Create( 921 views::WindowManagerConnection::Create(
924 MojoShellConnection::Get()->GetShell()); 922 MojoShellConnection::Get()->GetShell());
925 #endif 923 #endif
926 } 924 }
927 #endif
928 925
929 if (parts_) { 926 if (parts_) {
930 TRACE_EVENT0("startup", 927 TRACE_EVENT0("startup",
931 "BrowserMainLoop::CreateThreads:PreMainMessageLoopRun"); 928 "BrowserMainLoop::CreateThreads:PreMainMessageLoopRun");
932 TRACK_SCOPED_REGION( 929 TRACK_SCOPED_REGION(
933 "Startup", "BrowserMainLoop::PreMainMessageLoopRun"); 930 "Startup", "BrowserMainLoop::PreMainMessageLoopRun");
934 931
935 parts_->PreMainMessageLoopRun(); 932 parts_->PreMainMessageLoopRun();
936 } 933 }
937 934
(...skipping 27 matching lines...) Expand all
965 TRACE_EVENT0("shutdown", "BrowserMainLoop::ShutdownThreadsAndCleanUp"); 962 TRACE_EVENT0("shutdown", "BrowserMainLoop::ShutdownThreadsAndCleanUp");
966 963
967 // Teardown may start in PostMainMessageLoopRun, and during teardown we 964 // Teardown may start in PostMainMessageLoopRun, and during teardown we
968 // need to be able to perform IO. 965 // need to be able to perform IO.
969 base::ThreadRestrictions::SetIOAllowed(true); 966 base::ThreadRestrictions::SetIOAllowed(true);
970 BrowserThread::PostTask( 967 BrowserThread::PostTask(
971 BrowserThread::IO, FROM_HERE, 968 BrowserThread::IO, FROM_HERE,
972 base::Bind(base::IgnoreResult(&base::ThreadRestrictions::SetIOAllowed), 969 base::Bind(base::IgnoreResult(&base::ThreadRestrictions::SetIOAllowed),
973 true)); 970 true));
974 971
975 #if defined(MOJO_SHELL_CLIENT) 972 if (IsRunningInMojoShell())
976 MojoShellConnection::Destroy(); 973 MojoShellConnection::Destroy();
977 #endif
978 974
979 #if !defined(OS_IOS) 975 #if !defined(OS_IOS)
980 if (RenderProcessHost::run_renderer_in_process()) 976 if (RenderProcessHost::run_renderer_in_process())
981 RenderProcessHostImpl::ShutDownInProcessRenderer(); 977 RenderProcessHostImpl::ShutDownInProcessRenderer();
982 #endif 978 #endif
983 979
984 if (parts_) { 980 if (parts_) {
985 TRACE_EVENT0("shutdown", 981 TRACE_EVENT0("shutdown",
986 "BrowserMainLoop::Subsystem:PostMainMessageLoopRun"); 982 "BrowserMainLoop::Subsystem:PostMainMessageLoopRun");
987 parts_->PostMainMessageLoopRun(); 983 parts_->PostMainMessageLoopRun();
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
1470 DCHECK(is_tracing_startup_for_duration_); 1466 DCHECK(is_tracing_startup_for_duration_);
1471 1467
1472 is_tracing_startup_for_duration_ = false; 1468 is_tracing_startup_for_duration_ = false;
1473 TracingController::GetInstance()->StopTracing( 1469 TracingController::GetInstance()->StopTracing(
1474 TracingController::CreateFileSink( 1470 TracingController::CreateFileSink(
1475 startup_trace_file_, 1471 startup_trace_file_,
1476 base::Bind(OnStoppedStartupTracing, startup_trace_file_))); 1472 base::Bind(OnStoppedStartupTracing, startup_trace_file_)));
1477 } 1473 }
1478 1474
1479 } // namespace content 1475 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/browser_child_process_host_impl.cc ('k') | content/browser/child_process_security_policy_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698