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

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

Issue 7867044: PART1: Initiated the SignedSettings refactoring. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ckleaned up values.cc and profile_impl.cc that has creeped from the rebase back in. Created 9 years, 2 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/user_controller.cc
diff --git a/chrome/browser/chromeos/login/user_controller.cc b/chrome/browser/chromeos/login/user_controller.cc
index 069cdc98396eb3f03d1fe9a15478750a6fed19e0..75ad29f8c48104d60f3e689b057ac862b3fe0fd7 100644
--- a/chrome/browser/chromeos/login/user_controller.cc
+++ b/chrome/browser/chromeos/login/user_controller.cc
@@ -8,6 +8,7 @@
#include <vector>
#include "base/utf_string_conversions.h"
+#include "chrome/browser/chromeos/cros_settings.h"
#include "chrome/browser/chromeos/login/existing_user_view.h"
#include "chrome/browser/chromeos/login/guest_user_view.h"
#include "chrome/browser/chromeos/login/helper.h"
@@ -16,7 +17,6 @@
#include "chrome/browser/chromeos/login/username_view.h"
#include "chrome/browser/chromeos/login/wizard_accessibility_helper.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
-#include "chrome/browser/chromeos/user_cros_settings_provider.h"
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
#include "third_party/cros_system_api/window_manager/chromeos_wm_ipc_enums.h"
@@ -55,6 +55,16 @@ void CloseWindow(views::Widget* window) {
window->CloseNow();
}
+// Helper function to initialize the |is_owner_| const field of UserController.
+bool VerifyOwnership(const std::string& email) {
+ // Empty owner string means that owner hasn't been cached yet, not that owner
+ // has an empty email.
+ // TODO(pastarmovj): Consider switching to TrustedGet here.
+ std::string owner;
+ return CrosSettings::Get()->GetString(kDeviceOwner, &owner) &&
+ (email == owner);
+}
+
} // namespace
// WidgetDelegate implementation for the Widget used for the controls.
@@ -125,9 +135,7 @@ UserController::UserController(Delegate* delegate,
is_user_selected_(false),
is_new_user_(false),
is_guest_(false),
- // Empty 'cached_owner()' means that owner hasn't been cached yet, not
- // that owner has an empty email.
- is_owner_(user.email() == UserCrosSettingsProvider::cached_owner()),
+ is_owner_(VerifyOwnership(user.email())),
show_name_tooltip_(false),
user_(user),
delegate_(delegate),

Powered by Google App Engine
This is Rietveld 408576698