1// Copyright 2013 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_PROFILES_CHROME_BROWSER_MAIN_EXTRA_PARTS_PROFILES_H_
6#define CHROME_BROWSER_PROFILES_CHROME_BROWSER_MAIN_EXTRA_PARTS_PROFILES_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "chrome/browser/chrome_browser_main_extra_parts.h"
11
12class ChromeBrowserMainParts;
13
14namespace chrome {
15void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts);
16}
17
18class ChromeBrowserMainExtraPartsProfiles : public ChromeBrowserMainExtraParts {
19 public:
20  ChromeBrowserMainExtraPartsProfiles();
21  virtual ~ChromeBrowserMainExtraPartsProfiles();
22
23  // Instantiates all chrome KeyedService factories, which is
24  // especially important for services that should be created at profile
25  // creation time as compared to lazily on first access.
26  static void EnsureBrowserContextKeyedServiceFactoriesBuilt();
27
28  // Overridden from ChromeBrowserMainExtraParts:
29  virtual void PreProfileInit() OVERRIDE;
30
31 private:
32  DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainExtraPartsProfiles);
33};
34
35#endif  // CHROME_BROWSER_PROFILES_CHROME_BROWSER_MAIN_EXTRA_PARTS_PROFILES_H_
36