Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1546)

Unified Diff: chrome/browser/chromeos/login/enterprise_enrollment_view.cc

Issue 6821075: Chrome-side lockbox bindings (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Removed some dead code CL RC2 v.2 Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/enterprise_enrollment_view.cc
diff --git a/chrome/browser/chromeos/login/enterprise_enrollment_view.cc b/chrome/browser/chromeos/login/enterprise_enrollment_view.cc
index 44c7de5a9810528baeca7234cbffbbf6c6fab88c..ab13b9a4d8ecdcd234d0a89c690506a9342d9caf 100644
--- a/chrome/browser/chromeos/login/enterprise_enrollment_view.cc
+++ b/chrome/browser/chromeos/login/enterprise_enrollment_view.cc
@@ -6,6 +6,8 @@
#include "base/json/json_writer.h"
#include "base/values.h"
+#include "chrome/browser/chromeos/cros/cros_library.h"
+#include "chrome/browser/chromeos/cros/cryptohome_library.h"
#include "chrome/browser/chromeos/login/enterprise_enrollment_screen.h"
#include "chrome/browser/chromeos/login/helper.h"
#include "chrome/browser/chromeos/login/rounded_rect_painter.h"
@@ -75,6 +77,7 @@ class EnrollmentDomView : public WebPageDomView,
}
private:
+
DISALLOW_COPY_AND_ASSIGN(EnrollmentDomView);
};
@@ -82,7 +85,8 @@ class EnrollmentDomView : public WebPageDomView,
EnterpriseEnrollmentView::EnterpriseEnrollmentView(
EnterpriseEnrollmentController* controller)
- : controller_(controller) {}
+ : controller_(controller),
+ editable_user_(true) {}
EnterpriseEnrollmentView::~EnterpriseEnrollmentView() {}
@@ -108,6 +112,43 @@ void EnterpriseEnrollmentView::Init() {
EnterpriseEnrollmentUI::SetController(enrollment_page_view_->tab_contents(),
this);
enrollment_page_view_->LoadURL(url);
+
+ // Check lockbox data and update the view if needed.
+ chromeos::CryptohomeLibrary* cryptohome =
+ chromeos::CrosLibrary::Get()->GetCryptohomeLibrary();
+ // TODO(pastarmovj): This is being done either on the eula screen or on first
+ // login so maybe we should do it already here? If not remove.
+ if (cryptohome) {
+ if (cryptohome->TpmIsEnabled() && !cryptohome->TpmIsBeingOwned() &&
+ !cryptohome->TpmIsOwned()) {
+ cryptohome->TpmCanAttemptOwnership();
kmixter1 2011/04/15 02:06:51 indentation
pastarmovj 2011/04/15 10:05:01 Done.
+ }
+
+ if (cryptohome->InstallAttributesIsReady() &&
+ !cryptohome->InstallAttributesIsFirstInstall()) {
+ std::string value;
+ if (cryptohome->InstallAttributesGet("enterprise.owned", &value) &&
+ 0 == value.compare("true")) {
+ if (cryptohome->InstallAttributesGet("enterprise.user", &value)) {
+ DictionaryValue args;
+ args.SetString("user", value);
kmixter1 2011/04/15 02:06:51 A comment here may be in order: is this code enfor
pastarmovj 2011/04/15 10:05:01 Done.
+ args.SetBoolean("editable_user", false);
+ editable_user_ = false;
+ UpdateGaiaLogin(args);
+ return;
+ }
+ }
+ LOG(ERROR) << "Enrollment can not proceed because the lockbox has been "
+ << "locked already but does not contain valid data.";
+ // TODO(pastarmovj): Put some new error message here!
+ ShowError(IDS_ENTERPRISE_ENROLLMENT_FATAL_ENROLLMENT_ERROR);
+ }
+ } else {
+ LOG(ERROR) << "Enrollment can not proceed because the lockbox can not "
+ << "be accessed.";
+ // TODO(pastarmovj): Put some new error message here!
+ ShowError(IDS_ENTERPRISE_ENROLLMENT_FATAL_ENROLLMENT_ERROR);
+ }
}
void EnterpriseEnrollmentView::ShowConfirmationScreen() {
@@ -122,7 +163,7 @@ void EnterpriseEnrollmentView::ShowAuthError(
const GoogleServiceAuthError& error) {
DictionaryValue args;
args.SetInteger("error", error.state());
- args.SetBoolean("editable_user", true);
+ args.SetBoolean("editable_user", editable_user_);
args.SetString("captchaUrl", error.captcha().image_url.spec());
UpdateGaiaLogin(args);
}
@@ -172,7 +213,7 @@ void EnterpriseEnrollmentView::UpdateGaiaLogin(const DictionaryValue& args) {
void EnterpriseEnrollmentView::ShowError(int message_id) {
DictionaryValue args;
args.SetInteger("error", GoogleServiceAuthError::NONE);
- args.SetBoolean("editable_user", true);
+ args.SetBoolean("editable_user", editable_user_);
args.SetString("error_message", l10n_util::GetStringUTF16(message_id));
UpdateGaiaLogin(args);
}

Powered by Google App Engine
This is Rietveld 408576698