Chromium Code Reviews| 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, 2007 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007 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 13 matching lines...) Expand all Loading... | |
| 24 | 24 |
| 25 #include "config.h" | 25 #include "config.h" |
| 26 #include "core/html/HTMLTextFormControlElement.h" | 26 #include "core/html/HTMLTextFormControlElement.h" |
| 27 | 27 |
| 28 #include "bindings/core/v8/ExceptionState.h" | 28 #include "bindings/core/v8/ExceptionState.h" |
| 29 #include "bindings/core/v8/ExceptionStatePlaceholder.h" | 29 #include "bindings/core/v8/ExceptionStatePlaceholder.h" |
| 30 #include "core/HTMLNames.h" | 30 #include "core/HTMLNames.h" |
| 31 #include "core/accessibility/AXObjectCache.h" | 31 #include "core/accessibility/AXObjectCache.h" |
| 32 #include "core/dom/Document.h" | 32 #include "core/dom/Document.h" |
| 33 #include "core/dom/NodeList.h" | 33 #include "core/dom/NodeList.h" |
| 34 #include "core/dom/NodeRenderStyle.h" | |
| 34 #include "core/dom/NodeTraversal.h" | 35 #include "core/dom/NodeTraversal.h" |
| 35 #include "core/dom/Text.h" | 36 #include "core/dom/Text.h" |
| 36 #include "core/dom/shadow/ShadowRoot.h" | 37 #include "core/dom/shadow/ShadowRoot.h" |
| 37 #include "core/editing/Editor.h" | 38 #include "core/editing/Editor.h" |
| 38 #include "core/editing/FrameSelection.h" | 39 #include "core/editing/FrameSelection.h" |
| 39 #include "core/editing/TextIterator.h" | 40 #include "core/editing/TextIterator.h" |
| 40 #include "core/events/Event.h" | 41 #include "core/events/Event.h" |
| 41 #include "core/frame/LocalFrame.h" | 42 #include "core/frame/LocalFrame.h" |
| 42 #include "core/frame/UseCounter.h" | 43 #include "core/frame/UseCounter.h" |
| 43 #include "core/html/HTMLBRElement.h" | 44 #include "core/html/HTMLBRElement.h" |
| (...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 649 element = element->parentElement(); | 650 element = element->parentElement(); |
| 650 if (element && element->isHTMLElement()) | 651 if (element && element->isHTMLElement()) |
| 651 return toHTMLElement(element); | 652 return toHTMLElement(element); |
| 652 } | 653 } |
| 653 return 0; | 654 return 0; |
| 654 } | 655 } |
| 655 | 656 |
| 656 String HTMLTextFormControlElement::directionForFormData() const | 657 String HTMLTextFormControlElement::directionForFormData() const |
| 657 { | 658 { |
| 658 for (const HTMLElement* element = this; element; element = parentHTMLElement (element)) { | 659 for (const HTMLElement* element = this; element; element = parentHTMLElement (element)) { |
| 659 const AtomicString& dirAttributeValue = element->fastGetAttribute(dirAtt r); | 660 RenderStyle* style = element->renderStyle(); |
| 660 if (dirAttributeValue.isNull()) | 661 if (style) { |
|
Inactive
2014/08/06 20:51:43
I cannot say if the change is good or not. However
Sunil Ratnu
2014/08/07 05:20:56
Done.
| |
| 661 continue; | 662 return style->isLeftToRightDirection() ? "ltr" : "rtl"; |
| 662 | |
| 663 if (equalIgnoringCase(dirAttributeValue, "rtl") || equalIgnoringCase(dir AttributeValue, "ltr")) | |
| 664 return dirAttributeValue; | |
| 665 | |
| 666 if (equalIgnoringCase(dirAttributeValue, "auto")) { | |
| 667 bool isAuto; | |
| 668 TextDirection textDirection = element->directionalityIfhasDirAutoAtt ribute(isAuto); | |
| 669 return textDirection == RTL ? "rtl" : "ltr"; | |
| 670 } | 663 } |
| 671 } | 664 } |
| 672 | 665 |
| 673 return "ltr"; | 666 return "ltr"; |
| 674 } | 667 } |
| 675 | 668 |
| 676 HTMLElement* HTMLTextFormControlElement::innerEditorElement() const | 669 HTMLElement* HTMLTextFormControlElement::innerEditorElement() const |
| 677 { | 670 { |
| 678 return toHTMLElement(userAgentShadowRoot()->getElementById(ShadowElementName s::innerEditor())); | 671 return toHTMLElement(userAgentShadowRoot()->getElementById(ShadowElementName s::innerEditor())); |
| 679 } | 672 } |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 911 Text* textNode = toText(node); | 904 Text* textNode = toText(node); |
| 912 size_t firstLineBreak = textNode->data().find('\n', isPivotNode ? pi votPosition.offsetInContainerNode() : 0); | 905 size_t firstLineBreak = textNode->data().find('\n', isPivotNode ? pi votPosition.offsetInContainerNode() : 0); |
| 913 if (firstLineBreak != kNotFound) | 906 if (firstLineBreak != kNotFound) |
| 914 return Position(textNode, firstLineBreak + 1); | 907 return Position(textNode, firstLineBreak + 1); |
| 915 } | 908 } |
| 916 } | 909 } |
| 917 return endOfInnerText(textFormControl); | 910 return endOfInnerText(textFormControl); |
| 918 } | 911 } |
| 919 | 912 |
| 920 } // namespace Webcore | 913 } // namespace Webcore |
| OLD | NEW |