OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |