| 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 * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. |
| 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 if (!fieldset) | 48 if (!fieldset) |
| 49 return nullptr; | 49 return nullptr; |
| 50 | 50 |
| 51 // Find first form element inside the fieldset that is not a legend element. | 51 // Find first form element inside the fieldset that is not a legend element. |
| 52 // FIXME: Should we consider tabindex? | 52 // FIXME: Should we consider tabindex? |
| 53 return Traversal<HTMLFormControlElement>::next(*fieldset, fieldset); | 53 return Traversal<HTMLFormControlElement>::next(*fieldset, fieldset); |
| 54 } | 54 } |
| 55 | 55 |
| 56 void HTMLLegendElement::focus(const FocusParams& params) | 56 void HTMLLegendElement::focus(const FocusParams& params) |
| 57 { | 57 { |
| 58 document().updateLayoutTreeForNode(this); | 58 document().updateStyleAndLayoutTreeForNode(this); |
| 59 if (isFocusable()) { | 59 if (isFocusable()) { |
| 60 Element::focus(params); | 60 Element::focus(params); |
| 61 return; | 61 return; |
| 62 } | 62 } |
| 63 | 63 |
| 64 // To match other browsers' behavior, never restore previous selection. | 64 // To match other browsers' behavior, never restore previous selection. |
| 65 if (HTMLFormControlElement* control = associatedControl()) | 65 if (HTMLFormControlElement* control = associatedControl()) |
| 66 control->focus(FocusParams(SelectionBehaviorOnFocus::Reset, params.type,
params.sourceCapabilities)); | 66 control->focus(FocusParams(SelectionBehaviorOnFocus::Reset, params.type,
params.sourceCapabilities)); |
| 67 } | 67 } |
| 68 | 68 |
| 69 void HTMLLegendElement::accessKeyAction(bool sendMouseEvents) | 69 void HTMLLegendElement::accessKeyAction(bool sendMouseEvents) |
| 70 { | 70 { |
| 71 if (HTMLFormControlElement* control = associatedControl()) | 71 if (HTMLFormControlElement* control = associatedControl()) |
| 72 control->accessKeyAction(sendMouseEvents); | 72 control->accessKeyAction(sendMouseEvents); |
| 73 } | 73 } |
| 74 | 74 |
| 75 HTMLFormElement* HTMLLegendElement::form() const | 75 HTMLFormElement* HTMLLegendElement::form() const |
| 76 { | 76 { |
| 77 // According to the specification, If the legend has a fieldset element as | 77 // According to the specification, If the legend has a fieldset element as |
| 78 // its parent, then the form attribute must return the same value as the | 78 // its parent, then the form attribute must return the same value as the |
| 79 // form attribute on that fieldset element. Otherwise, it must return null. | 79 // form attribute on that fieldset element. Otherwise, it must return null. |
| 80 ContainerNode* fieldset = parentNode(); | 80 ContainerNode* fieldset = parentNode(); |
| 81 if (!isHTMLFieldSetElement(fieldset)) | 81 if (!isHTMLFieldSetElement(fieldset)) |
| 82 return nullptr; | 82 return nullptr; |
| 83 | 83 |
| 84 return toHTMLFieldSetElement(fieldset)->formOwner(); | 84 return toHTMLFieldSetElement(fieldset)->formOwner(); |
| 85 } | 85 } |
| 86 | 86 |
| 87 } // namespace blink | 87 } // namespace blink |
| OLD | NEW |