Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(253)

Side by Side Diff: chrome/common/instant_types.cc

Issue 1180393003: Added characters that look like padlocks to URL unescaping blacklist. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rename NON_DISPLAY_CHARS to SPOOFING_AND_CONTROL_CHARS. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/common/instant_types.h" 5 #include "chrome/common/instant_types.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "net/base/escape.h" 8 #include "net/base/escape.h"
9 9
10 namespace { 10 namespace {
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 90
91 EmbeddedSearchRequestParams::EmbeddedSearchRequestParams() { 91 EmbeddedSearchRequestParams::EmbeddedSearchRequestParams() {
92 } 92 }
93 93
94 EmbeddedSearchRequestParams::EmbeddedSearchRequestParams(const GURL& url) { 94 EmbeddedSearchRequestParams::EmbeddedSearchRequestParams(const GURL& url) {
95 const std::string& url_params(url.ref().empty()? url.query() : url.ref()); 95 const std::string& url_params(url.ref().empty()? url.query() : url.ref());
96 url::Component query, key, value; 96 url::Component query, key, value;
97 query.len = static_cast<int>(url_params.size()); 97 query.len = static_cast<int>(url_params.size());
98 98
99 const net::UnescapeRule::Type unescape_rules = 99 const net::UnescapeRule::Type unescape_rules =
100 net::UnescapeRule::CONTROL_CHARS | net::UnescapeRule::SPACES | 100 net::UnescapeRule::SPOOFING_AND_CONTROL_CHARS |
101 net::UnescapeRule::URL_SPECIAL_CHARS | net::UnescapeRule::NORMAL | 101 net::UnescapeRule::SPACES | net::UnescapeRule::URL_SPECIAL_CHARS |
102 net::UnescapeRule::REPLACE_PLUS_WITH_SPACE; 102 net::UnescapeRule::NORMAL | net::UnescapeRule::REPLACE_PLUS_WITH_SPACE;
103 103
104 while (url::ExtractQueryKeyValue(url_params.c_str(), &query, &key, &value)) { 104 while (url::ExtractQueryKeyValue(url_params.c_str(), &query, &key, &value)) {
105 if (!key.is_nonempty()) 105 if (!key.is_nonempty())
106 continue; 106 continue;
107 107
108 std::string key_param(GetComponent(url_params, key)); 108 std::string key_param(GetComponent(url_params, key));
109 std::string value_param(GetComponent(url_params, value)); 109 std::string value_param(GetComponent(url_params, value));
110 if (key_param == kSearchQueryKey) { 110 if (key_param == kSearchQueryKey) {
111 search_query = base::UTF8ToUTF16(net::UnescapeURLComponent( 111 search_query = base::UTF8ToUTF16(net::UnescapeURLComponent(
112 value_param, unescape_rules)); 112 value_param, unescape_rules));
113 } else if (key_param == kOriginalQueryKey) { 113 } else if (key_param == kOriginalQueryKey) {
114 original_query = base::UTF8ToUTF16(net::UnescapeURLComponent( 114 original_query = base::UTF8ToUTF16(net::UnescapeURLComponent(
115 value_param, unescape_rules)); 115 value_param, unescape_rules));
116 } else if (key_param == kRLZParameterKey) { 116 } else if (key_param == kRLZParameterKey) {
117 rlz_parameter_value = net::UnescapeAndDecodeUTF8URLComponent( 117 rlz_parameter_value = net::UnescapeAndDecodeUTF8URLComponent(
118 value_param, net::UnescapeRule::NORMAL); 118 value_param, net::UnescapeRule::NORMAL);
119 } else if (key_param == kInputEncodingKey) { 119 } else if (key_param == kInputEncodingKey) {
120 input_encoding = net::UnescapeAndDecodeUTF8URLComponent( 120 input_encoding = net::UnescapeAndDecodeUTF8URLComponent(
121 value_param, net::UnescapeRule::NORMAL); 121 value_param, net::UnescapeRule::NORMAL);
122 } else if (key_param == kAssistedQueryStatsKey) { 122 } else if (key_param == kAssistedQueryStatsKey) {
123 assisted_query_stats = net::UnescapeAndDecodeUTF8URLComponent( 123 assisted_query_stats = net::UnescapeAndDecodeUTF8URLComponent(
124 value_param, net::UnescapeRule::NORMAL); 124 value_param, net::UnescapeRule::NORMAL);
125 } 125 }
126 } 126 }
127 } 127 }
128 128
129 EmbeddedSearchRequestParams::~EmbeddedSearchRequestParams() { 129 EmbeddedSearchRequestParams::~EmbeddedSearchRequestParams() {
130 } 130 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698