OLD | NEW |
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/ui/webui/chromeos/imageburner/imageburner_ui.h" | 5 #include "chrome/browser/ui/webui/chromeos/imageburner/imageburner_ui.h" |
6 #include "chrome/browser/ui/webui/chromeos/imageburner/webui_handler.h" | 6 #include "chrome/browser/ui/webui/chromeos/imageburner/webui_handler.h" |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 //////////////////////////////////////////////////////////////////////////////// | 119 //////////////////////////////////////////////////////////////////////////////// |
120 | 120 |
121 WebUIHandler::WebUIHandler(TabContents* contents) | 121 WebUIHandler::WebUIHandler(TabContents* contents) |
122 : tab_contents_(contents), | 122 : tab_contents_(contents), |
123 download_manager_(NULL), | 123 download_manager_(NULL), |
124 active_download_item_(NULL), | 124 active_download_item_(NULL), |
125 burn_manager_(NULL), | 125 burn_manager_(NULL), |
126 state_machine_(NULL), | 126 state_machine_(NULL), |
127 observing_burn_lib_(false), | 127 observing_burn_lib_(false), |
128 working_(false) { | 128 working_(false) { |
129 chromeos::CrosLibrary::Get()->GetMountLibrary()->AddObserver(this); | 129 chromeos::disks::DiskMountManager::GetInstance()->AddObserver(this); |
130 chromeos::CrosLibrary::Get()->GetNetworkLibrary()-> | 130 chromeos::CrosLibrary::Get()->GetNetworkLibrary()-> |
131 AddNetworkManagerObserver(this); | 131 AddNetworkManagerObserver(this); |
132 burn_manager_ = BurnManager::GetInstance(); | 132 burn_manager_ = BurnManager::GetInstance(); |
133 state_machine_ = burn_manager_->state_machine(); | 133 state_machine_ = burn_manager_->state_machine(); |
134 state_machine_->AddObserver(this); | 134 state_machine_->AddObserver(this); |
135 } | 135 } |
136 | 136 |
137 WebUIHandler::~WebUIHandler() { | 137 WebUIHandler::~WebUIHandler() { |
138 chromeos::CrosLibrary::Get()->GetMountLibrary()->RemoveObserver(this); | 138 chromeos::disks::DiskMountManager::GetInstance()-> |
| 139 RemoveObserver(this); |
139 chromeos::CrosLibrary::Get()->GetBurnLibrary()->RemoveObserver(this); | 140 chromeos::CrosLibrary::Get()->GetBurnLibrary()->RemoveObserver(this); |
140 chromeos::CrosLibrary::Get()->GetNetworkLibrary()-> | 141 chromeos::CrosLibrary::Get()->GetNetworkLibrary()-> |
141 RemoveNetworkManagerObserver(this); | 142 RemoveNetworkManagerObserver(this); |
142 CleanupDownloadObjects(); | 143 CleanupDownloadObjects(); |
143 if (state_machine_) | 144 if (state_machine_) |
144 state_machine_->RemoveObserver(this); | 145 state_machine_->RemoveObserver(this); |
145 } | 146 } |
146 | 147 |
147 WebUIMessageHandler* WebUIHandler::Attach(WebUI* web_ui) { | 148 WebUIMessageHandler* WebUIHandler::Attach(WebUI* web_ui) { |
148 return WebUIMessageHandler::Attach(web_ui); | 149 return WebUIMessageHandler::Attach(web_ui); |
149 } | 150 } |
150 | 151 |
151 void WebUIHandler::RegisterMessages() { | 152 void WebUIHandler::RegisterMessages() { |
152 web_ui_->RegisterMessageCallback("getDevices", | 153 web_ui_->RegisterMessageCallback("getDevices", |
153 base::Bind(&WebUIHandler::HandleGetDevices, base::Unretained(this))); | 154 base::Bind(&WebUIHandler::HandleGetDevices, base::Unretained(this))); |
154 web_ui_->RegisterMessageCallback("burnImage", | 155 web_ui_->RegisterMessageCallback("burnImage", |
155 base::Bind(&WebUIHandler::HandleBurnImage, base::Unretained(this))); | 156 base::Bind(&WebUIHandler::HandleBurnImage, base::Unretained(this))); |
156 web_ui_->RegisterMessageCallback("cancelBurnImage", | 157 web_ui_->RegisterMessageCallback("cancelBurnImage", |
157 base::Bind(&WebUIHandler::HandleCancelBurnImage, base::Unretained(this))); | 158 base::Bind(&WebUIHandler::HandleCancelBurnImage, base::Unretained(this))); |
158 web_ui_->RegisterMessageCallback("webuiInitialized", | 159 web_ui_->RegisterMessageCallback("webuiInitialized", |
159 base::Bind(&WebUIHandler::HandleWebUIInitialized, | 160 base::Bind(&WebUIHandler::HandleWebUIInitialized, |
160 base::Unretained(this))); | 161 base::Unretained(this))); |
161 } | 162 } |
162 | 163 |
163 void WebUIHandler::DiskChanged(chromeos::MountLibraryEventType event, | 164 void WebUIHandler::DiskChanged( |
164 const chromeos::MountLibrary::Disk* disk) { | 165 chromeos::disks::DiskMountManagerEventType event, |
| 166 const chromeos::disks::DiskMountManager::Disk* disk) { |
165 if (!disk->is_parent() || disk->on_boot_device()) | 167 if (!disk->is_parent() || disk->on_boot_device()) |
166 return; | 168 return; |
167 if (event == chromeos::MOUNT_DISK_ADDED) { | 169 if (event == chromeos::disks::MOUNT_DISK_ADDED) { |
168 DictionaryValue disk_value; | 170 DictionaryValue disk_value; |
169 CreateDiskValue(*disk, &disk_value); | 171 CreateDiskValue(*disk, &disk_value); |
170 web_ui_->CallJavascriptFunction("browserBridge.deviceAdded", disk_value); | 172 web_ui_->CallJavascriptFunction("browserBridge.deviceAdded", disk_value); |
171 } else if (event == chromeos::MOUNT_DISK_REMOVED) { | 173 } else if (event == chromeos::disks::MOUNT_DISK_REMOVED) { |
172 StringValue device_path_value(disk->device_path()); | 174 StringValue device_path_value(disk->device_path()); |
173 web_ui_->CallJavascriptFunction("browserBridge.deviceRemoved", | 175 web_ui_->CallJavascriptFunction("browserBridge.deviceRemoved", |
174 device_path_value); | 176 device_path_value); |
175 if (burn_manager_->target_device_path().value() == | 177 if (burn_manager_->target_device_path().value() == |
176 disk->device_path()) { | 178 disk->device_path()) { |
177 ProcessError(IDS_IMAGEBURN_DEVICE_NOT_FOUND_ERROR); | 179 ProcessError(IDS_IMAGEBURN_DEVICE_NOT_FOUND_ERROR); |
178 } | 180 } |
179 } | 181 } |
180 } | 182 } |
181 | 183 |
182 void WebUIHandler::BurnProgressUpdated(chromeos::BurnLibrary* object, | 184 void WebUIHandler::BurnProgressUpdated(chromeos::BurnLibrary* object, |
183 chromeos::BurnEvent evt, | 185 chromeos::BurnEvent evt, |
184 const ImageBurnStatus& status) { | 186 const ImageBurnStatus& status) { |
185 switch (evt) { | 187 switch (evt) { |
186 case(chromeos::BURN_SUCCESS): | 188 case(chromeos::BURN_SUCCESS): |
187 FinalizeBurn(); | 189 FinalizeBurn(); |
188 break; | 190 break; |
189 case(chromeos::BURN_FAIL): | 191 case(chromeos::BURN_FAIL): |
190 ProcessError(IDS_IMAGEBURN_BURN_ERROR); | 192 ProcessError(IDS_IMAGEBURN_BURN_ERROR); |
191 break; | 193 break; |
192 case(chromeos::BURN_UPDATE): | 194 case(chromeos::BURN_UPDATE): |
193 SendProgressSignal(BURN, status.amount_burnt, status.total_size, NULL); | 195 SendProgressSignal(BURN, status.amount_burnt, status.total_size, NULL); |
194 break; | 196 break; |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 HandleBurnImage(NULL); | 273 HandleBurnImage(NULL); |
272 } | 274 } |
273 } | 275 } |
274 | 276 |
275 void WebUIHandler::OnError(int error_message_id) { | 277 void WebUIHandler::OnError(int error_message_id) { |
276 StringValue error_message(l10n_util::GetStringUTF16(error_message_id)); | 278 StringValue error_message(l10n_util::GetStringUTF16(error_message_id)); |
277 web_ui_->CallJavascriptFunction("browserBridge.reportFail", error_message); | 279 web_ui_->CallJavascriptFunction("browserBridge.reportFail", error_message); |
278 working_ = false; | 280 working_ = false; |
279 } | 281 } |
280 | 282 |
281 void WebUIHandler::CreateDiskValue(const chromeos::MountLibrary::Disk& disk, | 283 void WebUIHandler::CreateDiskValue( |
| 284 const chromeos::disks::DiskMountManager::Disk& disk, |
282 DictionaryValue* disk_value) { | 285 DictionaryValue* disk_value) { |
283 string16 label = ASCIIToUTF16(disk.drive_label()); | 286 string16 label = ASCIIToUTF16(disk.drive_label()); |
284 base::i18n::AdjustStringForLocaleDirection(&label); | 287 base::i18n::AdjustStringForLocaleDirection(&label); |
285 disk_value->SetString(std::string(kPropertyLabel), label); | 288 disk_value->SetString(std::string(kPropertyLabel), label); |
286 disk_value->SetString(std::string(kPropertyFilePath), disk.file_path()); | 289 disk_value->SetString(std::string(kPropertyFilePath), disk.file_path()); |
287 disk_value->SetString(std::string(kPropertyDevicePath), disk.device_path()); | 290 disk_value->SetString(std::string(kPropertyDevicePath), disk.device_path()); |
288 } | 291 } |
289 | 292 |
290 void WebUIHandler::HandleGetDevices(const ListValue* args) { | 293 void WebUIHandler::HandleGetDevices(const ListValue* args) { |
291 chromeos::MountLibrary* mount_lib = | 294 chromeos::disks::DiskMountManager* disk_mount_manager = |
292 chromeos::CrosLibrary::Get()->GetMountLibrary(); | 295 chromeos::disks::DiskMountManager::GetInstance(); |
293 const chromeos::MountLibrary::DiskMap& disks = mount_lib->disks(); | 296 const chromeos::disks::DiskMountManager::DiskMap& disks = |
| 297 disk_mount_manager->disks(); |
294 ListValue results_value; | 298 ListValue results_value; |
295 for (chromeos::MountLibrary::DiskMap::const_iterator iter = disks.begin(); | 299 for (chromeos::disks::DiskMountManager::DiskMap::const_iterator iter = |
| 300 disks.begin(); |
296 iter != disks.end(); | 301 iter != disks.end(); |
297 ++iter) { | 302 ++iter) { |
298 chromeos::MountLibrary::Disk* disk = iter->second; | 303 chromeos::disks::DiskMountManager::Disk* disk = iter->second; |
299 if (disk->is_parent() && !disk->on_boot_device()) { | 304 if (disk->is_parent() && !disk->on_boot_device()) { |
300 DictionaryValue* disk_value = new DictionaryValue(); | 305 DictionaryValue* disk_value = new DictionaryValue(); |
301 CreateDiskValue(*disk, disk_value); | 306 CreateDiskValue(*disk, disk_value); |
302 results_value.Append(disk_value); | 307 results_value.Append(disk_value); |
303 } | 308 } |
304 } | 309 } |
305 web_ui_->CallJavascriptFunction("browserBridge.getDevicesCallback", | 310 web_ui_->CallJavascriptFunction("browserBridge.getDevicesCallback", |
306 results_value); | 311 results_value); |
307 } | 312 } |
308 | 313 |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
606 std::string image_dest; | 611 std::string image_dest; |
607 string_value->GetAsString(&image_dest); | 612 string_value->GetAsString(&image_dest); |
608 *device_path = FilePath(image_dest); | 613 *device_path = FilePath(image_dest); |
609 } else { | 614 } else { |
610 LOG(ERROR) << "Unable to get path string"; | 615 LOG(ERROR) << "Unable to get path string"; |
611 device_path->clear(); | 616 device_path->clear(); |
612 } | 617 } |
613 } | 618 } |
614 | 619 |
615 int64 WebUIHandler::GetDeviceSize(const std::string& device_path) { | 620 int64 WebUIHandler::GetDeviceSize(const std::string& device_path) { |
616 chromeos::MountLibrary* mount_lib = | 621 chromeos::disks::DiskMountManager* disk_mount_manager = |
617 chromeos::CrosLibrary::Get()->GetMountLibrary(); | 622 chromeos::disks::DiskMountManager::GetInstance(); |
618 const chromeos::MountLibrary::DiskMap& disks = mount_lib->disks(); | 623 const chromeos::disks::DiskMountManager::DiskMap& disks = |
619 return disks.find(device_path)->second->total_size(); | 624 disk_mount_manager->disks(); |
| 625 return disks.find(device_path)->second->total_size_in_bytes(); |
620 } | 626 } |
621 | 627 |
622 bool WebUIHandler::CheckNetwork() { | 628 bool WebUIHandler::CheckNetwork() { |
623 return chromeos::CrosLibrary::Get()->GetNetworkLibrary()->Connected(); | 629 return chromeos::CrosLibrary::Get()->GetNetworkLibrary()->Connected(); |
624 } | 630 } |
625 | 631 |
626 } // namespace imageburner. | 632 } // namespace imageburner. |
627 | 633 |
628 //////////////////////////////////////////////////////////////////////////////// | 634 //////////////////////////////////////////////////////////////////////////////// |
629 // | 635 // |
630 // ImageBurnUI | 636 // ImageBurnUI |
631 // | 637 // |
632 //////////////////////////////////////////////////////////////////////////////// | 638 //////////////////////////////////////////////////////////////////////////////// |
633 | 639 |
634 ImageBurnUI::ImageBurnUI(TabContents* contents) : ChromeWebUI(contents) { | 640 ImageBurnUI::ImageBurnUI(TabContents* contents) : ChromeWebUI(contents) { |
635 imageburner::WebUIHandler* handler = new imageburner::WebUIHandler(contents); | 641 imageburner::WebUIHandler* handler = new imageburner::WebUIHandler(contents); |
636 AddMessageHandler((handler)->Attach(this)); | 642 AddMessageHandler((handler)->Attach(this)); |
637 | 643 |
638 Profile* profile = Profile::FromBrowserContext(contents->browser_context()); | 644 Profile* profile = Profile::FromBrowserContext(contents->browser_context()); |
639 profile->GetChromeURLDataManager()->AddDataSource( | 645 profile->GetChromeURLDataManager()->AddDataSource( |
640 CreateImageburnerUIHTMLSource()); | 646 CreateImageburnerUIHTMLSource()); |
641 } | 647 } |
OLD | NEW |