OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/task_management/task_manager_interface.h" | 5 #include "chrome/browser/task_management/task_manager_interface.h" |
6 | 6 |
7 #include "chrome/browser/browser_process.h" | |
7 #include "chrome/browser/task_management/sampling/task_manager_impl.h" | 8 #include "chrome/browser/task_management/sampling/task_manager_impl.h" |
8 #include "chrome/browser/task_management/sampling/task_manager_io_thread_helper. h" | 9 #include "chrome/browser/task_management/sampling/task_manager_io_thread_helper. h" |
9 #include "chrome/browser/task_manager/task_manager.h" | |
10 #include "chrome/common/chrome_switches.h" | 10 #include "chrome/common/chrome_switches.h" |
11 #include "chrome/common/pref_names.h" | |
12 #include "components/prefs/pref_registry_simple.h" | |
13 #include "components/prefs/pref_service.h" | |
11 #include "content/public/browser/browser_thread.h" | 14 #include "content/public/browser/browser_thread.h" |
12 | 15 |
16 #if defined(OS_MACOSX) | |
17 #include "chrome/browser/task_manager/task_manager.h" | |
18 #endif // defined(OS_MACOSX) | |
19 | |
13 namespace task_management { | 20 namespace task_management { |
14 | 21 |
15 // static | 22 // static |
23 void TaskManagerInterface::RegisterPrefs(PrefRegistrySimple* registry) { | |
24 registry->RegisterDictionaryPref(prefs::kTaskManagerWindowPlacement); | |
25 registry->RegisterDictionaryPref(prefs::kTaskManagerColumnVisibility); | |
26 registry->RegisterBooleanPref(prefs::kTaskManagerEndProcessEnabled, true); | |
27 } | |
28 | |
29 // static | |
30 bool TaskManagerInterface::IsEndProcessEnabled() { | |
31 PrefService* state = g_browser_process->local_state(); | |
32 return !state || state->GetBoolean(prefs::kTaskManagerEndProcessEnabled); | |
33 } | |
34 | |
35 // static | |
16 TaskManagerInterface* TaskManagerInterface::GetTaskManager() { | 36 TaskManagerInterface* TaskManagerInterface::GetTaskManager() { |
17 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 37 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
18 | 38 |
19 return TaskManagerImpl::GetInstance(); | 39 return TaskManagerImpl::GetInstance(); |
20 } | 40 } |
21 | 41 |
22 // static | 42 // static |
23 void TaskManagerInterface::OnRawBytesRead(const net::URLRequest& request, | 43 void TaskManagerInterface::OnRawBytesRead(const net::URLRequest& request, |
24 int64_t bytes_read) { | 44 int64_t bytes_read) { |
25 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); | 45 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
26 | 46 |
27 if (switches::NewTaskManagerEnabled()) | 47 #if defined(OS_MACOSX) |
28 TaskManagerIoThreadHelper::OnRawBytesRead(request, bytes_read); | 48 if (!TaskManager::NewTaskManagerEnabled()) { |
29 else | |
30 TaskManager::GetInstance()->model()->NotifyBytesRead(request, bytes_read); | 49 TaskManager::GetInstance()->model()->NotifyBytesRead(request, bytes_read); |
tapted
2016/04/27 13:01:45
This approach doesn't really work from outside of
| |
50 return; | |
51 } | |
52 #endif // defined(OS_MACOSX) | |
53 | |
54 TaskManagerIoThreadHelper::OnRawBytesRead(request, bytes_read); | |
31 } | 55 } |
32 | 56 |
33 void TaskManagerInterface::AddObserver(TaskManagerObserver* observer) { | 57 void TaskManagerInterface::AddObserver(TaskManagerObserver* observer) { |
34 observers_.AddObserver(observer); | 58 observers_.AddObserver(observer); |
35 observer->observed_task_manager_ = this; | 59 observer->observed_task_manager_ = this; |
36 | 60 |
37 ResourceFlagsAdded(observer->desired_resources_flags()); | 61 ResourceFlagsAdded(observer->desired_resources_flags()); |
38 | 62 |
39 base::TimeDelta current_refresh_time = GetCurrentRefreshTime(); | 63 base::TimeDelta current_refresh_time = GetCurrentRefreshTime(); |
40 if (current_refresh_time == base::TimeDelta::Max()) { | 64 if (current_refresh_time == base::TimeDelta::Max()) { |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
139 } | 163 } |
140 | 164 |
141 void TaskManagerInterface::ScheduleRefresh(base::TimeDelta refresh_time) { | 165 void TaskManagerInterface::ScheduleRefresh(base::TimeDelta refresh_time) { |
142 refresh_timer_->Start(FROM_HERE, | 166 refresh_timer_->Start(FROM_HERE, |
143 refresh_time, | 167 refresh_time, |
144 base::Bind(&TaskManagerInterface::Refresh, | 168 base::Bind(&TaskManagerInterface::Refresh, |
145 base::Unretained(this))); | 169 base::Unretained(this))); |
146 } | 170 } |
147 | 171 |
148 } // namespace task_management | 172 } // namespace task_management |
OLD | NEW |