OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "headless/lib/headless_content_main_delegate.h" | 5 #include "headless/lib/headless_content_main_delegate.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/base_switches.h" | 9 #include "base/base_switches.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 15 matching lines...) Expand all Loading... | |
26 #include "ui/base/resource/resource_bundle.h" | 26 #include "ui/base/resource/resource_bundle.h" |
27 #include "ui/base/ui_base_switches.h" | 27 #include "ui/base/ui_base_switches.h" |
28 #include "ui/gfx/switches.h" | 28 #include "ui/gfx/switches.h" |
29 #include "ui/gl/gl_switches.h" | 29 #include "ui/gl/gl_switches.h" |
30 #include "ui/ozone/public/ozone_switches.h" | 30 #include "ui/ozone/public/ozone_switches.h" |
31 | 31 |
32 #ifdef HEADLESS_USE_EMBEDDED_RESOURCES | 32 #ifdef HEADLESS_USE_EMBEDDED_RESOURCES |
33 #include "headless/embedded_resource_pak.h" | 33 #include "headless/embedded_resource_pak.h" |
34 #endif | 34 #endif |
35 | 35 |
36 #if defined(OS_MACOSX) | |
37 #include "base/mac/bundle_locations.h" | |
38 #else | |
39 #include "ui/base/ui_base_paths.h" | |
40 #endif | |
41 | |
36 namespace headless { | 42 namespace headless { |
37 namespace { | 43 namespace { |
38 // Keep in sync with content/common/content_constants_internal.h. | 44 // Keep in sync with content/common/content_constants_internal.h. |
39 // TODO(skyostil): Add a tracing test for this. | 45 // TODO(skyostil): Add a tracing test for this. |
40 const int kTraceEventBrowserProcessSortIndex = -6; | 46 const int kTraceEventBrowserProcessSortIndex = -6; |
41 | 47 |
42 HeadlessContentMainDelegate* g_current_headless_content_main_delegate = nullptr; | 48 HeadlessContentMainDelegate* g_current_headless_content_main_delegate = nullptr; |
43 | 49 |
44 base::LazyInstance<HeadlessCrashReporterClient>::Leaky g_headless_crash_client = | 50 base::LazyInstance<HeadlessCrashReporterClient>::Leaky g_headless_crash_client = |
45 LAZY_INSTANCE_INITIALIZER; | 51 LAZY_INSTANCE_INITIALIZER; |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
234 return g_current_headless_content_main_delegate; | 240 return g_current_headless_content_main_delegate; |
235 } | 241 } |
236 | 242 |
237 // static | 243 // static |
238 void HeadlessContentMainDelegate::InitializeResourceBundle() { | 244 void HeadlessContentMainDelegate::InitializeResourceBundle() { |
239 base::FilePath dir_module; | 245 base::FilePath dir_module; |
240 base::FilePath pak_file; | 246 base::FilePath pak_file; |
241 bool result = PathService::Get(base::DIR_MODULE, &dir_module); | 247 bool result = PathService::Get(base::DIR_MODULE, &dir_module); |
242 DCHECK(result); | 248 DCHECK(result); |
243 | 249 |
250 // Override locale pak dir to 'headless_locales'. | |
251 base::FilePath locale_pak = | |
252 dir_module.AppendASCII(FILE_PATH_LITERAL("headless_locales")); | |
Lei Zhang
2017/04/20 08:35:58
AppendASCII and FILE_PATH_LITERAL should never be
jzfeng
2017/04/27 06:56:07
Done.
Headless chrome is about to be enabled on Wi
| |
253 #if defined(OS_MACOSX) | |
254 base::mac::SetOverrideFrameworkBundlePath(locale_pak); | |
255 #else | |
256 PathService::Override(ui::DIR_LOCALES, locale_pak); | |
257 #endif | |
258 | |
244 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); | 259 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
245 const std::string locale = command_line->GetSwitchValueASCII(switches::kLang); | 260 const std::string locale = command_line->GetSwitchValueASCII(switches::kLang); |
246 ui::ResourceBundle::InitSharedInstanceWithLocale( | 261 ui::ResourceBundle::InitSharedInstanceWithLocale( |
247 locale, nullptr, ui::ResourceBundle::DO_NOT_LOAD_COMMON_RESOURCES); | 262 locale, nullptr, ui::ResourceBundle::DO_NOT_LOAD_COMMON_RESOURCES); |
248 | 263 |
249 #ifdef HEADLESS_USE_EMBEDDED_RESOURCES | 264 #ifdef HEADLESS_USE_EMBEDDED_RESOURCES |
250 ResourceBundle::GetSharedInstance().AddDataPackFromBuffer( | 265 ResourceBundle::GetSharedInstance().AddDataPackFromBuffer( |
251 base::StringPiece( | 266 base::StringPiece( |
252 reinterpret_cast<const char*>(kHeadlessResourcePak.contents), | 267 reinterpret_cast<const char*>(kHeadlessResourcePak.contents), |
253 kHeadlessResourcePak.length), | 268 kHeadlessResourcePak.length), |
(...skipping 23 matching lines...) Expand all Loading... | |
277 return browser_client_.get(); | 292 return browser_client_.get(); |
278 } | 293 } |
279 | 294 |
280 content::ContentRendererClient* | 295 content::ContentRendererClient* |
281 HeadlessContentMainDelegate::CreateContentRendererClient() { | 296 HeadlessContentMainDelegate::CreateContentRendererClient() { |
282 renderer_client_ = base::MakeUnique<HeadlessContentRendererClient>(); | 297 renderer_client_ = base::MakeUnique<HeadlessContentRendererClient>(); |
283 return renderer_client_.get(); | 298 return renderer_client_.get(); |
284 } | 299 } |
285 | 300 |
286 } // namespace headless | 301 } // namespace headless |
OLD | NEW |