1 // Copyright (c) 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 #include "chrome/browser/browser_process_platform_part_chromeos.h" 6 7 #include "base/logging.h" 8 #include "base/time/default_tick_clock.h" 9 #include "base/time/tick_clock.h" 10 #include "chrome/browser/chromeos/memory/oom_priority_manager.h" 11 #include "chrome/browser/chromeos/profiles/profile_helper.h" 12 #include "chrome/browser/chromeos/system/automatic_reboot_manager.h" 13 14 BrowserProcessPlatformPart::BrowserProcessPlatformPart() 15 : created_profile_helper_(false) { 16 } 17 18 BrowserProcessPlatformPart::~BrowserProcessPlatformPart() { 19 } 20 21 void BrowserProcessPlatformPart::InitializeAutomaticRebootManager() { 22 DCHECK(!automatic_reboot_manager_); 23 24 automatic_reboot_manager_.reset(new chromeos::system::AutomaticRebootManager( 25 scoped_ptr<base::TickClock>(new base::DefaultTickClock))); 26 } 27 28 void BrowserProcessPlatformPart::ShutdownAutomaticRebootManager() { 29 automatic_reboot_manager_.reset(); 30 } 31 32 chromeos::OomPriorityManager* 33 BrowserProcessPlatformPart::oom_priority_manager() { 34 DCHECK(CalledOnValidThread()); 35 if (!oom_priority_manager_.get()) 36 oom_priority_manager_.reset(new chromeos::OomPriorityManager()); 37 return oom_priority_manager_.get(); 38 } 39 40 chromeos::ProfileHelper* BrowserProcessPlatformPart::profile_helper() { 41 DCHECK(CalledOnValidThread()); 42 if (!created_profile_helper_) 43 CreateProfileHelper(); 44 return profile_helper_.get(); 45 } 46 47 void BrowserProcessPlatformPart::CreateProfileHelper() { 48 DCHECK(!created_profile_helper_ && profile_helper_.get() == NULL); 49 created_profile_helper_ = true; 50 profile_helper_.reset(new chromeos::ProfileHelper()); 51 } 52 53 void BrowserProcessPlatformPart::StartTearDown() { 54 profile_helper_.reset(); 55 } 56