diff options
author | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-23 19:07:04 +0000 |
---|---|---|
committer | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-23 19:07:04 +0000 |
commit | b1aefb90cc07d3ff7d2d23db30301c9ba89510ae (patch) | |
tree | ed2166955792505c3be5969b765940eb2513845c /chrome/browser/policy | |
parent | 554c6f12505c0cfe881f64cefc6c6e8a9950168a (diff) | |
download | chromium_src-b1aefb90cc07d3ff7d2d23db30301c9ba89510ae.zip chromium_src-b1aefb90cc07d3ff7d2d23db30301c9ba89510ae.tar.gz chromium_src-b1aefb90cc07d3ff7d2d23db30301c9ba89510ae.tar.bz2 |
Show the "Applies To" column in about:policy.
Also don't show invalid values for unset policies.
BUG=102114
TEST=about:policy shows if policies apply to users or the machine, and don't show invalid data for policies that are not set.
Review URL: http://codereview.chromium.org/9256001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118709 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy')
-rw-r--r-- | chrome/browser/policy/configuration_policy_reader_unittest.cc | 15 | ||||
-rw-r--r-- | chrome/browser/policy/policy_status_info.cc | 52 |
2 files changed, 40 insertions, 27 deletions
diff --git a/chrome/browser/policy/configuration_policy_reader_unittest.cc b/chrome/browser/policy/configuration_policy_reader_unittest.cc index f3aa8bda..e57b6c6 100644 --- a/chrome/browser/policy/configuration_policy_reader_unittest.cc +++ b/chrome/browser/policy/configuration_policy_reader_unittest.cc @@ -165,6 +165,7 @@ class PolicyStatusTest : public testing::Test { recommended_platform_, recommended_cloud_)); status_ok_ = ASCIIToUTF16("OK"); + status_not_set_ = ASCIIToUTF16("Not set."); policy_list_ = GetChromePolicyDefinitionList(); policy_list_size_ = @@ -240,6 +241,7 @@ class PolicyStatusTest : public testing::Test { const PolicyDefinitionList* policy_list_; size_t policy_list_size_; string16 status_ok_; + string16 status_not_set_; }; TEST_F(PolicyStatusTest, GetPolicyStatusListNoSetPolicies) { @@ -260,16 +262,11 @@ TEST_F(PolicyStatusTest, GetPolicyStatusListSetPolicies) { EXPECT_EQ(policy_list_size_, status_list->GetSize()); scoped_ptr<DictionaryValue> undefined_dict(new DictionaryValue()); - undefined_dict->SetString(PolicyStatusInfo::kLevelDictPath, - PolicyStatusInfo::GetPolicyLevelString( - POLICY_LEVEL_MANDATORY)); - undefined_dict->SetString(PolicyStatusInfo::kScopeDictPath, - PolicyStatusInfo::GetPolicyScopeString( - POLICY_SCOPE_USER)); - undefined_dict->Set(PolicyStatusInfo::kValueDictPath, - Value::CreateNullValue()); + undefined_dict->SetString(PolicyStatusInfo::kLevelDictPath, ""); + undefined_dict->SetString(PolicyStatusInfo::kScopeDictPath, ""); + undefined_dict->SetString(PolicyStatusInfo::kValueDictPath, ""); undefined_dict->SetBoolean(PolicyStatusInfo::kSetDictPath, false); - undefined_dict->SetString(PolicyStatusInfo::kStatusDictPath, string16()); + undefined_dict->SetString(PolicyStatusInfo::kStatusDictPath, status_not_set_); scoped_ptr<DictionaryValue> defined_dict(new DictionaryValue()); defined_dict->SetString(PolicyStatusInfo::kScopeDictPath, diff --git a/chrome/browser/policy/policy_status_info.cc b/chrome/browser/policy/policy_status_info.cc index 68616b1..1e0d3d3 100644 --- a/chrome/browser/policy/policy_status_info.cc +++ b/chrome/browser/policy/policy_status_info.cc @@ -4,8 +4,6 @@ #include "chrome/browser/policy/policy_status_info.h" -#include <string> - #include "base/logging.h" #include "base/utf_string_conversions.h" #include "grit/generated_resources.h" @@ -46,17 +44,25 @@ PolicyStatusInfo::~PolicyStatusInfo() { } DictionaryValue* PolicyStatusInfo::GetDictionaryValue() const { - string16 level_string = GetPolicyLevelString(level); - string16 scope_string = GetPolicyScopeString(scope); - string16 status_message = - status == ENFORCED ? l10n_util::GetStringUTF16(IDS_OK) : error_message; DictionaryValue* result = new DictionaryValue(); - result->SetString(std::string(kNameDictPath), name); - result->SetString(std::string(kLevelDictPath), level_string); - result->SetString(std::string(kScopeDictPath), scope_string); - result->Set(std::string(kValueDictPath), value->DeepCopy()); - result->SetBoolean(std::string(kSetDictPath), status != STATUS_UNDEFINED); - result->SetString(std::string(kStatusDictPath), status_message); + result->SetString(kNameDictPath, name); + result->SetBoolean(kSetDictPath, status != STATUS_UNDEFINED); + + if (status == STATUS_UNDEFINED) { + result->SetString(kLevelDictPath, ""); + result->SetString(kScopeDictPath, ""); + result->SetString(kValueDictPath, ""); + result->SetString(kStatusDictPath, + l10n_util::GetStringUTF16(IDS_POLICY_NOT_SET)); + } else { + result->SetString(kLevelDictPath, GetPolicyLevelString(level)); + result->SetString(kScopeDictPath, GetPolicyScopeString(scope)); + result->Set(kValueDictPath, value->DeepCopy()); + if (status == ENFORCED) + result->SetString(kStatusDictPath, l10n_util::GetStringUTF16(IDS_OK)); + else + result->SetString(kStatusDictPath, error_message); + } return result; } @@ -72,16 +78,26 @@ bool PolicyStatusInfo::Equals(const PolicyStatusInfo* other_info) const { // static string16 PolicyStatusInfo::GetPolicyScopeString(PolicyScope scope) { - static const char* strings[] = { "User", "Machine" }; - DCHECK(static_cast<size_t>(scope) < arraysize(strings)); - return ASCIIToUTF16(strings[scope]); + switch (scope) { + case POLICY_SCOPE_USER: + return l10n_util::GetStringUTF16(IDS_POLICY_SCOPE_USER); + case POLICY_SCOPE_MACHINE: + return l10n_util::GetStringUTF16(IDS_POLICY_SCOPE_MACHINE); + } + NOTREACHED(); + return string16(); } // static string16 PolicyStatusInfo::GetPolicyLevelString(PolicyLevel level) { - static const char* strings[] = { "Recommended", "Mandatory" }; - DCHECK(static_cast<size_t>(level) < arraysize(strings)); - return ASCIIToUTF16(strings[level]); + switch (level) { + case POLICY_LEVEL_RECOMMENDED: + return l10n_util::GetStringUTF16(IDS_POLICY_LEVEL_RECOMMENDED); + case POLICY_LEVEL_MANDATORY: + return l10n_util::GetStringUTF16(IDS_POLICY_LEVEL_MANDATORY); + } + NOTREACHED(); + return string16(); } } // namespace policy |