| Index: chrome/common/extensions/user_script.cc
|
| diff --git a/chrome/common/extensions/user_script.cc b/chrome/common/extensions/user_script.cc
|
| index a73b65b0641c04b510894be3a0b5877f53fd5c54..6439338f07d9f853fec7b19ca7026e9aec6dc5af 100644
|
| --- a/chrome/common/extensions/user_script.cc
|
| +++ b/chrome/common/extensions/user_script.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.
|
|
|
| @@ -61,8 +61,7 @@ UserScript::File::~File() {}
|
|
|
| UserScript::UserScript()
|
| : run_location_(DOCUMENT_IDLE), emulate_greasemonkey_(false),
|
| - match_all_frames_(false), incognito_enabled_(false),
|
| - allow_file_access_(false) {
|
| + match_all_frames_(false), incognito_enabled_(false) {
|
| }
|
|
|
| UserScript::~UserScript() {
|
| @@ -72,8 +71,6 @@ void UserScript::add_url_pattern(const URLPattern& pattern) {
|
| url_patterns_.push_back(pattern);
|
| }
|
|
|
| -void UserScript::clear_url_patterns() { url_patterns_.clear(); }
|
| -
|
| bool UserScript::MatchesUrl(const GURL& url) const {
|
| if (!url_patterns_.empty()) {
|
| if (!UrlMatchesPatterns(&url_patterns_, url))
|
| @@ -113,7 +110,6 @@ void UserScript::Pickle(::Pickle* pickle) const {
|
| pickle->WriteBool(emulate_greasemonkey());
|
| pickle->WriteBool(match_all_frames());
|
| pickle->WriteBool(is_incognito_enabled());
|
| - pickle->WriteBool(allow_file_access());
|
|
|
| // Write globs.
|
| std::vector<std::string>::const_iterator glob;
|
| @@ -160,7 +156,6 @@ void UserScript::Unpickle(const ::Pickle& pickle, void** iter) {
|
| CHECK(pickle.ReadBool(iter, &emulate_greasemonkey_));
|
| CHECK(pickle.ReadBool(iter, &match_all_frames_));
|
| CHECK(pickle.ReadBool(iter, &incognito_enabled_));
|
| - CHECK(pickle.ReadBool(iter, &allow_file_access_));
|
|
|
| // Read globs.
|
| size_t num_globs = 0;
|
| @@ -191,8 +186,18 @@ void UserScript::Unpickle(const ::Pickle& pickle, void** iter) {
|
| std::string pattern_str;
|
| URLPattern pattern(valid_schemes);
|
| CHECK(pickle.ReadString(iter, &pattern_str));
|
| +
|
| + // We remove the file scheme if it's not actually allowed (see Extension::
|
| + // LoadUserScriptHelper), but we need it temporarily while loading the
|
| + // pattern so that it's valid.
|
| + bool had_file_scheme = (valid_schemes & URLPattern::SCHEME_FILE) != 0;
|
| + if (!had_file_scheme)
|
| + pattern.set_valid_schemes(valid_schemes | URLPattern::SCHEME_FILE);
|
| CHECK(URLPattern::PARSE_SUCCESS ==
|
| pattern.Parse(pattern_str, URLPattern::PARSE_LENIENT));
|
| + if (!had_file_scheme)
|
| + pattern.set_valid_schemes(valid_schemes);
|
| +
|
| url_patterns_.push_back(pattern);
|
| }
|
|
|
|
|