190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// found in the LICENSE file. 490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#ifndef CHROME_BROWSER_PROFILES_CHROME_BROWSER_MAIN_EXTRA_PARTS_PROFILES_H_ 690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#define CHROME_BROWSER_PROFILES_CHROME_BROWSER_MAIN_EXTRA_PARTS_PROFILES_H_ 790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/basictypes.h" 990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/compiler_specific.h" 1090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/browser/chrome_browser_main_extra_parts.h" 1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class ChromeBrowserMainParts; 1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)namespace chrome { 1590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts); 1690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class ChromeBrowserMainExtraPartsProfiles : public ChromeBrowserMainExtraParts { 1990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) public: 2090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ChromeBrowserMainExtraPartsProfiles(); 2190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual ~ChromeBrowserMainExtraPartsProfiles(); 2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // Instantiates all chrome KeyedService factories, which is 2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // especially important for services that should be created at profile 2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // creation time as compared to lazily on first access. 2690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) static void EnsureBrowserContextKeyedServiceFactoriesBuilt(); 2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // Overridden from ChromeBrowserMainExtraParts: 2990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual void PreProfileInit() OVERRIDE; 3090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) private: 3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainExtraPartsProfiles); 3390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}; 3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif // CHROME_BROWSER_PROFILES_CHROME_BROWSER_MAIN_EXTRA_PARTS_PROFILES_H_ 36