Index: chrome/browser/chromeos/policy/consumer_enrollment_handler.cc |
diff --git a/chrome/browser/chromeos/policy/consumer_enrollment_handler.cc b/chrome/browser/chromeos/policy/consumer_enrollment_handler.cc |
index 594123c4ea18fbbf16ff18fe2e01334eb067120e..3199d4d2a4e52c9fea02476b01544a8272bab239 100644 |
--- a/chrome/browser/chromeos/policy/consumer_enrollment_handler.cc |
+++ b/chrome/browser/chromeos/policy/consumer_enrollment_handler.cc |
@@ -5,93 +5,25 @@ |
#include "chrome/browser/chromeos/policy/consumer_enrollment_handler.h" |
#include "base/bind.h" |
-#include "base/callback.h" |
#include "base/location.h" |
#include "base/logging.h" |
#include "base/message_loop/message_loop_proxy.h" |
-#include "base/strings/utf_string_conversions.h" |
#include "base/time/time.h" |
bartfab (slow)
2014/11/27 14:09:09
Nit: No longer used.
davidyu
2014/11/28 02:45:25
This is used by the parameter of OnGetTokenSuccess
bartfab (slow)
2014/11/28 14:52:14
You never dereference that type though. But sure,
davidyu
2014/11/30 04:16:04
Ok. I'll fix it in another CL.
|
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/browser_process_platform_part.h" |
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
#include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h" |
#include "chrome/browser/chromeos/policy/enrollment_status_chromeos.h" |
-#include "chrome/browser/notifications/notification.h" |
-#include "chrome/browser/notifications/notification_delegate.h" |
-#include "chrome/browser/notifications/notification_ui_manager.h" |
-#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
#include "chrome/browser/signin/signin_manager_factory.h" |
-#include "chrome/browser/ui/browser_navigator.h" |
-#include "chrome/common/url_constants.h" |
#include "components/signin/core/browser/profile_oauth2_token_service.h" |
#include "components/signin/core/browser/signin_manager_base.h" |
#include "google_apis/gaia/gaia_constants.h" |
#include "google_apis/gaia/google_service_auth_error.h" |
-#include "grit/generated_resources.h" |
-#include "grit/theme_resources.h" |
#include "policy/proto/device_management_backend.pb.h" |
-#include "third_party/WebKit/public/web/WebTextDirection.h" |
-#include "ui/base/l10n/l10n_util.h" |
-#include "ui/base/page_transition_types.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/base/window_open_disposition.h" |
-#include "ui/message_center/notification.h" |
-#include "ui/message_center/notification_types.h" |
-#include "ui/message_center/notifier_settings.h" |
-#include "url/gurl.h" |
namespace em = enterprise_management; |
-namespace { |
- |
-// Desktop notification constants. |
-const char kEnrollmentNotificationId[] = "consumer_management.enroll"; |
-const char kEnrollmentNotificationUrl[] = "chrome://consumer-management/enroll"; |
- |
-// The path to the consumer management enrollment/unenrollment confirmation |
-// overlay, relative to the settings page URL. |
-const char kConsumerManagementOverlay[] = "consumer-management-overlay"; |
- |
-class DesktopNotificationDelegate : public NotificationDelegate { |
- public: |
- // |button_click_callback| is called when the button in the notification is |
- // clicked. |
- DesktopNotificationDelegate(const std::string& id, |
- const base::Closure& button_click_callback); |
- |
- // NotificationDelegate: |
- virtual std::string id() const override; |
- virtual void ButtonClick(int button_index) override; |
- |
- private: |
- virtual ~DesktopNotificationDelegate(); |
- |
- std::string id_; |
- base::Closure button_click_callback_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DesktopNotificationDelegate); |
-}; |
- |
-DesktopNotificationDelegate::DesktopNotificationDelegate( |
- const std::string& id, |
- const base::Closure& button_click_callback) |
- : id_(id), button_click_callback_(button_click_callback) { |
-} |
- |
-DesktopNotificationDelegate::~DesktopNotificationDelegate() { |
-} |
- |
-std::string DesktopNotificationDelegate::id() const { |
- return id_; |
-} |
- |
-void DesktopNotificationDelegate::ButtonClick(int button_index) { |
- button_click_callback_.Run(); |
-} |
- |
-} // namespace |
- |
namespace policy { |
ConsumerEnrollmentHandler::ConsumerEnrollmentHandler( |
@@ -105,7 +37,7 @@ ConsumerEnrollmentHandler::ConsumerEnrollmentHandler( |
weak_ptr_factory_(this) { |
gaia_account_id_ = SigninManagerFactory::GetForProfile(profile)-> |
GetAuthenticatedAccountId(); |
- Start(); |
+ ContinueEnrollmentProcess(); |
} |
ConsumerEnrollmentHandler::~ConsumerEnrollmentHandler() { |
@@ -147,33 +79,6 @@ void ConsumerEnrollmentHandler::OnGetTokenFailure( |
EndEnrollment(ConsumerManagementService::ENROLLMENT_STAGE_GET_TOKEN_FAILED); |
} |
-void ConsumerEnrollmentHandler::Start() { |
- const ConsumerManagementService::EnrollmentStage stage = |
- consumer_management_service_->GetEnrollmentStage(); |
- switch (stage) { |
- case ConsumerManagementService::ENROLLMENT_STAGE_NONE: |
- // Do nothing. |
- return; |
- |
- case ConsumerManagementService::ENROLLMENT_STAGE_OWNER_STORED: |
- ContinueEnrollmentProcess(); |
- return; |
- |
- case ConsumerManagementService::ENROLLMENT_STAGE_SUCCESS: |
- case ConsumerManagementService::ENROLLMENT_STAGE_CANCELED: |
- case ConsumerManagementService::ENROLLMENT_STAGE_BOOT_LOCKBOX_FAILED: |
- case ConsumerManagementService::ENROLLMENT_STAGE_DM_SERVER_FAILED: |
- case ConsumerManagementService::ENROLLMENT_STAGE_GET_TOKEN_FAILED: |
- ShowDesktopNotificationAndResetStage(stage); |
- return; |
- |
- case ConsumerManagementService::ENROLLMENT_STAGE_REQUESTED: |
- case ConsumerManagementService::ENROLLMENT_STAGE_LAST: |
- NOTREACHED() << "Unexpected enrollment stage " << stage; |
- return; |
- } |
-} |
- |
void ConsumerEnrollmentHandler::ContinueEnrollmentProcess() { |
// First, we need to ensure that the refresh token is available. |
ProfileOAuth2TokenService* token_service = |
@@ -235,76 +140,6 @@ void ConsumerEnrollmentHandler::OnEnrollmentCompleted(EnrollmentStatus status) { |
void ConsumerEnrollmentHandler::EndEnrollment( |
ConsumerManagementService::EnrollmentStage stage) { |
consumer_management_service_->SetEnrollmentStage(stage); |
- ShowDesktopNotificationAndResetStage(stage); |
-} |
- |
-void ConsumerEnrollmentHandler::ShowDesktopNotificationAndResetStage( |
- ConsumerManagementService::EnrollmentStage stage) { |
- base::string16 title; |
- base::string16 body; |
- base::string16 button_label; |
- base::Closure button_click_callback; |
- |
- if (stage == ConsumerManagementService::ENROLLMENT_STAGE_SUCCESS) { |
- title = l10n_util::GetStringUTF16( |
- IDS_CONSUMER_MANAGEMENT_ENROLLMENT_NOTIFICATION_TITLE); |
- body = l10n_util::GetStringUTF16( |
- IDS_CONSUMER_MANAGEMENT_ENROLLMENT_NOTIFICATION_BODY); |
- button_label = l10n_util::GetStringUTF16( |
- IDS_CONSUMER_MANAGEMENT_NOTIFICATION_MODIFY_SETTINGS_BUTTON); |
- button_click_callback = base::Bind( |
- &ConsumerEnrollmentHandler::OpenSettingsPage, |
- weak_ptr_factory_.GetWeakPtr()); |
- } else { |
- title = l10n_util::GetStringUTF16( |
- IDS_CONSUMER_MANAGEMENT_ENROLLMENT_FAILURE_NOTIFICATION_TITLE); |
- body = l10n_util::GetStringUTF16( |
- IDS_CONSUMER_MANAGEMENT_ENROLLMENT_FAILURE_NOTIFICATION_BODY); |
- button_label = l10n_util::GetStringUTF16( |
- IDS_CONSUMER_MANAGEMENT_NOTIFICATION_TRY_AGAIN_BUTTON); |
- button_click_callback = base::Bind( |
- &ConsumerEnrollmentHandler::TryEnrollmentAgain, |
- weak_ptr_factory_.GetWeakPtr()); |
- } |
- |
- message_center::RichNotificationData optional_field; |
- optional_field.buttons.push_back(message_center::ButtonInfo(button_label)); |
- Notification notification( |
- message_center::NOTIFICATION_TYPE_SIMPLE, |
- GURL(kEnrollmentNotificationUrl), |
- title, |
- body, |
- ui::ResourceBundle::GetSharedInstance().GetImageNamed( |
- IDR_CONSUMER_MANAGEMENT_NOTIFICATION_ICON), |
- blink::WebTextDirectionDefault, |
- message_center::NotifierId(message_center::NotifierId::SYSTEM_COMPONENT, |
- kEnrollmentNotificationId), |
- base::string16(), // display_source |
- base::UTF8ToUTF16(kEnrollmentNotificationId), |
- optional_field, |
- new DesktopNotificationDelegate(kEnrollmentNotificationId, |
- button_click_callback)); |
- notification.SetSystemPriority(); |
- g_browser_process->notification_ui_manager()->Add(notification, profile_); |
- |
- consumer_management_service_->SetEnrollmentStage( |
- ConsumerManagementService::ENROLLMENT_STAGE_NONE); |
-} |
- |
-void ConsumerEnrollmentHandler::OpenSettingsPage() const { |
- const GURL url(chrome::kChromeUISettingsURL); |
- chrome::NavigateParams params(profile_, url, ui::PAGE_TRANSITION_LINK); |
- params.disposition = NEW_FOREGROUND_TAB; |
- chrome::Navigate(¶ms); |
-} |
- |
-void ConsumerEnrollmentHandler::TryEnrollmentAgain() const { |
- const GURL base_url(chrome::kChromeUISettingsURL); |
- const GURL url = base_url.Resolve(kConsumerManagementOverlay); |
- |
- chrome::NavigateParams params(profile_, url, ui::PAGE_TRANSITION_LINK); |
- params.disposition = NEW_FOREGROUND_TAB; |
- chrome::Navigate(¶ms); |
} |
} // namespace policy |