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

Side by Side Diff: Source/web/WebSearchableFormData.cpp

Issue 20300002: Fix trailing whitespace in .cpp, .h, and .idl files (ex. Source/core) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « Source/web/WebScopedMicrotaskSuppression.cpp ('k') | Source/web/WebTestingSupport.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 if (formElement->hasTagName(HTMLNames::inputTag)) { 142 if (formElement->hasTagName(HTMLNames::inputTag)) {
143 const HTMLInputElement* inputElement = toHTMLInputElement(formElement); 143 const HTMLInputElement* inputElement = toHTMLInputElement(formElement);
144 if (inputElement->isCheckbox() || inputElement->isRadioButton()) 144 if (inputElement->isCheckbox() || inputElement->isRadioButton())
145 return inputElement->checked() == inputElement->hasAttribute(checked Attr); 145 return inputElement->checked() == inputElement->hasAttribute(checked Attr);
146 } else if (formElement->hasTagName(HTMLNames::selectTag)) { 146 } else if (formElement->hasTagName(HTMLNames::selectTag)) {
147 return IsSelectInDefaultState(toHTMLSelectElement(formElement)); 147 return IsSelectInDefaultState(toHTMLSelectElement(formElement));
148 } 148 }
149 return true; 149 return true;
150 } 150 }
151 151
152 // Look for a suitable search text field in a given HTMLFormElement 152 // Look for a suitable search text field in a given HTMLFormElement
153 // Return nothing if one of those items are found: 153 // Return nothing if one of those items are found:
154 // - A text area field 154 // - A text area field
155 // - A file upload field 155 // - A file upload field
156 // - A Password field 156 // - A Password field
157 // - More than one text field 157 // - More than one text field
158 HTMLInputElement* findSuitableSearchInputElement(const HTMLFormElement* form) 158 HTMLInputElement* findSuitableSearchInputElement(const HTMLFormElement* form)
159 { 159 {
160 HTMLInputElement* textElement = 0; 160 HTMLInputElement* textElement = 0;
161 // FIXME: Consider refactoring this code so that we don't call form->associa tedElements() twice. 161 // FIXME: Consider refactoring this code so that we don't call form->associa tedElements() twice.
162 for (Vector<FormAssociatedElement*>::const_iterator i(form->associatedElemen ts().begin()); i != form->associatedElements().end(); ++i) { 162 for (Vector<FormAssociatedElement*>::const_iterator i(form->associatedElemen ts().begin()); i != form->associatedElements().end(); ++i) {
163 if (!(*i)->isFormControlElement()) 163 if (!(*i)->isFormControlElement())
164 continue; 164 continue;
165 165
(...skipping 19 matching lines...) Expand all
185 return 0; 185 return 0;
186 } 186 }
187 textElement = toHTMLInputElement(control); 187 textElement = toHTMLInputElement(control);
188 } 188 }
189 } 189 }
190 } 190 }
191 return textElement; 191 return textElement;
192 } 192 }
193 193
194 // Build a search string based on a given HTMLFormElement and HTMLInputElement 194 // Build a search string based on a given HTMLFormElement and HTMLInputElement
195 // 195 //
196 // Search string output example from www.google.com: 196 // Search string output example from www.google.com:
197 // "hl=en&source=hp&biw=1085&bih=854&q={searchTerms}&btnG=Google+Search&aq=f&aqi =&aql=&oq=" 197 // "hl=en&source=hp&biw=1085&bih=854&q={searchTerms}&btnG=Google+Search&aq=f&aqi =&aql=&oq="
198 // 198 //
199 // Return false if the provided HTMLInputElement is not found in the form 199 // Return false if the provided HTMLInputElement is not found in the form
200 bool buildSearchString(const HTMLFormElement* form, Vector<char>* encodedString, WTF::TextEncoding* encoding, const HTMLInputElement* textElement) 200 bool buildSearchString(const HTMLFormElement* form, Vector<char>* encodedString, WTF::TextEncoding* encoding, const HTMLInputElement* textElement)
201 { 201 {
202 bool isElementFound = false; 202 bool isElementFound = false;
203 203
204 // FIXME: Consider refactoring this code so that we don't call form->associa tedElements() twice. 204 // FIXME: Consider refactoring this code so that we don't call form->associa tedElements() twice.
205 for (Vector<FormAssociatedElement*>::const_iterator i(form->associatedElemen ts().begin()); i != form->associatedElements().end(); ++i) { 205 for (Vector<FormAssociatedElement*>::const_iterator i(form->associatedElemen ts().begin()); i != form->associatedElements().end(); ++i) {
206 if (!(*i)->isFormControlElement()) 206 if (!(*i)->isFormControlElement())
207 continue; 207 continue;
208 208
209 HTMLFormControlElement* control = toHTMLFormControlElement(*i); 209 HTMLFormControlElement* control = toHTMLFormControlElement(*i);
210 210
211 if (control->isDisabledFormControl() || control->name().isNull()) 211 if (control->isDisabledFormControl() || control->name().isNull())
212 continue; 212 continue;
(...skipping 26 matching lines...) Expand all
239 } // namespace 239 } // namespace
240 240
241 namespace WebKit { 241 namespace WebKit {
242 242
243 WebSearchableFormData::WebSearchableFormData(const WebFormElement& form, const W ebInputElement& selectedInputElement) 243 WebSearchableFormData::WebSearchableFormData(const WebFormElement& form, const W ebInputElement& selectedInputElement)
244 { 244 {
245 RefPtr<HTMLFormElement> formElement = form.operator PassRefPtr<HTMLFormEleme nt>(); 245 RefPtr<HTMLFormElement> formElement = form.operator PassRefPtr<HTMLFormEleme nt>();
246 HTMLInputElement* inputElement = selectedInputElement.operator PassRefPtr<HT MLInputElement>().get(); 246 HTMLInputElement* inputElement = selectedInputElement.operator PassRefPtr<HT MLInputElement>().get();
247 247
248 // Only consider forms that GET data. 248 // Only consider forms that GET data.
249 // Allow HTTPS only when an input element is provided. 249 // Allow HTTPS only when an input element is provided.
250 if (equalIgnoringCase(formElement->getAttribute(methodAttr), "post") 250 if (equalIgnoringCase(formElement->getAttribute(methodAttr), "post")
251 || (!IsHTTPFormSubmit(formElement.get()) && !inputElement)) 251 || (!IsHTTPFormSubmit(formElement.get()) && !inputElement))
252 return; 252 return;
253 253
254 Vector<char> encodedString; 254 Vector<char> encodedString;
255 WTF::TextEncoding encoding; 255 WTF::TextEncoding encoding;
256 256
257 GetFormEncoding(formElement.get(), &encoding); 257 GetFormEncoding(formElement.get(), &encoding);
258 if (!encoding.isValid()) { 258 if (!encoding.isValid()) {
259 // Need a valid encoding to encode the form elements. 259 // Need a valid encoding to encode the form elements.
260 // If the encoding isn't found webkit ends up replacing the params with 260 // If the encoding isn't found webkit ends up replacing the params with
261 // empty strings. So, we don't try to do anything here. 261 // empty strings. So, we don't try to do anything here.
262 return; 262 return;
263 } 263 }
264 264
265 // Look for a suitable search text field in the form when a 265 // Look for a suitable search text field in the form when a
266 // selectedInputElement is not provided. 266 // selectedInputElement is not provided.
267 if (!inputElement) { 267 if (!inputElement) {
268 inputElement = findSuitableSearchInputElement(formElement.get()); 268 inputElement = findSuitableSearchInputElement(formElement.get());
269 269
270 // Return if no suitable text element has been found. 270 // Return if no suitable text element has been found.
271 if (!inputElement) 271 if (!inputElement)
272 return; 272 return;
273 } 273 }
274 274
275 HTMLFormControlElement* firstSubmitButton = GetButtonToActivate(formElement. get()); 275 HTMLFormControlElement* firstSubmitButton = GetButtonToActivate(formElement. get());
276 if (firstSubmitButton) { 276 if (firstSubmitButton) {
277 // The form does not have an active submit button, make the first button 277 // The form does not have an active submit button, make the first button
278 // active. We need to do this, otherwise the URL will not contain the 278 // active. We need to do this, otherwise the URL will not contain the
279 // name of the submit button. 279 // name of the submit button.
280 firstSubmitButton->setActivatedSubmit(true); 280 firstSubmitButton->setActivatedSubmit(true);
281 } 281 }
282 282
283 bool isValidSearchString = buildSearchString(formElement.get(), &encodedStri ng, &encoding, inputElement); 283 bool isValidSearchString = buildSearchString(formElement.get(), &encodedStri ng, &encoding, inputElement);
284 284
285 if (firstSubmitButton) 285 if (firstSubmitButton)
286 firstSubmitButton->setActivatedSubmit(false); 286 firstSubmitButton->setActivatedSubmit(false);
287 287
288 // Return if the search string is not valid. 288 // Return if the search string is not valid.
289 if (!isValidSearchString) 289 if (!isValidSearchString)
290 return; 290 return;
291 291
292 String action(formElement->action()); 292 String action(formElement->action());
293 KURL url(formElement->document()->completeURL(action.isNull() ? "" : action) ); 293 KURL url(formElement->document()->completeURL(action.isNull() ? "" : action) );
294 RefPtr<FormData> formData = FormData::create(encodedString); 294 RefPtr<FormData> formData = FormData::create(encodedString);
295 url.setQuery(formData->flattenToString()); 295 url.setQuery(formData->flattenToString());
296 m_url = url; 296 m_url = url;
297 m_encoding = String(encoding.name()); 297 m_encoding = String(encoding.name());
298 } 298 }
299 299
300 } // namespace WebKit 300 } // namespace WebKit
OLDNEW
« no previous file with comments | « Source/web/WebScopedMicrotaskSuppression.cpp ('k') | Source/web/WebTestingSupport.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698