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

Unified Diff: services/ui/service.cc

Issue 2858103002: Have mash_browser_tests recreate BackgroundServiceManager per test (Closed)
Patch Set: Revert AuraInit Quitting Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: services/ui/service.cc
diff --git a/services/ui/service.cc b/services/ui/service.cc
index f44fe0467da9605072fafb53c7615df3dc25d3f1..0a4554ed5126bc75560fa7c1103cf7615a259088 100644
--- a/services/ui/service.cc
+++ b/services/ui/service.cc
@@ -100,9 +100,9 @@ Service::~Service() {
#endif
}
-void Service::InitializeResources(service_manager::Connector* connector) {
+bool Service::InitializeResources(service_manager::Connector* connector) {
if (ui::ResourceBundle::HasSharedInstance())
- return;
+ return true;
std::set<std::string> resource_paths;
resource_paths.insert(kResourceFileStrings);
@@ -112,7 +112,10 @@ void Service::InitializeResources(service_manager::Connector* connector) {
catalog::ResourceLoader loader;
filesystem::mojom::DirectoryPtr directory;
connector->BindInterface(catalog::mojom::kServiceName, &directory);
- CHECK(loader.OpenFiles(std::move(directory), resource_paths));
+ if (!loader.OpenFiles(std::move(directory), resource_paths)) {
+ LOG(ERROR) << "Service failed to open resource files.\n";
sky 2017/05/18 20:30:27 no need for the \n here.
jonross 2017/05/18 20:40:24 Done.
+ return false;
+ }
ui::RegisterPathProvider();
@@ -125,6 +128,7 @@ void Service::InitializeResources(service_manager::Connector* connector) {
ui::SCALE_FACTOR_100P);
rb.AddDataPackFromFile(loader.TakeFile(kResourceFile200),
ui::SCALE_FACTOR_200P);
+ return true;
}
Service::UserState* Service::GetUserState(
@@ -156,7 +160,11 @@ void Service::OnStart() {
if (test_config_)
ui::test::EnableTestConfigForPlatformWindows();
- InitializeResources(context()->connector());
+ // If resources are unavailable do not complete start-up.
+ if (!InitializeResources(context()->connector())) {
+ context()->QuitNow();
+ return;
+ }
#if defined(USE_OZONE)
// The ozone platform can provide its own event source. So initialize the

Powered by Google App Engine
This is Rietveld 408576698