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

Side by Side Diff: headless/lib/headless_content_main_delegate.cc

Issue 1969313005: [headless] Embed pak file into binary. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
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 "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
11 #include "content/public/browser/browser_main_runner.h" 11 #include "content/public/browser/browser_main_runner.h"
12 #include "content/public/common/content_switches.h" 12 #include "content/public/common/content_switches.h"
13 #include "headless/embedded_resource_pak.h"
13 #include "headless/lib/browser/headless_browser_impl.h" 14 #include "headless/lib/browser/headless_browser_impl.h"
14 #include "headless/lib/browser/headless_content_browser_client.h" 15 #include "headless/lib/browser/headless_content_browser_client.h"
15 #include "headless/lib/renderer/headless_content_renderer_client.h" 16 #include "headless/lib/renderer/headless_content_renderer_client.h"
16 #include "headless/lib/utility/headless_content_utility_client.h" 17 #include "headless/lib/utility/headless_content_utility_client.h"
17 #include "ui/base/resource/resource_bundle.h" 18 #include "ui/base/resource/resource_bundle.h"
18 #include "ui/ozone/public/ozone_switches.h" 19 #include "ui/ozone/public/ozone_switches.h"
19 20
20 namespace headless { 21 namespace headless {
21 namespace { 22 namespace {
22 // Keep in sync with content/common/content_constants_internal.h. 23 // Keep in sync with content/common/content_constants_internal.h.
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 // TODO(skyostil): Disable the zygote host. 90 // TODO(skyostil): Disable the zygote host.
90 } 91 }
91 92
92 // static 93 // static
93 HeadlessContentMainDelegate* HeadlessContentMainDelegate::GetInstance() { 94 HeadlessContentMainDelegate* HeadlessContentMainDelegate::GetInstance() {
94 return g_current_headless_content_main_delegate; 95 return g_current_headless_content_main_delegate;
95 } 96 }
96 97
97 // static 98 // static
98 void HeadlessContentMainDelegate::InitializeResourceBundle() { 99 void HeadlessContentMainDelegate::InitializeResourceBundle() {
99 base::FilePath pak_file; 100 ui::ResourceBundle::InitSharedInstanceWithPakBuffer(base::StringPiece(
100 bool result = PathService::Get(base::DIR_MODULE, &pak_file); 101 reinterpret_cast<const char*>(kHeadlessResourcePak.contents),
101 DCHECK(result); 102 kHeadlessResourcePak.length));
102 pak_file = pak_file.Append(FILE_PATH_LITERAL("headless_lib.pak"));
103 ui::ResourceBundle::InitSharedInstanceWithPakPath(pak_file);
104 } 103 }
105 104
106 content::ContentBrowserClient* 105 content::ContentBrowserClient*
107 HeadlessContentMainDelegate::CreateContentBrowserClient() { 106 HeadlessContentMainDelegate::CreateContentBrowserClient() {
108 browser_client_.reset(new HeadlessContentBrowserClient(browser_.get())); 107 browser_client_.reset(new HeadlessContentBrowserClient(browser_.get()));
109 return browser_client_.get(); 108 return browser_client_.get();
110 } 109 }
111 110
112 content::ContentRendererClient* 111 content::ContentRendererClient*
113 HeadlessContentMainDelegate::CreateContentRendererClient() { 112 HeadlessContentMainDelegate::CreateContentRendererClient() {
114 renderer_client_.reset(new HeadlessContentRendererClient); 113 renderer_client_.reset(new HeadlessContentRendererClient);
115 return renderer_client_.get(); 114 return renderer_client_.get();
116 } 115 }
117 116
118 content::ContentUtilityClient* 117 content::ContentUtilityClient*
119 HeadlessContentMainDelegate::CreateContentUtilityClient() { 118 HeadlessContentMainDelegate::CreateContentUtilityClient() {
120 utility_client_.reset(new HeadlessContentUtilityClient); 119 utility_client_.reset(new HeadlessContentUtilityClient);
121 return utility_client_.get(); 120 return utility_client_.get();
122 } 121 }
123 122
124 } // namespace headless 123 } // namespace headless
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698