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

Side by Side Diff: chrome/browser/chromeos/webui/imageburner_ui.cc

Issue 6674043: Rewritten MountLibrary to work with non-blocking mount API calls in libcros.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 9 months 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/chromeos/webui/imageburner_ui.h" 5 #include "chrome/browser/chromeos/webui/imageburner_ui.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/i18n/rtl.h" 9 #include "base/i18n/rtl.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 web_ui_->RegisterMessageCallback("getRoots", 209 web_ui_->RegisterMessageCallback("getRoots",
210 NewCallback(this, &ImageBurnHandler::HandleGetRoots)); 210 NewCallback(this, &ImageBurnHandler::HandleGetRoots));
211 web_ui_->RegisterMessageCallback("downloadImage", 211 web_ui_->RegisterMessageCallback("downloadImage",
212 NewCallback(this, &ImageBurnHandler::HandleDownloadImage)); 212 NewCallback(this, &ImageBurnHandler::HandleDownloadImage));
213 web_ui_->RegisterMessageCallback("burnImage", 213 web_ui_->RegisterMessageCallback("burnImage",
214 NewCallback(this, &ImageBurnHandler::HandleBurnImage)); 214 NewCallback(this, &ImageBurnHandler::HandleBurnImage));
215 web_ui_->RegisterMessageCallback("cancelBurnImage", 215 web_ui_->RegisterMessageCallback("cancelBurnImage",
216 NewCallback(this, &ImageBurnHandler::HandleCancelBurnImage)); 216 NewCallback(this, &ImageBurnHandler::HandleCancelBurnImage));
217 } 217 }
218 218
219 void ImageBurnHandler::MountChanged(chromeos::MountLibrary* obj, 219 void ImageBurnHandler::DiskChanged(chromeos::MountLibraryEventType event,
220 chromeos::MountEventType evt, 220 const chromeos::MountLibrary::Disk* disk) {
221 const std::string& path) { 221 if (event == chromeos::MOUNT_DISK_REMOVED ||
222 if ((evt == chromeos::DISK_REMOVED || 222 event == chromeos::MOUNT_DISK_CHANGED ||
223 evt == chromeos::DISK_CHANGED || 223 event == chromeos::MOUNT_DISK_UNMOUNTED) {
224 evt == chromeos::DEVICE_REMOVED)) {
225 web_ui_->CallJavascriptFunction("rootsChanged"); 224 web_ui_->CallJavascriptFunction("rootsChanged");
226 } 225 }
227 } 226 }
228 227
228 void ImageBurnHandler::DeviceChanged(chromeos::MountLibraryEventType event,
229 const std::string& device_path) {
230 if (event == chromeos::MOUNT_DEVICE_REMOVED) {
231 web_ui_->CallJavascriptFunction("rootsChanged");
232 }
stevenjb 2011/03/16 22:52:55 nit: extra { }
zel 2011/03/17 01:00:30 Done.
233 }
234
235
229 void ImageBurnHandler::ProgressUpdated(chromeos::BurnLibrary* object, 236 void ImageBurnHandler::ProgressUpdated(chromeos::BurnLibrary* object,
230 chromeos::BurnEventType evt, 237 chromeos::BurnEventType evt,
231 const ImageBurnStatus& status) { 238 const ImageBurnStatus& status) {
232 UpdateBurnProgress(status.amount_burnt, status.total_size, 239 UpdateBurnProgress(status.amount_burnt, status.total_size,
233 status.target_path, evt); 240 status.target_path, evt);
234 if (evt == chromeos::BURN_COMPLETE) { 241 if (evt == chromeos::BURN_COMPLETE) {
235 ImageBurnTaskProxy* task = new ImageBurnTaskProxy(AsWeakPtr()); 242 ImageBurnTaskProxy* task = new ImageBurnTaskProxy(AsWeakPtr());
236 task->AddRef(); 243 task->AddRef();
237 task->FinalizeBurn(true); 244 task->FinalizeBurn(true);
238 } else if (evt == chromeos::BURN_CANCELED) { 245 } else if (evt == chromeos::BURN_CANCELED) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 break; 288 break;
282 } 289 }
283 } 290 }
284 } 291 }
285 292
286 void ImageBurnHandler::HandleGetRoots(const ListValue* args) { 293 void ImageBurnHandler::HandleGetRoots(const ListValue* args) {
287 ListValue results_value; 294 ListValue results_value;
288 DictionaryValue info_value; 295 DictionaryValue info_value;
289 chromeos::MountLibrary* mount_lib = 296 chromeos::MountLibrary* mount_lib =
290 chromeos::CrosLibrary::Get()->GetMountLibrary(); 297 chromeos::CrosLibrary::Get()->GetMountLibrary();
291 const chromeos::MountLibrary::DiskVector& disks = mount_lib->disks(); 298 const chromeos::MountLibrary::DiskMap& disks = mount_lib->disks();
292 if (!burn_resource_manager_->CheckBurnInProgress()) { 299 if (!burn_resource_manager_->CheckBurnInProgress()) {
293 for (size_t i = 0; i < disks.size(); ++i) { 300 for (chromeos::MountLibrary::DiskMap::const_iterator iter = disks.begin();
294 if (!disks[i].mount_path.empty()) { 301 iter != disks.end();
295 FilePath disk_path = FilePath(disks[i].system_path).DirName(); 302 ++iter) {
303 if (iter->second->mount_path().empty()) {
304 FilePath disk_path = FilePath(iter->second->system_path()).DirName();
296 std::string title = "/dev/" + disk_path.BaseName().value(); 305 std::string title = "/dev/" + disk_path.BaseName().value();
297 if (!mount_lib->IsBootPath(title.c_str())) { 306 if (!iter->second->on_boot_device()) {
298 DictionaryValue* page_value = new DictionaryValue(); 307 DictionaryValue* page_value = new DictionaryValue();
299 page_value->SetString(std::string(kPropertyTitle), title); 308 page_value->SetString(std::string(kPropertyTitle), title);
300 page_value->SetString(std::string(kPropertyPath), title); 309 page_value->SetString(std::string(kPropertyPath), title);
301 page_value->SetBoolean(std::string(kPropertyDirectory), true); 310 page_value->SetBoolean(std::string(kPropertyDirectory), true);
302 results_value.Append(page_value); 311 results_value.Append(page_value);
303 } 312 }
304 } 313 }
305 } 314 }
306 } 315 }
307 info_value.SetString("functionCall", "getRoots"); 316 info_value.SetString("functionCall", "getRoots");
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 // 653 //
645 // ImageBurnUI 654 // ImageBurnUI
646 // 655 //
647 //////////////////////////////////////////////////////////////////////////////// 656 ////////////////////////////////////////////////////////////////////////////////
648 ImageBurnUI::ImageBurnUI(TabContents* contents) : WebUI(contents) { 657 ImageBurnUI::ImageBurnUI(TabContents* contents) : WebUI(contents) {
649 ImageBurnHandler* handler = new ImageBurnHandler(contents); 658 ImageBurnHandler* handler = new ImageBurnHandler(contents);
650 AddMessageHandler((handler)->Attach(this)); 659 AddMessageHandler((handler)->Attach(this));
651 ImageBurnUIHTMLSource* html_source = new ImageBurnUIHTMLSource(); 660 ImageBurnUIHTMLSource* html_source = new ImageBurnUIHTMLSource();
652 contents->profile()->GetChromeURLDataManager()->AddDataSource(html_source); 661 contents->profile()->GetChromeURLDataManager()->AddDataSource(html_source);
653 } 662 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698