chrome_browser_main_extra_parts.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. #ifndef CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_
  5. #define CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_
  6. // Interface class for Parts owned by ChromeBrowserMainParts.
  7. // The default implementation for all methods is empty.
  8. // Most of these map to content::BrowserMainParts methods. This interface is
  9. // separate to allow stages to be further subdivided for Chrome specific
  10. // initialization stages (e.g. browser process init, profile init).
  11. // While ChromeBrowserMainParts are platform-specific,
  12. // ChromeBrowserMainExtraParts are used to do further initialization for various
  13. // Chrome toolkits (e.g., GTK, VIEWS, ASH, AURA, etc.; see
  14. // ChromeContentBrowserClient::CreateBrowserMainParts()).
  15. class Profile;
  16. class ChromeBrowserMainExtraParts {
  17. public:
  18. virtual ~ChromeBrowserMainExtraParts() {}
  19. // EarlyInitialization methods.
  20. virtual void PreEarlyInitialization() {}
  21. virtual void PostEarlyInitialization() {}
  22. // ToolkitInitialized methods.
  23. virtual void ToolkitInitialized() {}
  24. // CreateMainMessageLoop methods.
  25. virtual void PreCreateMainMessageLoop() {}
  26. virtual void PostCreateMainMessageLoop() {}
  27. // MainMessageLoopRun methods.
  28. virtual void PreCreateThreads() {}
  29. virtual void PostCreateThreads() {}
  30. virtual void PreProfileInit() {}
  31. virtual void PostProfileInit(Profile* profile, bool is_initial_profile) {}
  32. virtual void PreBrowserStart() {}
  33. virtual void PostBrowserStart() {}
  34. virtual void PreMainMessageLoopRun() {}
  35. virtual void PostMainMessageLoopRun() {}
  36. };
  37. #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_