shell_browser_main_parts.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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 ASH_SHELL_CONTENT_CLIENT_EXAMPLES_BROWSER_MAIN_PARTS_H_ 6#define ASH_SHELL_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 12namespace base { 13class Thread; 14} 15 16namespace content { 17class ShellBrowserContext; 18struct MainFunctionParams; 19} 20 21namespace net { 22class NetLog; 23} 24 25namespace wm { 26class WMState; 27} 28 29namespace ash { 30namespace shell { 31 32class ShellDelegateImpl; 33class WindowWatcher; 34 35class ShellBrowserMainParts : public content::BrowserMainParts { 36 public: 37 explicit ShellBrowserMainParts( 38 const content::MainFunctionParams& parameters); 39 virtual ~ShellBrowserMainParts(); 40 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; 48 49 content::ShellBrowserContext* browser_context() { 50 return browser_context_.get(); 51 } 52 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_; 59 60 DISALLOW_COPY_AND_ASSIGN(ShellBrowserMainParts); 61}; 62 63} // namespace shell 64} // namespace ash 65 66#endif // ASH_SHELL_CONTENT_CLIENT_EXAMPLES_BROWSER_MAIN_PARTS_H_ 67