Put WeakPtrFactory member last in USBEventRouter
[chromium-blink-merge.git] / ash / shell / content_client / shell_browser_main_parts.h
blob89684315c50dd297913f874bc9d1850a028ca004
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 ~ShellBrowserMainParts() override;
41 // Overridden from content::BrowserMainParts:
42 void PreMainMessageLoopStart() override;
43 void PostMainMessageLoopStart() override;
44 void ToolkitInitialized() override;
45 void PreMainMessageLoopRun() override;
46 bool MainMessageLoopRun(int* result_code) override;
47 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_