diff options
author | gspencer@chromium.org <gspencer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-12 18:41:11 +0000 |
---|---|---|
committer | gspencer@chromium.org <gspencer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-12 18:41:11 +0000 |
commit | 413a8e22c2ff986d335cdc9b86f78a6716a52975 (patch) | |
tree | fb5b4d1e986c69c8f9bd18812f40e2d231c4ec6d | |
parent | cddbebf53b7c7bcbc72e6c0e920525768913f823 (diff) | |
download | chromium_src-413a8e22c2ff986d335cdc9b86f78a6716a52975.zip chromium_src-413a8e22c2ff986d335cdc9b86f78a6716a52975.tar.gz chromium_src-413a8e22c2ff986d335cdc9b86f78a6716a52975.tar.bz2 |
This fixes a fairly obscure bug in the plugin selection policy code.
BUG=64384
TEST=Ran new unit test.
Review URL: http://codereview.chromium.org/6713042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81276 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/chromeos/plugin_selection_policy.cc | 8 | ||||
-rw-r--r-- | chrome/browser/chromeos/plugin_selection_policy_unittest.cc | 15 |
2 files changed, 18 insertions, 5 deletions
diff --git a/chrome/browser/chromeos/plugin_selection_policy.cc b/chrome/browser/chromeos/plugin_selection_policy.cc index 128e1cd..f07b6b4 100644 --- a/chrome/browser/chromeos/plugin_selection_policy.cc +++ b/chrome/browser/chromeos/plugin_selection_policy.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -83,7 +83,7 @@ bool PluginSelectionPolicy::InitFromFile(const FilePath& policy_file) { init_from_file_finished_ = true; return false; } - line = line.substr(6); + line = line.substr(5); TrimWhitespaceASCII(line, TRIM_ALL, &line); line = StringToLowerASCII(line); policy.push_back(make_pair(true, line)); @@ -95,13 +95,13 @@ bool PluginSelectionPolicy::InitFromFile(const FilePath& policy_file) { init_from_file_finished_ = true; return false; } - line = line.substr(5); + line = line.substr(4); TrimWhitespaceASCII(line, TRIM_ALL, &line); line = StringToLowerASCII(line); policy.push_back(make_pair(false, line)); } if (line.find("plugin") == 0) { - line = line.substr(7); + line = line.substr(6); TrimWhitespaceASCII(line, TRIM_ALL, &line); if (!policy.empty() && !last_plugin.empty()) policies.insert(make_pair(last_plugin, policy)); diff --git a/chrome/browser/chromeos/plugin_selection_policy_unittest.cc b/chrome/browser/chromeos/plugin_selection_policy_unittest.cc index 3fa8a75..7e7140e 100644 --- a/chrome/browser/chromeos/plugin_selection_policy_unittest.cc +++ b/chrome/browser/chromeos/plugin_selection_policy_unittest.cc @@ -39,6 +39,12 @@ const char kNoRulesPolicy[] = "# This is a policy with no rules\n" const char kEmptyPolicy[] = "# This is an empty policy\n"; +const char kGlobalPolicy[] = "# This is a test with global deny/allow\n" + "plugin test.so\n" + "deny\n" + "plugin test1.so\n" + "allow\n"; + const char kCommentTestPolicy[] = "# This is a policy with inline comments.\n" "plugin test.so# like this\n" "allow foo.com # and this\n" @@ -138,6 +144,13 @@ TEST_F(PluginSelectionPolicyTest, InitFromFile) { { FilePath path; + ASSERT_TRUE(CreatePolicy("global", kGlobalPolicy, &path)); + scoped_refptr<PluginSelectionPolicy> policy = new PluginSelectionPolicy; + EXPECT_TRUE(policy->InitFromFile(path)); + } + + { + FilePath path; ASSERT_TRUE(CreatePolicy("comment", kCommentTestPolicy, &path)); scoped_refptr<PluginSelectionPolicy> policy = new PluginSelectionPolicy; EXPECT_TRUE(policy->InitFromFile(path)); @@ -145,7 +158,7 @@ TEST_F(PluginSelectionPolicyTest, InitFromFile) { { FilePath path; - ASSERT_TRUE(CreatePolicy("comment", kMultiPluginTestPolicy, &path)); + ASSERT_TRUE(CreatePolicy("multi_plugin", kMultiPluginTestPolicy, &path)); scoped_refptr<PluginSelectionPolicy> policy = new PluginSelectionPolicy; EXPECT_TRUE(policy->InitFromFile(path)); } |