- add sources.
[platform/framework/web/crosswalk.git] / src / ui / views / examples / content_client / examples_browser_main_parts.h
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 UI_VIEWS_EXAMPLES_CONTENT_CLIENT_EXAMPLES_BROWSER_MAIN_PARTS_H_
6 #define UI_VIEWS_EXAMPLES_CONTENT_CLIENT_EXAMPLES_BROWSER_MAIN_PARTS_H_
7
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "content/public/browser/browser_main_parts.h"
11
12 namespace content {
13 class ShellBrowserContext;
14 struct MainFunctionParams;
15 }
16
17 namespace shell {
18 class MinimalShell;
19 }
20
21 namespace views {
22 class ViewsDelegate;
23
24 namespace examples {
25
26 class ExamplesBrowserMainParts : public content::BrowserMainParts {
27  public:
28   explicit ExamplesBrowserMainParts(
29       const content::MainFunctionParams& parameters);
30   virtual ~ExamplesBrowserMainParts();
31
32   // Overridden from content::BrowserMainParts:
33   virtual void PreMainMessageLoopRun() OVERRIDE;
34   virtual bool MainMessageLoopRun(int* result_code) OVERRIDE;
35   virtual void PostMainMessageLoopRun() OVERRIDE;
36
37   content::ShellBrowserContext* browser_context() {
38     return browser_context_.get();
39   }
40
41  private:
42   scoped_ptr<content::ShellBrowserContext> browser_context_;
43
44   scoped_ptr<ViewsDelegate> views_delegate_;
45
46 #if defined(OS_CHROMEOS)
47   // Enable a minimal set of views::corewm to be initialized.
48   scoped_ptr<shell::MinimalShell> minimal_shell_;
49 #endif
50
51   DISALLOW_COPY_AND_ASSIGN(ExamplesBrowserMainParts);
52 };
53
54 }  // namespace examples
55 }  // namespace views
56
57 #endif  // UI_VIEWS_EXAMPLES_CONTENT_CLIENT_EXAMPLES_BROWSER_MAIN_PARTS_H_