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

Side by Side Diff: third_party/WebKit/Source/core/dom/DOMURLUtils.cpp

Issue 1860623002: Add support for URL.searchParams getter. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 8 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 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * Copyright (C) 2012 Motorola Mobility Inc. 3 * Copyright (C) 2012 Motorola Mobility Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright 11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the 12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution. 13 * documentation and/or other materials provided with the distribution.
14 * 14 *
15 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 15 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 18 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
19 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 21 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */ 25 */
26 26
27 #include "core/dom/DOMURLUtils.h" 27 #include "core/dom/DOMURLUtils.h"
28 28
29 #include "bindings/core/v8/ExceptionState.h"
29 #include "platform/weborigin/KnownPorts.h" 30 #include "platform/weborigin/KnownPorts.h"
30 31
31 namespace blink { 32 namespace blink {
32 33
34 DOMURLUtils::~DOMURLUtils()
35 {
36 }
37
33 void DOMURLUtils::setHref(const String& value) 38 void DOMURLUtils::setHref(const String& value)
34 { 39 {
35 setInput(value); 40 setInput(value);
36 } 41 }
37 42
38 void DOMURLUtils::setProtocol(const String& value) 43 void DOMURLUtils::setProtocol(const String& value)
39 { 44 {
40 KURL kurl = url(); 45 KURL kurl = url();
41 if (kurl.isNull()) 46 if (kurl.isNull())
42 return; 47 return;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 { 115 {
111 KURL kurl = url(); 116 KURL kurl = url();
112 if (!kurl.canSetPathname()) 117 if (!kurl.canSetPathname())
113 return; 118 return;
114 kurl.setPath(value); 119 kurl.setPath(value);
115 setURL(kurl); 120 setURL(kurl);
116 } 121 }
117 122
118 void DOMURLUtils::setSearch(const String& value) 123 void DOMURLUtils::setSearch(const String& value)
119 { 124 {
125 setSearchInternal(value);
126 }
127
128 void DOMURLUtils::setSearchInternal(const String& value)
129 {
130 ASSERT(!m_isInUpdate);
120 KURL kurl = url(); 131 KURL kurl = url();
121 if (!kurl.isValid()) 132 if (!kurl.isValid())
122 return; 133 return;
123 134
124 // FIXME: have KURL do this clearing of the query component 135 // FIXME: have KURL do this clearing of the query component
125 // instead, if practical. Will require addressing 136 // instead, if practical. Will require addressing
126 // http://crbug.com/108690, for one. 137 // http://crbug.com/108690, for one.
127 if (value[0] == '?') 138 if (value[0] == '?')
128 kurl.setQuery(value.length() == 1 ? String() : value.substring(1)); 139 kurl.setQuery(value.length() == 1 ? String() : value.substring(1));
129 else 140 else
(...skipping 12 matching lines...) Expand all
142 // on the same input. 153 // on the same input.
143 if (value[0] == '#') 154 if (value[0] == '#')
144 kurl.setFragmentIdentifier(value.length() == 1 ? String() : value.substr ing(1)); 155 kurl.setFragmentIdentifier(value.length() == 1 ? String() : value.substr ing(1));
145 else 156 else
146 kurl.setFragmentIdentifier(value.isEmpty() ? String() : value); 157 kurl.setFragmentIdentifier(value.isEmpty() ? String() : value);
147 158
148 setURL(kurl); 159 setURL(kurl);
149 } 160 }
150 161
151 } // namespace blink 162 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/DOMURLUtils.h ('k') | third_party/WebKit/Source/core/dom/URL.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698