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 16 matching lines...) Expand all Loading... |
27 #include "config.h" | 27 #include "config.h" |
28 #include "core/html/HTMLOptionElement.h" | 28 #include "core/html/HTMLOptionElement.h" |
29 | 29 |
30 #include "HTMLNames.h" | 30 #include "HTMLNames.h" |
31 #include "core/dom/Document.h" | 31 #include "core/dom/Document.h" |
32 #include "core/dom/NodeRenderStyle.h" | 32 #include "core/dom/NodeRenderStyle.h" |
33 #include "core/dom/NodeTraversal.h" | 33 #include "core/dom/NodeTraversal.h" |
34 #include "core/dom/ScriptLoader.h" | 34 #include "core/dom/ScriptLoader.h" |
35 #include "core/dom/Text.h" | 35 #include "core/dom/Text.h" |
36 #include "core/html/HTMLDataListElement.h" | 36 #include "core/html/HTMLDataListElement.h" |
| 37 #include "core/html/HTMLOptGroupElement.h" |
37 #include "core/html/HTMLSelectElement.h" | 38 #include "core/html/HTMLSelectElement.h" |
38 #include "core/html/parser/HTMLParserIdioms.h" | 39 #include "core/html/parser/HTMLParserIdioms.h" |
39 #include "core/rendering/RenderTheme.h" | 40 #include "core/rendering/RenderTheme.h" |
40 #include "wtf/Vector.h" | 41 #include "wtf/Vector.h" |
41 #include "wtf/text/StringBuilder.h" | 42 #include "wtf/text/StringBuilder.h" |
42 | 43 |
43 namespace WebCore { | 44 namespace WebCore { |
44 | 45 |
45 using namespace HTMLNames; | 46 using namespace HTMLNames; |
46 | 47 |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 // style is exactly the same. | 327 // style is exactly the same. |
327 if (HTMLSelectElement* select = ownerSelectElement()) { | 328 if (HTMLSelectElement* select = ownerSelectElement()) { |
328 if (RenderObject* renderer = select->renderer()) | 329 if (RenderObject* renderer = select->renderer()) |
329 renderer->repaint(); | 330 renderer->repaint(); |
330 } | 331 } |
331 } | 332 } |
332 | 333 |
333 String HTMLOptionElement::textIndentedToRespectGroupLabel() const | 334 String HTMLOptionElement::textIndentedToRespectGroupLabel() const |
334 { | 335 { |
335 ContainerNode* parent = parentNode(); | 336 ContainerNode* parent = parentNode(); |
336 if (parent && parent->hasTagName(optgroupTag)) | 337 if (parent && isHTMLOptGroupElement(parent)) |
337 return " " + text(); | 338 return " " + text(); |
338 return text(); | 339 return text(); |
339 } | 340 } |
340 | 341 |
341 bool HTMLOptionElement::isDisabledFormControl() const | 342 bool HTMLOptionElement::isDisabledFormControl() const |
342 { | 343 { |
343 if (ownElementDisabled()) | 344 if (ownElementDisabled()) |
344 return true; | 345 return true; |
345 if (Element* parent = parentElement()) | 346 if (Element* parent = parentElement()) |
346 return parent->hasTagName(optgroupTag) && parent->isDisabledFormControl(
); | 347 return isHTMLOptGroupElement(parent) && parent->isDisabledFormControl(); |
347 return false; | 348 return false; |
348 } | 349 } |
349 | 350 |
350 Node::InsertionNotificationRequest HTMLOptionElement::insertedInto(ContainerNode
* insertionPoint) | 351 Node::InsertionNotificationRequest HTMLOptionElement::insertedInto(ContainerNode
* insertionPoint) |
351 { | 352 { |
352 if (HTMLSelectElement* select = ownerSelectElement()) { | 353 if (HTMLSelectElement* select = ownerSelectElement()) { |
353 select->setRecalcListItems(); | 354 select->setRecalcListItems(); |
354 // Do not call selected() since calling updateListItemSelectedStates() | 355 // Do not call selected() since calling updateListItemSelectedStates() |
355 // at this time won't do the right thing. (Why, exactly?) | 356 // at this time won't do the right thing. (Why, exactly?) |
356 // FIXME: Might be better to call this unconditionally, always passing m
_isSelected, | 357 // FIXME: Might be better to call this unconditionally, always passing m
_isSelected, |
(...skipping 15 matching lines...) Expand all Loading... |
372 // Text nodes inside script elements are not part of the option text. | 373 // Text nodes inside script elements are not part of the option text. |
373 if (node->isElementNode() && toScriptLoaderIfPossible(toElement(node))) | 374 if (node->isElementNode() && toScriptLoaderIfPossible(toElement(node))) |
374 node = NodeTraversal::nextSkippingChildren(node, this); | 375 node = NodeTraversal::nextSkippingChildren(node, this); |
375 else | 376 else |
376 node = NodeTraversal::next(node, this); | 377 node = NodeTraversal::next(node, this); |
377 } | 378 } |
378 return text.toString(); | 379 return text.toString(); |
379 } | 380 } |
380 | 381 |
381 } // namespace WebCore | 382 } // namespace WebCore |
OLD | NEW |