| 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/sync_setup_handler.h" | 5 #include "chrome/browser/ui/webui/sync_setup_handler.h" |
| 6 | 6 |
| 7 #include "base/json/json_reader.h" | 7 #include "base/json/json_reader.h" |
| 8 #include "base/json/json_writer.h" | 8 #include "base/json/json_writer.h" |
| 9 #include "base/values.h" | 9 #include "base/values.h" |
| 10 #include "chrome/browser/google/google_util.h" | 10 #include "chrome/browser/google/google_util.h" |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 { "cancelWarningHeader", IDS_SYNC_PASSPHRASE_CANCEL_WARNING_HEADER }, | 257 { "cancelWarningHeader", IDS_SYNC_PASSPHRASE_CANCEL_WARNING_HEADER }, |
| 258 { "cancelWarning", IDS_SYNC_PASSPHRASE_CANCEL_WARNING }, | 258 { "cancelWarning", IDS_SYNC_PASSPHRASE_CANCEL_WARNING }, |
| 259 { "yes", IDS_SYNC_PASSPHRASE_CANCEL_YES }, | 259 { "yes", IDS_SYNC_PASSPHRASE_CANCEL_YES }, |
| 260 { "no", IDS_SYNC_PASSPHRASE_CANCEL_NO }, | 260 { "no", IDS_SYNC_PASSPHRASE_CANCEL_NO }, |
| 261 { "sectionExplicitMessagePrefix", IDS_SYNC_PASSPHRASE_MSG_EXPLICIT_PREFIX }, | 261 { "sectionExplicitMessagePrefix", IDS_SYNC_PASSPHRASE_MSG_EXPLICIT_PREFIX }, |
| 262 { "sectionExplicitMessagePostfix", | 262 { "sectionExplicitMessagePostfix", |
| 263 IDS_SYNC_PASSPHRASE_MSG_EXPLICIT_POSTFIX }, | 263 IDS_SYNC_PASSPHRASE_MSG_EXPLICIT_POSTFIX }, |
| 264 { "encryptedDataTypesTitle", IDS_SYNC_ENCRYPTION_DATA_TYPES_TITLE }, | 264 { "encryptedDataTypesTitle", IDS_SYNC_ENCRYPTION_DATA_TYPES_TITLE }, |
| 265 { "encryptSensitiveOption", IDS_SYNC_ENCRYPT_SENSITIVE_DATA }, | 265 { "encryptSensitiveOption", IDS_SYNC_ENCRYPT_SENSITIVE_DATA }, |
| 266 { "encryptAllOption", IDS_SYNC_ENCRYPT_ALL_DATA }, | 266 { "encryptAllOption", IDS_SYNC_ENCRYPT_ALL_DATA }, |
| 267 { "encryptAllOption", IDS_SYNC_ENCRYPT_ALL_DATA }, |
| 268 { "statusNotConnected", IDS_SYNC_STATUS_NOT_CONNECTED } |
| 267 }; | 269 }; |
| 268 | 270 |
| 269 RegisterStrings(localized_strings, resources, arraysize(resources)); | 271 RegisterStrings(localized_strings, resources, arraysize(resources)); |
| 270 } | 272 } |
| 271 | 273 |
| 272 void SyncSetupHandler::Initialize() { | 274 void SyncSetupHandler::Initialize() { |
| 273 } | 275 } |
| 274 | 276 |
| 275 void SyncSetupHandler::RegisterMessages() { | 277 void SyncSetupHandler::RegisterMessages() { |
| 276 web_ui_->RegisterMessageCallback("SyncSetupDidClosePage", | 278 web_ui_->RegisterMessageCallback("SyncSetupDidClosePage", |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 331 | 333 |
| 332 void SyncSetupHandler::SetFlow(SyncSetupFlow* flow) { | 334 void SyncSetupHandler::SetFlow(SyncSetupFlow* flow) { |
| 333 flow_ = flow; | 335 flow_ = flow; |
| 334 } | 336 } |
| 335 | 337 |
| 336 void SyncSetupHandler::Focus() { | 338 void SyncSetupHandler::Focus() { |
| 337 static_cast<RenderViewHostDelegate*>(web_ui_->tab_contents())->Activate(); | 339 static_cast<RenderViewHostDelegate*>(web_ui_->tab_contents())->Activate(); |
| 338 } | 340 } |
| 339 | 341 |
| 340 void SyncSetupHandler::OnDidClosePage(const ListValue* args) { | 342 void SyncSetupHandler::OnDidClosePage(const ListValue* args) { |
| 341 if (flow_) { | 343 CloseSyncSetup(); |
| 342 flow_->OnDialogClosed(std::string()); | |
| 343 flow_ = NULL; | |
| 344 } | |
| 345 } | 344 } |
| 346 | 345 |
| 347 void SyncSetupHandler::HandleSubmitAuth(const ListValue* args) { | 346 void SyncSetupHandler::HandleSubmitAuth(const ListValue* args) { |
| 348 std::string json; | 347 std::string json; |
| 349 if (!args->GetString(0, &json)) { | 348 if (!args->GetString(0, &json)) { |
| 350 NOTREACHED() << "Could not read JSON argument"; | 349 NOTREACHED() << "Could not read JSON argument"; |
| 351 return; | 350 return; |
| 352 } | 351 } |
| 353 | 352 |
| 354 if (json.empty()) | 353 if (json.empty()) |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 DCHECK(flow_); | 408 DCHECK(flow_); |
| 410 flow_->OnPassphraseEntry(passphrase); | 409 flow_->OnPassphraseEntry(passphrase); |
| 411 } | 410 } |
| 412 | 411 |
| 413 void SyncSetupHandler::HandlePassphraseCancel(const ListValue* args) { | 412 void SyncSetupHandler::HandlePassphraseCancel(const ListValue* args) { |
| 414 DCHECK(flow_); | 413 DCHECK(flow_); |
| 415 flow_->OnPassphraseCancel(); | 414 flow_->OnPassphraseCancel(); |
| 416 } | 415 } |
| 417 | 416 |
| 418 void SyncSetupHandler::HandleAttachHandler(const ListValue* args) { | 417 void SyncSetupHandler::HandleAttachHandler(const ListValue* args) { |
| 418 OpenSyncSetup(); |
| 419 } |
| 420 |
| 421 void SyncSetupHandler::HandleShowErrorUI(const ListValue* args) { |
| 422 DCHECK(!flow_); |
| 423 |
| 424 ProfileSyncService* service = |
| 425 web_ui_->GetProfile()->GetProfileSyncService(); |
| 426 DCHECK(service); |
| 427 |
| 428 service->get_wizard().Step(SyncSetupWizard::NONFATAL_ERROR); |
| 429 |
| 430 // Show the Sync Setup page. |
| 431 if (service->get_wizard().IsVisible()) { |
| 432 service->get_wizard().Focus(); |
| 433 } else { |
| 434 StringValue page("syncSetup"); |
| 435 web_ui_->CallJavascriptFunction("OptionsPage.navigateToPage", page); |
| 436 } |
| 437 } |
| 438 |
| 439 void SyncSetupHandler::HandleShowSetupUI(const ListValue* args) { |
| 440 DCHECK(!flow_); |
| 441 ShowSetupUI(); |
| 442 } |
| 443 |
| 444 void SyncSetupHandler::CloseSyncSetup() { |
| 445 if (flow_) { |
| 446 flow_->OnDialogClosed(std::string()); |
| 447 flow_ = NULL; |
| 448 } |
| 449 } |
| 450 |
| 451 void SyncSetupHandler::OpenSyncSetup() { |
| 419 DCHECK(web_ui_); | 452 DCHECK(web_ui_); |
| 420 DCHECK(!flow_); | 453 DCHECK(!flow_); |
| 421 | 454 |
| 422 ProfileSyncService* service = web_ui_->GetProfile()->GetProfileSyncService(); | 455 ProfileSyncService* service = web_ui_->GetProfile()->GetProfileSyncService(); |
| 423 if (!service) { | 456 if (!service) { |
| 424 // If there's no sync service, the user tried to manually invoke a syncSetup | 457 // If there's no sync service, the user tried to manually invoke a syncSetup |
| 425 // URL, but sync features are disabled. We need to close the overlay for | 458 // URL, but sync features are disabled. We need to close the overlay for |
| 426 // this (rare) case. | 459 // this (rare) case. |
| 427 web_ui_->CallJavascriptFunction("OptionsPage.closeOverlay"); | 460 web_ui_->CallJavascriptFunction("OptionsPage.closeOverlay"); |
| 428 return; | 461 return; |
| 429 } | 462 } |
| 430 | 463 |
| 431 // If the wizard is not visible, step into the appropriate UI state. | 464 // If the wizard is not visible, step into the appropriate UI state. |
| 432 if (!service->get_wizard().IsVisible()) | 465 if (!service->get_wizard().IsVisible()) |
| 433 ShowSetupUI(); | 466 ShowSetupUI(); |
| 434 | 467 |
| 435 // The SyncSetupFlow will set itself as the |flow_|. | 468 // The SyncSetupFlow will set itself as the |flow_|. |
| 436 if (!service->get_wizard().AttachSyncSetupHandler(this)) { | 469 if (!service->get_wizard().AttachSyncSetupHandler(this)) { |
| 437 // If attach fails, a wizard is already activated and attached to a flow | 470 // If attach fails, a wizard is already activated and attached to a flow |
| 438 // handler. | 471 // handler. |
| 439 web_ui_->CallJavascriptFunction("OptionsPage.closeOverlay"); | 472 web_ui_->CallJavascriptFunction("OptionsPage.closeOverlay"); |
| 440 service->get_wizard().Focus(); | 473 service->get_wizard().Focus(); |
| 441 } | 474 } |
| 442 } | 475 } |
| 443 | |
| 444 void SyncSetupHandler::HandleShowErrorUI(const ListValue* args) { | |
| 445 DCHECK(!flow_); | |
| 446 | |
| 447 ProfileSyncService* service = | |
| 448 web_ui_->GetProfile()->GetProfileSyncService(); | |
| 449 DCHECK(service); | |
| 450 | |
| 451 service->get_wizard().Step(SyncSetupWizard::NONFATAL_ERROR); | |
| 452 | |
| 453 // Show the Sync Setup page. | |
| 454 if (service->get_wizard().IsVisible()) { | |
| 455 service->get_wizard().Focus(); | |
| 456 } else { | |
| 457 StringValue page("syncSetup"); | |
| 458 web_ui_->CallJavascriptFunction("OptionsPage.navigateToPage", page); | |
| 459 } | |
| 460 } | |
| 461 | |
| 462 void SyncSetupHandler::HandleShowSetupUI(const ListValue* args) { | |
| 463 DCHECK(!flow_); | |
| 464 ShowSetupUI(); | |
| 465 } | |
| OLD | NEW |