| OLD | NEW |
| 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 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 default: | 180 default: |
| 181 // All other input types are indexable. | 181 // All other input types are indexable. |
| 182 break; | 182 break; |
| 183 } | 183 } |
| 184 } | 184 } |
| 185 | 185 |
| 186 FormDataList dataList(encoding); | 186 FormDataList dataList(encoding); |
| 187 if (!formElement->appendFormData(dataList, false)) | 187 if (!formElement->appendFormData(dataList, false)) |
| 188 continue; | 188 continue; |
| 189 | 189 |
| 190 const Vector<FormDataList::Item>& itemList = dataList.list(); | 190 const BlobItemList& items = dataList.items(); |
| 191 if (isTextElement && !itemList.isEmpty()) { | 191 if (isTextElement && !items.isEmpty()) { |
| 192 if (textElement) { | 192 if (textElement) { |
| 193 // The auto-complete bar only knows how to fill in one value. | 193 // The auto-complete bar only knows how to fill in one value. |
| 194 // This form has multiple fields; don't treat it as searchable. | 194 // This form has multiple fields; don't treat it as searchable. |
| 195 return false; | 195 return false; |
| 196 } | 196 } |
| 197 textElement = static_cast<HTMLInputElement*>(formElement); | 197 textElement = static_cast<HTMLInputElement*>(formElement); |
| 198 } | 198 } |
| 199 for (Vector<FormDataList::Item>::const_iterator j(itemList.begin()); j !=
itemList.end(); ++j) { | 199 for (BlobItemList::const_iterator j(items.begin()); j != items.end(); ++j)
{ |
| 200 const StringBlobItem* item = (*j)->toStringBlobItem(); |
| 201 if (!item) |
| 202 continue; |
| 200 // Handle ISINDEX / <input name=isindex> specially, but only if it's | 203 // Handle ISINDEX / <input name=isindex> specially, but only if it's |
| 201 // the first entry. | 204 // the first entry. |
| 202 if (!encodedString->isEmpty() || j->data() != "isindex") { | 205 if (!encodedString->isEmpty() || item->cstr() != "isindex") { |
| 203 if (!encodedString->isEmpty()) | 206 if (!encodedString->isEmpty()) |
| 204 encodedString->append('&'); | 207 encodedString->append('&'); |
| 205 FormDataBuilder::encodeStringAsFormData(*encodedString, j->data())
; | 208 FormDataBuilder::encodeStringAsFormData(*encodedString, item->cstr
()); |
| 206 encodedString->append('='); | 209 encodedString->append('='); |
| 207 } | 210 } |
| 208 ++j; | 211 ++j; |
| 209 if (formElement == textElement) | 212 if (formElement == textElement) |
| 210 encodedString->append("{searchTerms}", 13); | 213 encodedString->append("{searchTerms}", 13); |
| 211 else | 214 else |
| 212 FormDataBuilder::encodeStringAsFormData(*encodedString, j->data())
; | 215 FormDataBuilder::encodeStringAsFormData(*encodedString, item->cstr
()); |
| 213 } | 216 } |
| 214 } | 217 } |
| 215 | 218 |
| 216 return textElement; | 219 return textElement; |
| 217 } | 220 } |
| 218 | 221 |
| 219 } // namespace | 222 } // namespace |
| 220 | 223 |
| 221 namespace WebKit { | 224 namespace WebKit { |
| 222 | 225 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 250 | 253 |
| 251 String action(formElement->action()); | 254 String action(formElement->action()); |
| 252 KURL url(frame->loader()->completeURL(action.isNull() ? "" : action)); | 255 KURL url(frame->loader()->completeURL(action.isNull() ? "" : action)); |
| 253 RefPtr<FormData> formData = FormData::create(encodedString); | 256 RefPtr<FormData> formData = FormData::create(encodedString); |
| 254 url.setQuery(formData->flattenToString()); | 257 url.setQuery(formData->flattenToString()); |
| 255 m_url = url; | 258 m_url = url; |
| 256 m_encoding = encoding; | 259 m_encoding = encoding; |
| 257 } | 260 } |
| 258 | 261 |
| 259 } // namespace WebKit | 262 } // namespace WebKit |
| OLD | NEW |