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 |