Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Side by Side Diff: chrome/browser/task_manager.cc

Issue 345037: Fifth patch in getting rid of caching MessageLoop pointers. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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_manager.h" 5 #include "chrome/browser/task_manager.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "app/resource_bundle.h" 8 #include "app/resource_bundle.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/i18n/number_formatting.h" 10 #include "base/i18n/number_formatting.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 } // namespace 51 } // namespace
52 52
53 //////////////////////////////////////////////////////////////////////////////// 53 ////////////////////////////////////////////////////////////////////////////////
54 // TaskManagerModel class 54 // TaskManagerModel class
55 //////////////////////////////////////////////////////////////////////////////// 55 ////////////////////////////////////////////////////////////////////////////////
56 56
57 // static 57 // static
58 int TaskManagerModel::goats_teleported_ = 0; 58 int TaskManagerModel::goats_teleported_ = 0;
59 59
60 TaskManagerModel::TaskManagerModel(TaskManager* task_manager) 60 TaskManagerModel::TaskManagerModel(TaskManager* task_manager)
61 : ui_loop_(MessageLoop::current()), 61 : update_state_(IDLE) {
62 update_state_(IDLE) {
63 62
64 TaskManagerBrowserProcessResourceProvider* browser_provider = 63 TaskManagerBrowserProcessResourceProvider* browser_provider =
65 new TaskManagerBrowserProcessResourceProvider(task_manager); 64 new TaskManagerBrowserProcessResourceProvider(task_manager);
66 browser_provider->AddRef(); 65 browser_provider->AddRef();
67 providers_.push_back(browser_provider); 66 providers_.push_back(browser_provider);
68 TaskManagerTabContentsResourceProvider* wc_provider = 67 TaskManagerTabContentsResourceProvider* wc_provider =
69 new TaskManagerTabContentsResourceProvider(task_manager); 68 new TaskManagerTabContentsResourceProvider(task_manager);
70 wc_provider->AddRef(); 69 wc_provider->AddRef();
71 providers_.push_back(wc_provider); 70 providers_.push_back(wc_provider);
72 TaskManagerChildProcessResourceProvider* child_process_provider = 71 TaskManagerChildProcessResourceProvider* child_process_provider =
(...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 } 754 }
756 755
757 void TaskManagerModel::OnBytesRead(URLRequestJob* job, int byte_count) { 756 void TaskManagerModel::OnBytesRead(URLRequestJob* job, int byte_count) {
758 int render_process_host_child_id = -1, routing_id = -1; 757 int render_process_host_child_id = -1, routing_id = -1;
759 ResourceDispatcherHost::RenderViewForRequest(job->request(), 758 ResourceDispatcherHost::RenderViewForRequest(job->request(),
760 &render_process_host_child_id, 759 &render_process_host_child_id,
761 &routing_id); 760 &routing_id);
762 // This happens in the IO thread, post it to the UI thread. 761 // This happens in the IO thread, post it to the UI thread.
763 int origin_child_id = 762 int origin_child_id =
764 chrome_browser_net::GetOriginProcessUniqueIDForRequest(job->request()); 763 chrome_browser_net::GetOriginProcessUniqueIDForRequest(job->request());
765 ui_loop_->PostTask(FROM_HERE, 764 ChromeThread::PostTask(
766 NewRunnableMethod( 765 ChromeThread::UI, FROM_HERE,
767 this, 766 NewRunnableMethod(
768 &TaskManagerModel::BytesRead, 767 this,
769 BytesReadParam(origin_child_id, 768 &TaskManagerModel::BytesRead,
770 render_process_host_child_id, 769 BytesReadParam(origin_child_id,
771 routing_id, byte_count))); 770 render_process_host_child_id,
771 routing_id, byte_count)));
772 } 772 }
773 773
774 bool TaskManagerModel::GetProcessMetricsForRow( 774 bool TaskManagerModel::GetProcessMetricsForRow(
775 int row, base::ProcessMetrics** proc_metrics) const { 775 int row, base::ProcessMetrics** proc_metrics) const {
776 DCHECK(row < ResourceCount()); 776 DCHECK(row < ResourceCount());
777 *proc_metrics = NULL; 777 *proc_metrics = NULL;
778 778
779 MetricsMap::const_iterator iter = 779 MetricsMap::const_iterator iter =
780 metrics_map_.find(resources_[row]->GetProcess()); 780 metrics_map_.find(resources_[row]->GetProcess());
781 if (iter == metrics_map_.end()) 781 if (iter == metrics_map_.end())
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 // or popup, we can only have one tab, hence we need to process this in a 859 // or popup, we can only have one tab, hence we need to process this in a
860 // tabbed browser window. Currently, |browser| is pointing to the application, 860 // tabbed browser window. Currently, |browser| is pointing to the application,
861 // popup window. Therefore, we have to retrieve the last active tab again, 861 // popup window. Therefore, we have to retrieve the last active tab again,
862 // since a new window has been used. 862 // since a new window has been used.
863 if (browser->type() & Browser::TYPE_APP_POPUP) { 863 if (browser->type() & Browser::TYPE_APP_POPUP) {
864 browser = BrowserList::GetLastActive(); 864 browser = BrowserList::GetLastActive();
865 DCHECK(browser); 865 DCHECK(browser);
866 } 866 }
867 browser->window()->Show(); 867 browser->window()->Show();
868 } 868 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698