Home | History | Annotate | Download | only in browser
      1 // Copyright (c) 2011 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 CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_
      6 #define CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_
      7 
      8 // Interface class for Parts owned by ChromeBrowserMainParts.
      9 // The default implementation for all methods is empty.
     10 
     11 // Most of these map to content::BrowserMainParts methods. This interface is
     12 // separate to allow stages to be further subdivided for Chrome specific
     13 // initialization stages (e.g. browser process init, profile init).
     14 
     15 // While ChromeBrowserMainParts are platform-specific,
     16 // ChromeBrowserMainExtraParts are used to do further initialization for various
     17 // Chrome toolkits (e.g., GTK, VIEWS, ASH, AURA, etc.; see
     18 // ChromeContentBrowserClient::CreateBrowserMainParts()).
     19 
     20 class ChromeBrowserMainExtraParts {
     21  public:
     22   virtual ~ChromeBrowserMainExtraParts() {}
     23 
     24   // EarlyInitialization methods.
     25   virtual void PreEarlyInitialization() {}
     26   virtual void PostEarlyInitialization() {}
     27 
     28   // ToolkitInitialized methods.
     29   virtual void ToolkitInitialized() {}
     30 
     31   // MainMessageLoopStart methods.
     32   virtual void PreMainMessageLoopStart() {}
     33   virtual void PostMainMessageLoopStart() {}
     34 
     35   // MainMessageLoopRun methods.
     36   virtual void PreCreateThreads() {}
     37   virtual void PreProfileInit() {}
     38   virtual void PostProfileInit() {}
     39   virtual void PreBrowserStart() {}
     40   virtual void PostBrowserStart() {}
     41   virtual void PreMainMessageLoopRun() {}
     42   virtual void PostMainMessageLoopRun() {}
     43 };
     44 
     45 #endif  // CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_
     46