| OLD | NEW | 
|   1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |   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 |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #include "chrome/browser/prerender/prerender_manager_factory.h" |   5 #include "chrome/browser/prerender/prerender_manager_factory.h" | 
|   6  |   6  | 
|   7 #include "chrome/browser/browser_process.h" |   7 #include "chrome/browser/browser_process.h" | 
 |   8 #include "chrome/browser/extensions/extension_system_factory.h" | 
|   8 #include "chrome/browser/prerender/prerender_manager.h" |   9 #include "chrome/browser/prerender/prerender_manager.h" | 
|   9 #include "chrome/browser/profiles/profile.h" |  10 #include "chrome/browser/profiles/profile.h" | 
|  10 #include "chrome/browser/profiles/profile_dependency_manager.h" |  11 #include "chrome/browser/profiles/profile_dependency_manager.h" | 
|  11  |  12  | 
|  12 #if defined(OS_CHROMEOS) |  13 #if defined(OS_CHROMEOS) | 
|  13 #include "chrome/browser/chromeos/cros/cros_library.h" |  14 #include "chrome/browser/chromeos/cros/cros_library.h" | 
|  14 #include "chrome/browser/chromeos/prerender_condition_network.h" |  15 #include "chrome/browser/chromeos/prerender_condition_network.h" | 
|  15 #endif |  16 #endif | 
|  16  |  17  | 
|  17 namespace prerender { |  18 namespace prerender { | 
|  18  |  19  | 
|  19 // static |  20 // static | 
|  20 PrerenderManager* PrerenderManagerFactory::GetForProfile( |  21 PrerenderManager* PrerenderManagerFactory::GetForProfile( | 
|  21     Profile* profile) { |  22     Profile* profile) { | 
|  22   if (!PrerenderManager::IsPrerenderingPossible()) |  23   if (!PrerenderManager::IsPrerenderingPossible()) | 
|  23     return NULL; |  24     return NULL; | 
|  24   return static_cast<PrerenderManager*>( |  25   return static_cast<PrerenderManager*>( | 
|  25       GetInstance()->GetServiceForProfile(profile, true)); |  26       GetInstance()->GetServiceForProfile(profile, true)); | 
|  26 } |  27 } | 
|  27  |  28  | 
|  28 PrerenderManagerFactory* PrerenderManagerFactory::GetInstance() { |  29 PrerenderManagerFactory* PrerenderManagerFactory::GetInstance() { | 
|  29   return Singleton<PrerenderManagerFactory>::get(); |  30   return Singleton<PrerenderManagerFactory>::get(); | 
|  30 } |  31 } | 
|  31  |  32  | 
|  32 PrerenderManagerFactory::PrerenderManagerFactory() |  33 PrerenderManagerFactory::PrerenderManagerFactory() | 
|  33     : ProfileKeyedServiceFactory("PrerenderManager", |  34     : ProfileKeyedServiceFactory("PrerenderManager", | 
|  34                                  ProfileDependencyManager::GetInstance()) { |  35                                  ProfileDependencyManager::GetInstance()) { | 
 |  36   DependsOn(ExtensionSystemFactory::GetInstance()); | 
|  35 } |  37 } | 
|  36  |  38  | 
|  37 PrerenderManagerFactory::~PrerenderManagerFactory() { |  39 PrerenderManagerFactory::~PrerenderManagerFactory() { | 
|  38 } |  40 } | 
|  39  |  41  | 
|  40 ProfileKeyedService* PrerenderManagerFactory::BuildServiceInstanceFor( |  42 ProfileKeyedService* PrerenderManagerFactory::BuildServiceInstanceFor( | 
|  41     Profile* profile) const { |  43     Profile* profile) const { | 
|  42   CHECK(g_browser_process->prerender_tracker()); |  44   CHECK(g_browser_process->prerender_tracker()); | 
|  43   PrerenderManager* prerender_manager = new prerender::PrerenderManager( |  45   PrerenderManager* prerender_manager = new prerender::PrerenderManager( | 
|  44       profile, g_browser_process->prerender_tracker()); |  46       profile, g_browser_process->prerender_tracker()); | 
|  45 #if defined(OS_CHROMEOS) |  47 #if defined(OS_CHROMEOS) | 
|  46   if (chromeos::CrosLibrary::Get()) { |  48   if (chromeos::CrosLibrary::Get()) { | 
|  47     prerender_manager->AddCondition( |  49     prerender_manager->AddCondition( | 
|  48         new chromeos::PrerenderConditionNetwork( |  50         new chromeos::PrerenderConditionNetwork( | 
|  49             chromeos::CrosLibrary::Get()->GetNetworkLibrary())); |  51             chromeos::CrosLibrary::Get()->GetNetworkLibrary())); | 
|  50   } |  52   } | 
|  51 #endif |  53 #endif | 
|  52   return prerender_manager; |  54   return prerender_manager; | 
|  53 } |  55 } | 
|  54  |  56  | 
|  55 bool PrerenderManagerFactory::ServiceHasOwnInstanceInIncognito() { |  57 bool PrerenderManagerFactory::ServiceHasOwnInstanceInIncognito() { | 
|  56   return true; |  58   return true; | 
|  57 } |  59 } | 
|  58  |  60  | 
|  59 }  // end namespace prerender |  61 }  // end namespace prerender | 
| OLD | NEW |