195640e3a20adea634b4df4ccf8c93f411184c438joi@chromium.org// Copyright (c) 2012 The Chromium Authors. All rights reserved.
295640e3a20adea634b4df4ccf8c93f411184c438joi@chromium.org// Use of this source code is governed by a BSD-style license that can be
301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org// found in the LICENSE file.
401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org#include "ash/shell/content_client/shell_main_delegate.h"
6bf1b697651f655172662c9defd04e323089477d2newt@chromium.org
701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org#include "ash/shell/content_client/shell_content_browser_client.h"
8bf1b697651f655172662c9defd04e323089477d2newt@chromium.org#include "base/command_line.h"
901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org#include "content/public/common/content_switches.h"
10ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org#include "ui/base/resource/resource_bundle.h"
1101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
1201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.orgnamespace ash {
1301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.orgnamespace shell {
1401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
15f5e6e478ef2f2355d16f04628b0b58d3ff45e438benrg@chromium.orgShellMainDelegate::ShellMainDelegate() {
1698b76c0017dbdc61506f146d197d594b1ce07db7joi@chromium.org}
1701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
18b9161407f737461b5db16a29782f8a31d19e602dbenrg@chromium.orgShellMainDelegate::~ShellMainDelegate() {
1901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org}
2001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
21bcb40ba9feaa9b7f076133f5a4242b79270e77c1flackr@chromium.orgbool ShellMainDelegate::BasicStartupComplete(int* exit_code) {
2201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  const CommandLine& command_line = *CommandLine::ForCurrentProcess();
2301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  std::string process_type =
2401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org      command_line.GetSwitchValueASCII(switches::kProcessType);
2501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
2601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  content::SetContentClient(&content_client_);
2701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
2801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  return false;
29ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org}
3001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org
3101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.orgvoid ShellMainDelegate::PreSandboxStartup() {
3201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  InitializeResourceBundle();
3301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org}
34ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org
35ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.orgcontent::ContentBrowserClient* ShellMainDelegate::CreateContentBrowserClient() {
3601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org  browser_client_.reset(new ShellContentBrowserClient);
37ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org  return browser_client_.get();
38ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org}
39bf1b697651f655172662c9defd04e323089477d2newt@chromium.org
40ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.orgvoid ShellMainDelegate::InitializeResourceBundle() {
41ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org  ui::ResourceBundle::InitSharedInstanceWithLocale(
42ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org      "en-US", NULL, ui::ResourceBundle::LOAD_COMMON_RESOURCES);
43ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org}
44ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org
45ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org}  // namespace shell
46ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org}  // namespace ash
47ccda47032903a6550dac2921f88c51b4da55aa36benrg@chromium.org