| 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 "mash/task_viewer/task_viewer.h" | 5 #include "mash/task_viewer/task_viewer.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 DCHECK(row < static_cast<int>(instances_.size())); | 137 DCHECK(row < static_cast<int>(instances_.size())); |
| 138 base::Process process = base::Process::Open(instances_[row]->pid); | 138 base::Process process = base::Process::Open(instances_[row]->pid); |
| 139 process.Terminate(9, true); | 139 process.Terminate(9, true); |
| 140 } | 140 } |
| 141 | 141 |
| 142 // Overridden from mojo::shell::mojom::ApplicationManagerListener: | 142 // Overridden from mojo::shell::mojom::ApplicationManagerListener: |
| 143 void SetRunningApplications( | 143 void SetRunningApplications( |
| 144 mojo::Array<ApplicationInfoPtr> applications) override { | 144 mojo::Array<ApplicationInfoPtr> applications) override { |
| 145 // This callback should only be called with an empty model. | 145 // This callback should only be called with an empty model. |
| 146 DCHECK(instances_.empty()); | 146 DCHECK(instances_.empty()); |
| 147 mojo::Array<mojo::String> urls; | 147 mojo::Array<mojo::String> names; |
| 148 for (size_t i = 0; i < applications.size(); ++i) { | 148 for (size_t i = 0; i < applications.size(); ++i) { |
| 149 InsertInstance(applications[i]->id, applications[i]->url, | 149 InsertInstance(applications[i]->id, applications[i]->name, |
| 150 applications[i]->pid); | 150 applications[i]->pid); |
| 151 urls.push_back(applications[i]->url); | 151 names.push_back(applications[i]->name); |
| 152 } | 152 } |
| 153 catalog_->GetEntries(std::move(urls), | 153 catalog_->GetEntries(std::move(names), |
| 154 base::Bind(&TaskViewerContents::OnGotCatalogEntries, | 154 base::Bind(&TaskViewerContents::OnGotCatalogEntries, |
| 155 weak_ptr_factory_.GetWeakPtr())); | 155 weak_ptr_factory_.GetWeakPtr())); |
| 156 } | 156 } |
| 157 void ApplicationInstanceCreated(ApplicationInfoPtr application) override { | 157 void ApplicationInstanceCreated(ApplicationInfoPtr application) override { |
| 158 DCHECK(!ContainsId(application->id)); | 158 DCHECK(!ContainsId(application->id)); |
| 159 InsertInstance(application->id, application->url, application->pid); | 159 InsertInstance(application->id, application->name, application->pid); |
| 160 observer_->OnItemsAdded(static_cast<int>(instances_.size()), 1); | 160 observer_->OnItemsAdded(static_cast<int>(instances_.size()), 1); |
| 161 mojo::Array<mojo::String> urls; | 161 mojo::Array<mojo::String> names; |
| 162 urls.push_back(application->url); | 162 names.push_back(application->name); |
| 163 catalog_->GetEntries(std::move(urls), | 163 catalog_->GetEntries(std::move(names), |
| 164 base::Bind(&TaskViewerContents::OnGotCatalogEntries, | 164 base::Bind(&TaskViewerContents::OnGotCatalogEntries, |
| 165 weak_ptr_factory_.GetWeakPtr())); | 165 weak_ptr_factory_.GetWeakPtr())); |
| 166 } | 166 } |
| 167 void ApplicationInstanceDestroyed(uint32_t id) override { | 167 void ApplicationInstanceDestroyed(uint32_t id) override { |
| 168 for (auto it = instances_.begin(); it != instances_.end(); ++it) { | 168 for (auto it = instances_.begin(); it != instances_.end(); ++it) { |
| 169 if ((*it)->id == id) { | 169 if ((*it)->id == id) { |
| 170 observer_->OnItemsRemoved( | 170 observer_->OnItemsRemoved( |
| 171 static_cast<int>(it - instances_.begin()), 1); | 171 static_cast<int>(it - instances_.begin()), 1); |
| 172 instances_.erase(it); | 172 instances_.erase(it); |
| 173 return; | 173 return; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 197 void InsertInstance(uint32_t id, const std::string& url, uint32_t pid) { | 197 void InsertInstance(uint32_t id, const std::string& url, uint32_t pid) { |
| 198 instances_.push_back(make_scoped_ptr(new InstanceInfo(id, url, pid))); | 198 instances_.push_back(make_scoped_ptr(new InstanceInfo(id, url, pid))); |
| 199 } | 199 } |
| 200 | 200 |
| 201 void OnGotCatalogEntries( | 201 void OnGotCatalogEntries( |
| 202 mojo::Map<mojo::String, | 202 mojo::Map<mojo::String, |
| 203 package_manager::mojom::CatalogEntryPtr> entries) { | 203 package_manager::mojom::CatalogEntryPtr> entries) { |
| 204 for (auto it = instances_.begin(); it != instances_.end(); ++it) { | 204 for (auto it = instances_.begin(); it != instances_.end(); ++it) { |
| 205 auto entry_it = entries.find((*it)->url); | 205 auto entry_it = entries.find((*it)->url); |
| 206 if (entry_it != entries.end()) { | 206 if (entry_it != entries.end()) { |
| 207 (*it)->name = entry_it->second->name; | 207 (*it)->name = entry_it->second->display_name; |
| 208 observer_->OnItemsChanged( | 208 observer_->OnItemsChanged( |
| 209 static_cast<int>(it - instances_.begin()), 1); | 209 static_cast<int>(it - instances_.begin()), 1); |
| 210 } | 210 } |
| 211 } | 211 } |
| 212 } | 212 } |
| 213 | 213 |
| 214 static std::vector<ui::TableColumn> GetColumns() { | 214 static std::vector<ui::TableColumn> GetColumns() { |
| 215 std::vector<ui::TableColumn> columns; | 215 std::vector<ui::TableColumn> columns; |
| 216 | 216 |
| 217 ui::TableColumn name_column; | 217 ui::TableColumn name_column; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 | 283 |
| 284 TaskViewerContents* task_viewer = new TaskViewerContents( | 284 TaskViewerContents* task_viewer = new TaskViewerContents( |
| 285 std::move(request), std::move(catalog)); | 285 std::move(request), std::move(catalog)); |
| 286 views::Widget* window = views::Widget::CreateWindowWithBounds( | 286 views::Widget* window = views::Widget::CreateWindowWithBounds( |
| 287 task_viewer, gfx::Rect(10, 10, 500, 500)); | 287 task_viewer, gfx::Rect(10, 10, 500, 500)); |
| 288 window->Show(); | 288 window->Show(); |
| 289 } | 289 } |
| 290 | 290 |
| 291 } // namespace task_viewer | 291 } // namespace task_viewer |
| 292 } // namespace main | 292 } // namespace main |
| OLD | NEW |