| Index: chrome/browser/chromeos/login/ownership_service.cc
|
| diff --git a/chrome/browser/chromeos/login/ownership_service.cc b/chrome/browser/chromeos/login/ownership_service.cc
|
| index 184452ff93eab1eacbe5509e9902f9aa9f33865f..6e7fa1e3f34688fd43f8bb1783673016a16d9fd7 100644
|
| --- a/chrome/browser/chromeos/login/ownership_service.cc
|
| +++ b/chrome/browser/chromeos/login/ownership_service.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "chrome/browser/chromeos/login/ownership_service.h"
|
|
|
| +#include "base/command_line.h"
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| #include "base/file_path.h"
|
| @@ -12,6 +13,7 @@
|
| #include "base/synchronization/lock.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/common/chrome_notification_types.h"
|
| +#include "chrome/common/chrome_switches.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/notification_service.h"
|
|
|
| @@ -30,7 +32,9 @@ OwnershipService* OwnershipService::GetSharedInstance() {
|
| OwnershipService::OwnershipService()
|
| : manager_(new OwnerManager),
|
| utils_(OwnerKeyUtils::Create()),
|
| - ownership_status_(OWNERSHIP_UNKNOWN) {
|
| + ownership_status_(OWNERSHIP_UNKNOWN),
|
| + force_ownership_(CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kStubCrosSettings)) {
|
| notification_registrar_.Add(
|
| this,
|
| chrome::NOTIFICATION_OWNER_KEY_FETCH_ATTEMPT_SUCCEEDED,
|
| @@ -61,6 +65,8 @@ bool OwnershipService::IsAlreadyOwned() {
|
| }
|
|
|
| OwnershipService::Status OwnershipService::GetStatus(bool blocking) {
|
| + if (force_ownership_)
|
| + return OWNERSHIP_TAKEN;
|
| Status status = OWNERSHIP_UNKNOWN;
|
| bool is_owned = false;
|
| if (BrowserThread::CurrentlyOn(BrowserThread::UI)) {
|
| @@ -138,6 +144,8 @@ void OwnershipService::Observe(int type,
|
| }
|
|
|
| bool OwnershipService::CurrentUserIsOwner() {
|
| + if (force_ownership_)
|
| + return true;
|
| // If this user has the private key associated with the owner's
|
| // public key, this user is the owner.
|
| return IsAlreadyOwned() && manager_->EnsurePrivateKey();
|
|
|