Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ash / shell / content_client / shell_browser_main_parts.h
blob539354e890eec9923404f537e2c16dc8daeafb2e
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 views {
26 class ViewsDelegate;
29 namespace wm {
30 class WMState;
33 namespace ash {
34 namespace shell {
36 class ShellDelegateImpl;
37 class WindowWatcher;
39 class ShellBrowserMainParts : public content::BrowserMainParts {
40 public:
41 explicit ShellBrowserMainParts(
42 const content::MainFunctionParams& parameters);
43 ~ShellBrowserMainParts() override;
45 // Overridden from content::BrowserMainParts:
46 void PreMainMessageLoopStart() override;
47 void PostMainMessageLoopStart() override;
48 void ToolkitInitialized() override;
49 void PreMainMessageLoopRun() override;
50 bool MainMessageLoopRun(int* result_code) override;
51 void PostMainMessageLoopRun() override;
53 content::ShellBrowserContext* browser_context() {
54 return browser_context_.get();
57 private:
58 scoped_ptr<net::NetLog> net_log_;
59 scoped_ptr<content::ShellBrowserContext> browser_context_;
60 scoped_ptr<views::ViewsDelegate> views_delegate_;
61 scoped_ptr<ash::shell::WindowWatcher> window_watcher_;
62 ShellDelegateImpl* delegate_; // owned by Shell
63 scoped_ptr<wm::WMState> wm_state_;
65 DISALLOW_COPY_AND_ASSIGN(ShellBrowserMainParts);
68 } // namespace shell
69 } // namespace ash
71 #endif // ASH_SHELL_CONTENT_CLIENT_EXAMPLES_BROWSER_MAIN_PARTS_H_