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

Side by Side Diff: chrome/browser/chrome_browser_main.cc

Issue 1822213002: Changes to get mash browser_tests shutdown working correctly (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: order 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
« no previous file with comments | « no previous file | chrome/test/base/mash_browser_tests_main.cc » ('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 "chrome/browser/chrome_browser_main.h" 5 #include "chrome/browser/chrome_browser_main.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 250
251 #if defined(USE_AURA) 251 #if defined(USE_AURA)
252 #include "ui/aura/env.h" 252 #include "ui/aura/env.h"
253 #endif // defined(USE_AURA) 253 #endif // defined(USE_AURA)
254 254
255 #if !defined(OS_ANDROID) 255 #if !defined(OS_ANDROID)
256 #include "chrome/browser/chrome_webusb_browser_client.h" 256 #include "chrome/browser/chrome_webusb_browser_client.h"
257 #include "components/webusb/webusb_detector.h" 257 #include "components/webusb/webusb_detector.h"
258 #endif 258 #endif
259 259
260 #if defined(MOJO_SHELL_CLIENT)
261 #include "chrome/browser/lifetime/application_lifetime.h"
262 #include "content/public/common/mojo_shell_connection.h"
263 #endif
264
260 using content::BrowserThread; 265 using content::BrowserThread;
261 266
262 namespace { 267 namespace {
263 268
264 // This function provides some ways to test crash and assertion handling 269 // This function provides some ways to test crash and assertion handling
265 // behavior of the program. 270 // behavior of the program.
266 void HandleTestParameters(const base::CommandLine& command_line) { 271 void HandleTestParameters(const base::CommandLine& command_line) {
267 // This parameter causes a null pointer crash (crash reporter trigger). 272 // This parameter causes a null pointer crash (crash reporter trigger).
268 if (command_line.HasSwitch(switches::kBrowserCrashTest)) { 273 if (command_line.HasSwitch(switches::kBrowserCrashTest)) {
269 int* bad_pointer = NULL; 274 int* bad_pointer = NULL;
(...skipping 861 matching lines...) Expand 10 before | Expand all | Expand 10 after
1131 // IOThread's initialization which happens in BrowserProcess:PreCreateThreads. 1136 // IOThread's initialization which happens in BrowserProcess:PreCreateThreads.
1132 SetupMetricsAndFieldTrials(); 1137 SetupMetricsAndFieldTrials();
1133 1138
1134 // ChromeOS needs ResourceBundle::InitSharedInstance to be called before this. 1139 // ChromeOS needs ResourceBundle::InitSharedInstance to be called before this.
1135 browser_process_->PreCreateThreads(); 1140 browser_process_->PreCreateThreads();
1136 1141
1137 return content::RESULT_CODE_NORMAL_EXIT; 1142 return content::RESULT_CODE_NORMAL_EXIT;
1138 } 1143 }
1139 1144
1140 void ChromeBrowserMainParts::PreMainMessageLoopRun() { 1145 void ChromeBrowserMainParts::PreMainMessageLoopRun() {
1146 #if defined(MOJO_SHELL_CLIENT)
1147 if (content::MojoShellConnection::Get() &&
1148 content::MojoShellConnection::Get()->UsingExternalShell()) {
1149 content::MojoShellConnection::Get()->SetConnectionLostClosure(
1150 base::Bind(&chrome::SessionEnding));
1151 }
1152 #endif
1141 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreMainMessageLoopRun"); 1153 TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreMainMessageLoopRun");
1142 TRACK_SCOPED_REGION( 1154 TRACK_SCOPED_REGION(
1143 "Startup", "ChromeBrowserMainParts::PreMainMessageLoopRun"); 1155 "Startup", "ChromeBrowserMainParts::PreMainMessageLoopRun");
1144 1156
1145 result_code_ = PreMainMessageLoopRunImpl(); 1157 result_code_ = PreMainMessageLoopRunImpl();
1146 1158
1147 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) 1159 for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
1148 chrome_extra_parts_[i]->PreMainMessageLoopRun(); 1160 chrome_extra_parts_[i]->PreMainMessageLoopRun();
1149 } 1161 }
1150 1162
(...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after
1936 chromeos::CrosSettings::Shutdown(); 1948 chromeos::CrosSettings::Shutdown();
1937 #endif // defined(OS_CHROMEOS) 1949 #endif // defined(OS_CHROMEOS)
1938 #endif // defined(OS_ANDROID) 1950 #endif // defined(OS_ANDROID)
1939 } 1951 }
1940 1952
1941 // Public members: 1953 // Public members:
1942 1954
1943 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) { 1955 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) {
1944 chrome_extra_parts_.push_back(parts); 1956 chrome_extra_parts_.push_back(parts);
1945 } 1957 }
OLDNEW
« no previous file with comments | « no previous file | chrome/test/base/mash_browser_tests_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698