OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 5 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
6 * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. |
7 * Copyright (C) 2010 Google Inc. All rights reserved. | 7 * Copyright (C) 2010 Google Inc. All rights reserved. |
8 * Copyright (C) 2011 Motorola Mobility, Inc. All rights reserved. | 8 * Copyright (C) 2011 Motorola Mobility, Inc. All rights reserved. |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 // WinIE does not use the label attribute, so as a quirk, we ignore it. | 116 // WinIE does not use the label attribute, so as a quirk, we ignore it. |
117 if (!document.inQuirksMode()) | 117 if (!document.inQuirksMode()) |
118 text = fastGetAttribute(labelAttr); | 118 text = fastGetAttribute(labelAttr); |
119 | 119 |
120 // FIXME: The following treats an element with the label attribute set to | 120 // FIXME: The following treats an element with the label attribute set to |
121 // the empty string the same as an element with no label attribute at all. | 121 // the empty string the same as an element with no label attribute at all. |
122 // Is that correct? If it is, then should the label function work the same w
ay? | 122 // Is that correct? If it is, then should the label function work the same w
ay? |
123 if (text.isEmpty()) | 123 if (text.isEmpty()) |
124 text = collectOptionInnerText(); | 124 text = collectOptionInnerText(); |
125 | 125 |
126 // FIXME: Is displayStringModifiedByEncoding helpful here? | 126 return text.stripWhiteSpace(isHTMLSpace<UChar>).simplifyWhiteSpace(isHTMLSpa
ce<UChar>); |
127 // If it's correct here, then isn't it needed in the value and label functio
ns too? | |
128 return document.displayStringModifiedByEncoding(text).stripWhiteSpace(isHTML
Space<UChar>).simplifyWhiteSpace(isHTMLSpace<UChar>); | |
129 } | 127 } |
130 | 128 |
131 void HTMLOptionElement::setText(const String &text, ExceptionState& es) | 129 void HTMLOptionElement::setText(const String &text, ExceptionState& es) |
132 { | 130 { |
133 RefPtr<Node> protectFromMutationEvents(this); | 131 RefPtr<Node> protectFromMutationEvents(this); |
134 | 132 |
135 // Changing the text causes a recalc of a select's items, which will reset t
he selected | 133 // Changing the text causes a recalc of a select's items, which will reset t
he selected |
136 // index to the first item if the select is single selection with a menu lis
t. We attempt to | 134 // index to the first item if the select is single selection with a menu lis
t. We attempt to |
137 // preserve the selected item. | 135 // preserve the selected item. |
138 RefPtr<HTMLSelectElement> select = ownerSelectElement(); | 136 RefPtr<HTMLSelectElement> select = ownerSelectElement(); |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 // Text nodes inside script elements are not part of the option text. | 366 // Text nodes inside script elements are not part of the option text. |
369 if (node->isElementNode() && toScriptLoaderIfPossible(toElement(node))) | 367 if (node->isElementNode() && toScriptLoaderIfPossible(toElement(node))) |
370 node = NodeTraversal::nextSkippingChildren(node, this); | 368 node = NodeTraversal::nextSkippingChildren(node, this); |
371 else | 369 else |
372 node = NodeTraversal::next(node, this); | 370 node = NodeTraversal::next(node, this); |
373 } | 371 } |
374 return text.toString(); | 372 return text.toString(); |
375 } | 373 } |
376 | 374 |
377 } // namespace WebCore | 375 } // namespace WebCore |
OLD | NEW |