Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / ash / shell / content_client / shell_browser_main_parts.h
blob0e07cbf24bc6850985f5f60a6916009b9bcee68d
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.
5 #ifndef ASH_SHELL_CONTENT_CLIENT_EXAMPLES_BROWSER_MAIN_PARTS_H_
6 #define ASH_SHELL_CONTENT_CLIENT_EXAMPLES_BROWSER_MAIN_PARTS_H_
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "content/public/browser/browser_main_parts.h"
12 namespace base {
13 class Thread;
16 namespace content {
17 class ShellBrowserContext;
18 struct MainFunctionParams;
21 namespace net {
22 class NetLog;
25 namespace wm {
26 class WMState;
29 namespace ash {
30 namespace shell {
32 class ShellDelegateImpl;
33 class WindowWatcher;
35 class ShellBrowserMainParts : public content::BrowserMainParts {
36 public:
37 explicit ShellBrowserMainParts(
38 const content::MainFunctionParams& parameters);
39 virtual ~ShellBrowserMainParts();
41 // Overridden from content::BrowserMainParts:
42 virtual void PreMainMessageLoopStart() OVERRIDE;
43 virtual void PostMainMessageLoopStart() OVERRIDE;
44 virtual void ToolkitInitialized() OVERRIDE;
45 virtual void PreMainMessageLoopRun() OVERRIDE;
46 virtual bool MainMessageLoopRun(int* result_code) OVERRIDE;
47 virtual void PostMainMessageLoopRun() OVERRIDE;
49 content::ShellBrowserContext* browser_context() {
50 return browser_context_.get();
53 private:
54 scoped_ptr<net::NetLog> net_log_;
55 scoped_ptr<content::ShellBrowserContext> browser_context_;
56 scoped_ptr<ash::shell::WindowWatcher> window_watcher_;
57 ShellDelegateImpl* delegate_; // owned by Shell
58 scoped_ptr<wm::WMState> wm_state_;
60 DISALLOW_COPY_AND_ASSIGN(ShellBrowserMainParts);
63 } // namespace shell
64 } // namespace ash
66 #endif // ASH_SHELL_CONTENT_CLIENT_EXAMPLES_BROWSER_MAIN_PARTS_H_