- add sources.
[platform/framework/web/crosswalk.git] / src / ui / views / examples / content_client / examples_main_delegate.cc
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
3 // found in the LICENSE file.
4
5 #include "ui/views/examples/content_client/examples_main_delegate.h"
6
7 #include <string>
8
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/examples/content_client/examples_content_browser_client.h"
17
18 #if defined(OS_WIN)
19 #include "base/logging_win.h"
20 #endif
21
22 namespace views {
23 namespace examples {
24 namespace {
25
26 #if defined(OS_WIN)
27 // {83FAC8EE-7A0E-4dbb-A3F6-6F500D7CAB1A}
28 const GUID kViewsExamplesProviderName =
29     { 0x83fac8ee, 0x7a0e, 0x4dbb,
30         { 0xa3, 0xf6, 0x6f, 0x50, 0xd, 0x7c, 0xab, 0x1a } };
31 #endif
32
33 }  // namespace
34
35 ExamplesMainDelegate::ExamplesMainDelegate() {
36 }
37
38 ExamplesMainDelegate::~ExamplesMainDelegate() {
39 }
40
41 bool ExamplesMainDelegate::BasicStartupComplete(int* exit_code) {
42   const CommandLine& command_line = *CommandLine::ForCurrentProcess();
43   std::string process_type =
44       command_line.GetSwitchValueASCII(switches::kProcessType);
45
46   content::SetContentClient(&content_client_);
47
48   logging::LoggingSettings settings;
49   settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
50   bool success = logging::InitLogging(settings);
51   CHECK(success);
52 #if defined(OS_WIN)
53   logging::LogEventProvider::Initialize(kViewsExamplesProviderName);
54 #endif
55
56   return false;
57 }
58
59 void ExamplesMainDelegate::PreSandboxStartup() {
60   InitializeResourceBundle();
61 }
62
63 content::ContentBrowserClient*
64     ExamplesMainDelegate::CreateContentBrowserClient() {
65   browser_client_.reset(new ExamplesContentBrowserClient);
66   return browser_client_.get();
67 }
68
69 void ExamplesMainDelegate::InitializeResourceBundle() {
70   ui::ResourceBundle::InitSharedInstanceWithLocale("en-US", NULL);
71 }
72
73 }  // namespace examples
74 }  // namespace views