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

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 }
233
234
229 void ImageBurnHandler::ProgressUpdated(chromeos::BurnLibrary* object, 235 void ImageBurnHandler::ProgressUpdated(chromeos::BurnLibrary* object,
230 chromeos::BurnEventType evt, 236 chromeos::BurnEventType evt,
231 const ImageBurnStatus& status) { 237 const ImageBurnStatus& status) {
232 UpdateBurnProgress(status.amount_burnt, status.total_size, 238 UpdateBurnProgress(status.amount_burnt, status.total_size,
233 status.target_path, evt); 239 status.target_path, evt);
234 if (evt == chromeos::BURN_COMPLETE) { 240 if (evt == chromeos::BURN_COMPLETE) {
235 ImageBurnTaskProxy* task = new ImageBurnTaskProxy(AsWeakPtr()); 241 ImageBurnTaskProxy* task = new ImageBurnTaskProxy(AsWeakPtr());
236 task->AddRef(); 242 task->AddRef();
237 task->FinalizeBurn(true); 243 task->FinalizeBurn(true);
238 } else if (evt == chromeos::BURN_CANCELED) { 244 } else if (evt == chromeos::BURN_CANCELED) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 break; 287 break;
282 } 288 }
283 } 289 }
284 } 290 }
285 291
286 void ImageBurnHandler::HandleGetRoots(const ListValue* args) { 292 void ImageBurnHandler::HandleGetRoots(const ListValue* args) {
287 ListValue results_value; 293 ListValue results_value;
288 DictionaryValue info_value; 294 DictionaryValue info_value;
289 chromeos::MountLibrary* mount_lib = 295 chromeos::MountLibrary* mount_lib =
290 chromeos::CrosLibrary::Get()->GetMountLibrary(); 296 chromeos::CrosLibrary::Get()->GetMountLibrary();
291 const chromeos::MountLibrary::DiskVector& disks = mount_lib->disks(); 297 const chromeos::MountLibrary::DiskMap& disks = mount_lib->disks();
292 if (!burn_resource_manager_->CheckBurnInProgress()) { 298 if (!burn_resource_manager_->CheckBurnInProgress()) {
293 for (size_t i = 0; i < disks.size(); ++i) { 299 for (chromeos::MountLibrary::DiskMap::const_iterator iter = disks.begin();
294 if (!disks[i].mount_path.empty()) { 300 iter != disks.end();
295 FilePath disk_path = FilePath(disks[i].system_path).DirName(); 301 ++iter) {
302 if (iter->second->mount_path().empty()) {
303 FilePath disk_path = FilePath(iter->second->system_path()).DirName();
296 std::string title = "/dev/" + disk_path.BaseName().value(); 304 std::string title = "/dev/" + disk_path.BaseName().value();
297 if (!mount_lib->IsBootPath(title.c_str())) { 305 if (!iter->second->on_boot_device()) {
298 DictionaryValue* page_value = new DictionaryValue(); 306 DictionaryValue* page_value = new DictionaryValue();
299 page_value->SetString(std::string(kPropertyTitle), title); 307 page_value->SetString(std::string(kPropertyTitle), title);
300 page_value->SetString(std::string(kPropertyPath), title); 308 page_value->SetString(std::string(kPropertyPath), title);
301 page_value->SetBoolean(std::string(kPropertyDirectory), true); 309 page_value->SetBoolean(std::string(kPropertyDirectory), true);
302 results_value.Append(page_value); 310 results_value.Append(page_value);
303 } 311 }
304 } 312 }
305 } 313 }
306 } 314 }
307 info_value.SetString("functionCall", "getRoots"); 315 info_value.SetString("functionCall", "getRoots");
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 // 652 //
645 // ImageBurnUI 653 // ImageBurnUI
646 // 654 //
647 //////////////////////////////////////////////////////////////////////////////// 655 ////////////////////////////////////////////////////////////////////////////////
648 ImageBurnUI::ImageBurnUI(TabContents* contents) : WebUI(contents) { 656 ImageBurnUI::ImageBurnUI(TabContents* contents) : WebUI(contents) {
649 ImageBurnHandler* handler = new ImageBurnHandler(contents); 657 ImageBurnHandler* handler = new ImageBurnHandler(contents);
650 AddMessageHandler((handler)->Attach(this)); 658 AddMessageHandler((handler)->Attach(this));
651 ImageBurnUIHTMLSource* html_source = new ImageBurnUIHTMLSource(); 659 ImageBurnUIHTMLSource* html_source = new ImageBurnUIHTMLSource();
652 contents->profile()->GetChromeURLDataManager()->AddDataSource(html_source); 660 contents->profile()->GetChromeURLDataManager()->AddDataSource(html_source);
653 } 661 }
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/webui/imageburner_ui.h ('k') | chrome/browser/sessions/session_restore.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698