summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy
diff options
context:
space:
mode:
authorjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-23 19:07:04 +0000
committerjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-23 19:07:04 +0000
commitb1aefb90cc07d3ff7d2d23db30301c9ba89510ae (patch)
treeed2166955792505c3be5969b765940eb2513845c /chrome/browser/policy
parent554c6f12505c0cfe881f64cefc6c6e8a9950168a (diff)
downloadchromium_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.cc15
-rw-r--r--chrome/browser/policy/policy_status_info.cc52
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