| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "core/dom/URLSearchParams.h" | 5 #include "core/dom/URLSearchParams.h" |
| 6 | 6 |
| 7 #include "platform/network/FormDataEncoder.h" | 7 #include "platform/network/FormDataEncoder.h" |
| 8 #include "platform/weborigin/KURL.h" | 8 #include "platform/weborigin/KURL.h" |
| 9 #include "wtf/text/StringBuilder.h" | 9 #include "wtf/text/StringBuilder.h" |
| 10 #include "wtf/text/TextEncoding.h" | 10 #include "wtf/text/TextEncoding.h" |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 | 35 |
| 36 } // namespace | 36 } // namespace |
| 37 | 37 |
| 38 URLSearchParams* URLSearchParams::create(const URLSearchParamsInit& init) | 38 URLSearchParams* URLSearchParams::create(const URLSearchParamsInit& init) |
| 39 { | 39 { |
| 40 if (init.isUSVString()) | 40 if (init.isUSVString()) |
| 41 return new URLSearchParams(init.getAsUSVString()); | 41 return new URLSearchParams(init.getAsUSVString()); |
| 42 if (init.isURLSearchParams()) | 42 if (init.isURLSearchParams()) |
| 43 return new URLSearchParams(init.getAsURLSearchParams()); | 43 return new URLSearchParams(init.getAsURLSearchParams()); |
| 44 | 44 |
| 45 ASSERT(init.isNull()); | 45 DCHECK(init.isNull()); |
| 46 return new URLSearchParams(String()); | 46 return new URLSearchParams(String()); |
| 47 } | 47 } |
| 48 | 48 |
| 49 URLSearchParams::URLSearchParams(const String& queryString) | 49 URLSearchParams::URLSearchParams(const String& queryString) |
| 50 { | 50 { |
| 51 if (!queryString.isEmpty()) | 51 if (!queryString.isEmpty()) |
| 52 setInput(queryString); | 52 setInput(queryString); |
| 53 } | 53 } |
| 54 | 54 |
| 55 URLSearchParams::URLSearchParams(URLSearchParams* searchParams) | 55 URLSearchParams::URLSearchParams(URLSearchParams* searchParams) |
| 56 { | 56 { |
| 57 ASSERT(searchParams); | 57 DCHECK(searchParams); |
| 58 m_params = searchParams->m_params; | 58 m_params = searchParams->m_params; |
| 59 } | 59 } |
| 60 | 60 |
| 61 URLSearchParams::~URLSearchParams() | 61 URLSearchParams::~URLSearchParams() |
| 62 { | 62 { |
| 63 } | 63 } |
| 64 | 64 |
| 65 static String decodeString(String input) | 65 static String decodeString(String input) |
| 66 { | 66 { |
| 67 return decodeURLEscapeSequences(input.replace('+', ' ')); | 67 return decodeURLEscapeSequences(input.replace('+', ' ')); |
| 68 } | 68 } |
| 69 | 69 |
| 70 void URLSearchParams::setInput(const String& queryString) | 70 void URLSearchParams::setInput(const String& queryString) |
| 71 { | 71 { |
| 72 ASSERT(m_params.isEmpty()); | 72 DCHECK(m_params.isEmpty()); |
| 73 size_t start = 0; | 73 size_t start = 0; |
| 74 size_t queryStringLength = queryString.length(); | 74 size_t queryStringLength = queryString.length(); |
| 75 while (start < queryStringLength) { | 75 while (start < queryStringLength) { |
| 76 size_t nameStart = start; | 76 size_t nameStart = start; |
| 77 size_t nameValueEnd = queryString.find('&', start); | 77 size_t nameValueEnd = queryString.find('&', start); |
| 78 if (nameValueEnd == kNotFound) | 78 if (nameValueEnd == kNotFound) |
| 79 nameValueEnd = queryStringLength; | 79 nameValueEnd = queryStringLength; |
| 80 if (nameValueEnd > start) { | 80 if (nameValueEnd > start) { |
| 81 size_t endOfName = queryString.find('=', start); | 81 size_t endOfName = queryString.find('=', start); |
| 82 if (endOfName == kNotFound || endOfName > nameValueEnd) | 82 if (endOfName == kNotFound || endOfName > nameValueEnd) |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 DEFINE_TRACE(URLSearchParams) | 187 DEFINE_TRACE(URLSearchParams) |
| 188 { | 188 { |
| 189 } | 189 } |
| 190 | 190 |
| 191 PairIterable<String, String>::IterationSource* URLSearchParams::startIteration(S
criptState*, ExceptionState&) | 191 PairIterable<String, String>::IterationSource* URLSearchParams::startIteration(S
criptState*, ExceptionState&) |
| 192 { | 192 { |
| 193 return new URLSearchParamsIterationSource(m_params); | 193 return new URLSearchParamsIterationSource(m_params); |
| 194 } | 194 } |
| 195 | 195 |
| 196 } // namespace blink | 196 } // namespace blink |
| OLD | NEW |