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#ifndef ASH_SHELL_CONTENT_CLIENT_SHELL_MAIN_DELEGATE_H_
6#define ASH_SHELL_CONTENT_CLIENT_SHELL_MAIN_DELEGATE_H_
7
8#include "base/compiler_specific.h"
9#include "base/memory/scoped_ptr.h"
10#include "content/public/app/content_main_delegate.h"
11#include "content/shell/common/shell_content_client.h"
12
13namespace content {
14class ShellContentRendererClient;
15class ShellContentPluginClient;
16class ShellContentUtilityClient;
17}
18
19namespace ash {
20namespace shell {
21
22class ShellContentBrowserClient;
23
24class ShellMainDelegate : public content::ContentMainDelegate {
25 public:
26  ShellMainDelegate();
27  virtual ~ShellMainDelegate();
28
29  virtual bool BasicStartupComplete(int* exit_code) OVERRIDE;
30  virtual void PreSandboxStartup() OVERRIDE;
31  virtual content::ContentBrowserClient* CreateContentBrowserClient() OVERRIDE;
32
33 private:
34  void InitializeResourceBundle();
35
36  scoped_ptr<ShellContentBrowserClient> browser_client_;
37  content::ShellContentClient content_client_;
38
39  DISALLOW_COPY_AND_ASSIGN(ShellMainDelegate);
40};
41
42}  // namespace shell
43}  // namespace ash
44
45#endif  // ASH_SHELL_CONTENT_CLIENT_SHELL_MAIN_DELEGATE_H_
46