1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ui/views_content_client/views_content_main_delegate.h"
9 #include "base/command_line.h"
10 #include "base/files/file_path.h"
11 #include "base/logging.h"
12 #include "base/path_service.h"
13 #include "content/public/common/content_switches.h"
14 #include "ui/base/resource/resource_bundle.h"
15 #include "ui/base/ui_base_paths.h"
16 #include "ui/views_content_client/views_content_browser_client.h"
19 #include "base/logging_win.h"
26 // {83FAC8EE-7A0E-4dbb-A3F6-6F500D7CAB1A}
27 const GUID kViewsContentClientProviderName
=
28 { 0x83fac8ee, 0x7a0e, 0x4dbb,
29 { 0xa3, 0xf6, 0x6f, 0x50, 0xd, 0x7c, 0xab, 0x1a } };
34 ViewsContentMainDelegate::ViewsContentMainDelegate(
35 ViewsContentClient
* views_content_client
)
36 : views_content_client_(views_content_client
) {
39 ViewsContentMainDelegate::~ViewsContentMainDelegate() {
42 bool ViewsContentMainDelegate::BasicStartupComplete(int* exit_code
) {
43 const base::CommandLine
& command_line
=
44 *base::CommandLine::ForCurrentProcess();
45 std::string process_type
=
46 command_line
.GetSwitchValueASCII(switches::kProcessType
);
48 content::SetContentClient(&content_client_
);
50 logging::LoggingSettings settings
;
51 settings
.logging_dest
= logging::LOG_TO_SYSTEM_DEBUG_LOG
;
52 bool success
= logging::InitLogging(settings
);
55 logging::LogEventProvider::Initialize(kViewsContentClientProviderName
);
61 void ViewsContentMainDelegate::PreSandboxStartup() {
62 base::FilePath ui_test_pak_path
;
63 DCHECK(PathService::Get(ui::UI_TEST_PAK
, &ui_test_pak_path
));
64 ui::ResourceBundle::InitSharedInstanceWithPakPath(ui_test_pak_path
);
66 // Load content resources to provide, e.g., sandbox configuration data on Mac.
67 base::FilePath content_resources_pak_path
;
68 PathService::Get(base::DIR_MODULE
, &content_resources_pak_path
);
69 ui::ResourceBundle::GetSharedInstance().AddDataPackFromPath(
70 content_resources_pak_path
.AppendASCII("content_resources.pak"),
71 ui::SCALE_FACTOR_100P
);
74 content::ContentBrowserClient
*
75 ViewsContentMainDelegate::CreateContentBrowserClient() {
76 browser_client_
.reset(new ViewsContentBrowserClient(views_content_client_
));
77 return browser_client_
.get();