1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#ifndef UI_VIEWS_CONTENT_CLIENT_VIEWS_CONTENT_MAIN_DELEGATE_H_
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define UI_VIEWS_CONTENT_CLIENT_VIEWS_CONTENT_MAIN_DELEGATE_H_
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/macros.h"
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/memory/scoped_ptr.h"
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "content/public/app/content_main_delegate.h"
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "content/shell/common/shell_content_client.h"
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace ui {
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class ViewsContentBrowserClient;
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class ViewsContentClient;
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class ViewsContentMainDelegate : public content::ContentMainDelegate {
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public:
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  explicit ViewsContentMainDelegate(ViewsContentClient* views_content_client);
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual ~ViewsContentMainDelegate();
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  // content::ContentMainDelegate implementation
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual bool BasicStartupComplete(int* exit_code) OVERRIDE;
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual void PreSandboxStartup() OVERRIDE;
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual content::ContentBrowserClient* CreateContentBrowserClient() OVERRIDE;
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private:
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  scoped_ptr<ViewsContentBrowserClient> browser_client_;
30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  content::ShellContentClient content_client_;
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  ViewsContentClient* views_content_client_;
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(ViewsContentMainDelegate);
34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)};
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}  // namespace ui
37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif  // UI_VIEWS_CONTENT_CLIENT_VIEWS_CONTENT_MAIN_DELEGATE_H_
39