Home | History | Annotate | Download | only in content_client
      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 
     12 namespace base {
     13 class Thread;
     14 }
     15 
     16 namespace content {
     17 class ShellBrowserContext;
     18 struct MainFunctionParams;
     19 }
     20 
     21 namespace net {
     22 class NetLog;
     23 }
     24 
     25 namespace wm {
     26 class WMState;
     27 }
     28 
     29 namespace ash {
     30 namespace shell {
     31 
     32 class ShellDelegateImpl;
     33 class WindowWatcher;
     34 
     35 class 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