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.
4
5#ifndef UI_VIEWS_CONTENT_CLIENT_VIEWS_CONTENT_MAIN_DELEGATE_H_
6#define UI_VIEWS_CONTENT_CLIENT_VIEWS_CONTENT_MAIN_DELEGATE_H_
7
8#include "base/macros.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 ui {
14
15class ViewsContentBrowserClient;
16class ViewsContentClient;
17
18class ViewsContentMainDelegate : public content::ContentMainDelegate {
19 public:
20  explicit ViewsContentMainDelegate(ViewsContentClient* views_content_client);
21  virtual ~ViewsContentMainDelegate();
22
23  // content::ContentMainDelegate implementation
24  virtual bool BasicStartupComplete(int* exit_code) OVERRIDE;
25  virtual void PreSandboxStartup() OVERRIDE;
26  virtual content::ContentBrowserClient* CreateContentBrowserClient() OVERRIDE;
27
28 private:
29  scoped_ptr<ViewsContentBrowserClient> browser_client_;
30  content::ShellContentClient content_client_;
31  ViewsContentClient* views_content_client_;
32
33  DISALLOW_COPY_AND_ASSIGN(ViewsContentMainDelegate);
34};
35
36}  // namespace ui
37
38#endif  // UI_VIEWS_CONTENT_CLIENT_VIEWS_CONTENT_MAIN_DELEGATE_H_
39