Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ui / views_content_client / views_content_main_delegate.h
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
13 namespace ui {
14
15 class ViewsContentBrowserClient;
16 class ViewsContentClient;
17
18 class ViewsContentMainDelegate : public content::ContentMainDelegate {
19  public:
20   explicit ViewsContentMainDelegate(ViewsContentClient* views_content_client);
21   ~ViewsContentMainDelegate() override;
22
23   // content::ContentMainDelegate implementation
24   bool BasicStartupComplete(int* exit_code) override;
25   void PreSandboxStartup() override;
26   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_