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

Side by Side Diff: content/app/content_main_runner.cc

Issue 513633002: Reland 596ff54335b2a1b393af10657bc4945114f3beed - Split API bundle generation steps (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 6 years, 3 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
« no previous file with comments | « chrome/common/extensions/api/schemas.gypi ('k') | extensions/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/public/app/content_main_runner.h" 5 #include "content/public/app/content_main_runner.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include "base/allocator/allocator_extension.h" 9 #include "base/allocator/allocator_extension.h"
10 #include "base/at_exit.h" 10 #include "base/at_exit.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 #endif 118 #endif
119 extern int PpapiPluginMain(const MainFunctionParams&); 119 extern int PpapiPluginMain(const MainFunctionParams&);
120 extern int PpapiBrokerMain(const MainFunctionParams&); 120 extern int PpapiBrokerMain(const MainFunctionParams&);
121 #endif 121 #endif
122 extern int RendererMain(const content::MainFunctionParams&); 122 extern int RendererMain(const content::MainFunctionParams&);
123 extern int UtilityMain(const MainFunctionParams&); 123 extern int UtilityMain(const MainFunctionParams&);
124 } // namespace content 124 } // namespace content
125 125
126 namespace content { 126 namespace content {
127 127
128 #if !defined(CHROME_MULTIPLE_DLL_CHILD)
128 base::LazyInstance<ContentBrowserClient> 129 base::LazyInstance<ContentBrowserClient>
129 g_empty_content_browser_client = LAZY_INSTANCE_INITIALIZER; 130 g_empty_content_browser_client = LAZY_INSTANCE_INITIALIZER;
131 #endif // !CHROME_MULTIPLE_DLL_CHILD
132
130 #if !defined(OS_IOS) && !defined(CHROME_MULTIPLE_DLL_BROWSER) 133 #if !defined(OS_IOS) && !defined(CHROME_MULTIPLE_DLL_BROWSER)
131 base::LazyInstance<ContentPluginClient> 134 base::LazyInstance<ContentPluginClient>
132 g_empty_content_plugin_client = LAZY_INSTANCE_INITIALIZER; 135 g_empty_content_plugin_client = LAZY_INSTANCE_INITIALIZER;
133 base::LazyInstance<ContentRendererClient> 136 base::LazyInstance<ContentRendererClient>
134 g_empty_content_renderer_client = LAZY_INSTANCE_INITIALIZER; 137 g_empty_content_renderer_client = LAZY_INSTANCE_INITIALIZER;
135 base::LazyInstance<ContentUtilityClient> 138 base::LazyInstance<ContentUtilityClient>
136 g_empty_content_utility_client = LAZY_INSTANCE_INITIALIZER; 139 g_empty_content_utility_client = LAZY_INSTANCE_INITIALIZER;
137 #endif // !OS_IOS && !CHROME_MULTIPLE_DLL_BROWSER 140 #endif // !OS_IOS && !CHROME_MULTIPLE_DLL_BROWSER
138 141
139 #if defined(OS_WIN) 142 #if defined(OS_WIN)
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 new base::StatsTable(table_ident, kStatsMaxThreads, kStatsMaxCounters); 238 new base::StatsTable(table_ident, kStatsMaxThreads, kStatsMaxCounters);
236 base::StatsTable::set_current(stats_table); 239 base::StatsTable::set_current(stats_table);
237 } 240 }
238 } 241 }
239 242
240 class ContentClientInitializer { 243 class ContentClientInitializer {
241 public: 244 public:
242 static void Set(const std::string& process_type, 245 static void Set(const std::string& process_type,
243 ContentMainDelegate* delegate) { 246 ContentMainDelegate* delegate) {
244 ContentClient* content_client = GetContentClient(); 247 ContentClient* content_client = GetContentClient();
248 #if !defined(CHROME_MULTIPLE_DLL_CHILD)
245 if (process_type.empty()) { 249 if (process_type.empty()) {
246 if (delegate) 250 if (delegate)
247 content_client->browser_ = delegate->CreateContentBrowserClient(); 251 content_client->browser_ = delegate->CreateContentBrowserClient();
248 if (!content_client->browser_) 252 if (!content_client->browser_)
249 content_client->browser_ = &g_empty_content_browser_client.Get(); 253 content_client->browser_ = &g_empty_content_browser_client.Get();
250 } 254 }
255 #endif // !CHROME_MULTIPLE_DLL_CHILD
251 256
252 #if !defined(OS_IOS) && !defined(CHROME_MULTIPLE_DLL_BROWSER) 257 #if !defined(OS_IOS) && !defined(CHROME_MULTIPLE_DLL_BROWSER)
253 if (process_type == switches::kPluginProcess || 258 if (process_type == switches::kPluginProcess ||
254 process_type == switches::kPpapiPluginProcess) { 259 process_type == switches::kPpapiPluginProcess) {
255 if (delegate) 260 if (delegate)
256 content_client->plugin_ = delegate->CreateContentPluginClient(); 261 content_client->plugin_ = delegate->CreateContentPluginClient();
257 if (!content_client->plugin_) 262 if (!content_client->plugin_)
258 content_client->plugin_ = &g_empty_content_plugin_client.Get(); 263 content_client->plugin_ = &g_empty_content_plugin_client.Get();
259 // Single process not supported in split dll mode. 264 // Single process not supported in split dll mode.
260 } else if (process_type == switches::kRendererProcess || 265 } else if (process_type == switches::kRendererProcess ||
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 if (delegate) 347 if (delegate)
343 return delegate->RunProcess(process_type, main_params); 348 return delegate->RunProcess(process_type, main_params);
344 349
345 NOTREACHED() << "Unknown zygote process type: " << process_type; 350 NOTREACHED() << "Unknown zygote process type: " << process_type;
346 return 1; 351 return 1;
347 } 352 }
348 #endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) 353 #endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
349 354
350 #if !defined(OS_IOS) 355 #if !defined(OS_IOS)
351 static void RegisterMainThreadFactories() { 356 static void RegisterMainThreadFactories() {
352 #if !defined(CHROME_MULTIPLE_DLL_BROWSER) 357 #if !defined(CHROME_MULTIPLE_DLL_BROWSER) && !defined(CHROME_MULTIPLE_DLL_CHILD)
353 UtilityProcessHostImpl::RegisterUtilityMainThreadFactory( 358 UtilityProcessHostImpl::RegisterUtilityMainThreadFactory(
354 CreateInProcessUtilityThread); 359 CreateInProcessUtilityThread);
355 RenderProcessHostImpl::RegisterRendererMainThreadFactory( 360 RenderProcessHostImpl::RegisterRendererMainThreadFactory(
356 CreateInProcessRendererThread); 361 CreateInProcessRendererThread);
357 GpuProcessHost::RegisterGpuMainThreadFactory( 362 GpuProcessHost::RegisterGpuMainThreadFactory(
358 CreateInProcessGpuThread); 363 CreateInProcessGpuThread);
359 #else 364 #else
360 base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); 365 base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
361 if (command_line.HasSwitch(switches::kSingleProcess)) { 366 if (command_line.HasSwitch(switches::kSingleProcess)) {
362 LOG(FATAL) << 367 LOG(FATAL) <<
363 "--single-process is not supported in chrome multiple dll browser."; 368 "--single-process is not supported in chrome multiple dll browser.";
364 } 369 }
365 if (command_line.HasSwitch(switches::kInProcessGPU)) { 370 if (command_line.HasSwitch(switches::kInProcessGPU)) {
366 LOG(FATAL) << 371 LOG(FATAL) <<
367 "--in-process-gpu is not supported in chrome multiple dll browser."; 372 "--in-process-gpu is not supported in chrome multiple dll browser.";
368 } 373 }
369 #endif 374 #endif // !CHROME_MULTIPLE_DLL_BROWSER && !CHROME_MULTIPLE_DLL_CHILD
370 } 375 }
371 376
372 // Run the FooMain() for a given process type. 377 // Run the FooMain() for a given process type.
373 // If |process_type| is empty, runs BrowserMain(). 378 // If |process_type| is empty, runs BrowserMain().
374 // Returns the exit code for this process. 379 // Returns the exit code for this process.
375 int RunNamedProcessTypeMain( 380 int RunNamedProcessTypeMain(
376 const std::string& process_type, 381 const std::string& process_type,
377 const MainFunctionParams& main_function_params, 382 const MainFunctionParams& main_function_params,
378 ContentMainDelegate* delegate) { 383 ContentMainDelegate* delegate) {
379 static const MainFunction kMainFunctions[] = { 384 static const MainFunction kMainFunctions[] = {
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 826
822 DISALLOW_COPY_AND_ASSIGN(ContentMainRunnerImpl); 827 DISALLOW_COPY_AND_ASSIGN(ContentMainRunnerImpl);
823 }; 828 };
824 829
825 // static 830 // static
826 ContentMainRunner* ContentMainRunner::Create() { 831 ContentMainRunner* ContentMainRunner::Create() {
827 return new ContentMainRunnerImpl(); 832 return new ContentMainRunnerImpl();
828 } 833 }
829 834
830 } // namespace content 835 } // namespace content
OLDNEW
« no previous file with comments | « chrome/common/extensions/api/schemas.gypi ('k') | extensions/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698