Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/extensions/api/management/management_api.h" | 5 #include "chrome/browser/extensions/api/management/management_api.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 506 SendResponse(false); | 506 SendResponse(false); |
| 507 Release(); | 507 Release(); |
| 508 } | 508 } |
| 509 | 509 |
| 510 ManagementUninstallFunction::ManagementUninstallFunction() { | 510 ManagementUninstallFunction::ManagementUninstallFunction() { |
| 511 } | 511 } |
| 512 | 512 |
| 513 ManagementUninstallFunction::~ManagementUninstallFunction() { | 513 ManagementUninstallFunction::~ManagementUninstallFunction() { |
| 514 } | 514 } |
| 515 | 515 |
| 516 bool ManagementUninstallFunction::RunImpl() { | 516 bool ManagementUninstallFunction::DoUninstall(bool show_confirm_dialog) { |
| 517 scoped_ptr<management::Uninstall::Params> params( | |
| 518 management::Uninstall::Params::Create(*args_)); | |
| 519 EXTENSION_FUNCTION_VALIDATE(params.get()); | |
| 520 | |
| 521 extension_id_ = params->id; | |
| 522 | |
| 523 bool show_confirm_dialog = false; | |
| 524 if (params->options.get() && params->options->show_confirm_dialog.get()) | |
| 525 show_confirm_dialog = *params->options->show_confirm_dialog; | |
| 526 | |
| 527 const Extension* extension = service()->GetExtensionById(extension_id_, true); | 517 const Extension* extension = service()->GetExtensionById(extension_id_, true); |
| 528 if (!extension) { | 518 if (!extension) { |
| 529 error_ = ErrorUtils::FormatErrorMessage( | 519 error_ = ErrorUtils::FormatErrorMessage( |
| 530 keys::kNoExtensionError, extension_id_); | 520 keys::kNoExtensionError, extension_id_); |
| 531 return false; | 521 return false; |
| 532 } | 522 } |
| 533 | 523 |
| 534 if (!ExtensionSystem::Get(profile())->management_policy()-> | 524 if (!ExtensionSystem::Get(profile())->management_policy()-> |
| 535 UserMayModifySettings(extension, NULL)) { | 525 UserMayModifySettings(extension, NULL)) { |
| 536 error_ = ErrorUtils::FormatErrorMessage( | 526 error_ = ErrorUtils::FormatErrorMessage( |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 547 } else { | 537 } else { |
| 548 Finish(true); | 538 Finish(true); |
| 549 } | 539 } |
| 550 } else { | 540 } else { |
| 551 Finish(auto_confirm_for_test == PROCEED); | 541 Finish(auto_confirm_for_test == PROCEED); |
| 552 } | 542 } |
| 553 | 543 |
| 554 return true; | 544 return true; |
| 555 } | 545 } |
| 556 | 546 |
| 547 bool ManagementUninstallFunction::RunImpl() { | |
| 548 scoped_ptr<management::Uninstall::Params> params( | |
| 549 management::Uninstall::Params::Create(*args_)); | |
| 550 EXTENSION_FUNCTION_VALIDATE(params.get()); | |
| 551 | |
| 552 extension_id_ = params->id; | |
| 553 | |
| 554 bool show_confirm_dialog = false; | |
| 555 if (params->options.get() && params->options->show_confirm_dialog.get()) | |
| 556 show_confirm_dialog = *params->options->show_confirm_dialog; | |
| 557 | |
| 558 return DoUninstall(show_confirm_dialog); | |
| 559 } | |
| 560 | |
| 557 // static | 561 // static |
| 558 void ManagementUninstallFunction::SetAutoConfirmForTest(bool should_proceed) { | 562 void ManagementUninstallFunction::SetAutoConfirmForTest(bool should_proceed) { |
| 559 auto_confirm_for_test = should_proceed ? PROCEED : ABORT; | 563 auto_confirm_for_test = should_proceed ? PROCEED : ABORT; |
| 560 } | 564 } |
| 561 | 565 |
| 566 void ManagementUninstallFunction::set_extension_id( | |
| 567 const std::string& extension_id) { | |
| 568 extension_id_ = extension_id; | |
| 569 } | |
| 570 | |
| 562 void ManagementUninstallFunction::Finish(bool should_uninstall) { | 571 void ManagementUninstallFunction::Finish(bool should_uninstall) { |
| 563 if (should_uninstall) { | 572 if (should_uninstall) { |
| 564 bool success = service()->UninstallExtension( | 573 bool success = service()->UninstallExtension( |
| 565 extension_id_, | 574 extension_id_, |
| 566 false, /* external uninstall */ | 575 false, /* external uninstall */ |
| 567 NULL); | 576 NULL); |
| 568 | 577 |
| 569 // TODO set error_ if !success | 578 // TODO set error_ if !success |
| 570 SendResponse(success); | 579 SendResponse(success); |
| 571 } else { | 580 } else { |
| 572 error_ = ErrorUtils::FormatErrorMessage( | 581 error_ = ErrorUtils::FormatErrorMessage( |
| 573 keys::kUninstallCanceledError, extension_id_); | 582 keys::kUninstallCanceledError, extension_id_); |
| 574 SendResponse(false); | 583 SendResponse(false); |
| 575 } | 584 } |
| 576 | 585 |
| 577 } | 586 } |
| 578 | 587 |
| 588 ManagementUninstallSelfFunction::ManagementUninstallSelfFunction() { | |
|
koz (OOO until 15th September)
2013/01/29 05:20:26
The definitions of functions for a class should al
calamity
2013/01/29 06:06:16
Done.
| |
| 589 } | |
| 590 | |
| 591 ManagementUninstallSelfFunction::~ManagementUninstallSelfFunction() { | |
| 592 } | |
| 593 | |
| 594 bool ManagementUninstallSelfFunction::RunImpl() { | |
| 595 scoped_ptr<management::UninstallSelf::Params> params( | |
| 596 management::UninstallSelf::Params::Create(*args_)); | |
| 597 EXTENSION_FUNCTION_VALIDATE(params.get()); | |
| 598 | |
| 599 set_extension_id(extension_->id()); | |
| 600 | |
| 601 bool show_confirm_dialog = false; | |
| 602 if (params->options.get() && params->options->show_confirm_dialog.get()) | |
| 603 show_confirm_dialog = *params->options->show_confirm_dialog; | |
| 604 return DoUninstall(show_confirm_dialog); | |
| 605 } | |
| 606 | |
| 579 void ManagementUninstallFunction::ExtensionUninstallAccepted() { | 607 void ManagementUninstallFunction::ExtensionUninstallAccepted() { |
| 580 Finish(true); | 608 Finish(true); |
| 581 Release(); | 609 Release(); |
| 582 } | 610 } |
| 583 | 611 |
| 584 void ManagementUninstallFunction::ExtensionUninstallCanceled() { | 612 void ManagementUninstallFunction::ExtensionUninstallCanceled() { |
| 585 Finish(false); | 613 Finish(false); |
| 586 Release(); | 614 Release(); |
| 587 } | 615 } |
| 588 | 616 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 679 ProfileKeyedAPIFactory<ManagementAPI>* ManagementAPI::GetFactoryInstance() { | 707 ProfileKeyedAPIFactory<ManagementAPI>* ManagementAPI::GetFactoryInstance() { |
| 680 return &g_factory.Get(); | 708 return &g_factory.Get(); |
| 681 } | 709 } |
| 682 | 710 |
| 683 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) { | 711 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) { |
| 684 management_event_router_.reset(new ManagementEventRouter(profile_)); | 712 management_event_router_.reset(new ManagementEventRouter(profile_)); |
| 685 ExtensionSystem::Get(profile_)->event_router()->UnregisterObserver(this); | 713 ExtensionSystem::Get(profile_)->event_router()->UnregisterObserver(this); |
| 686 } | 714 } |
| 687 | 715 |
| 688 } // namespace extensions | 716 } // namespace extensions |
| OLD | NEW |