| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 #include "core/accessibility/AXSpinButton.h" | 37 #include "core/accessibility/AXSpinButton.h" |
| 38 #include "core/accessibility/AXTable.h" | 38 #include "core/accessibility/AXTable.h" |
| 39 #include "core/dom/ElementTraversal.h" | 39 #include "core/dom/ElementTraversal.h" |
| 40 #include "core/dom/shadow/ShadowRoot.h" | 40 #include "core/dom/shadow/ShadowRoot.h" |
| 41 #include "core/editing/FrameSelection.h" | 41 #include "core/editing/FrameSelection.h" |
| 42 #include "core/editing/RenderedPosition.h" | 42 #include "core/editing/RenderedPosition.h" |
| 43 #include "core/editing/TextIterator.h" | 43 #include "core/editing/TextIterator.h" |
| 44 #include "core/editing/VisibleUnits.h" | 44 #include "core/editing/VisibleUnits.h" |
| 45 #include "core/editing/htmlediting.h" | 45 #include "core/editing/htmlediting.h" |
| 46 #include "core/frame/LocalFrame.h" | 46 #include "core/frame/LocalFrame.h" |
| 47 #include "core/frame/Settings.h" |
| 47 #include "core/html/HTMLImageElement.h" | 48 #include "core/html/HTMLImageElement.h" |
| 48 #include "core/html/HTMLLabelElement.h" | 49 #include "core/html/HTMLLabelElement.h" |
| 49 #include "core/html/HTMLOptionElement.h" | 50 #include "core/html/HTMLOptionElement.h" |
| 50 #include "core/html/HTMLSelectElement.h" | 51 #include "core/html/HTMLSelectElement.h" |
| 51 #include "core/html/HTMLTextAreaElement.h" | 52 #include "core/html/HTMLTextAreaElement.h" |
| 52 #include "core/html/shadow/ShadowElementNames.h" | 53 #include "core/html/shadow/ShadowElementNames.h" |
| 53 #include "core/loader/ProgressTracker.h" | 54 #include "core/loader/ProgressTracker.h" |
| 54 #include "core/page/Page.h" | 55 #include "core/page/Page.h" |
| 55 #include "core/rendering/HitTestResult.h" | 56 #include "core/rendering/HitTestResult.h" |
| 56 #include "core/rendering/RenderFieldset.h" | 57 #include "core/rendering/RenderFieldset.h" |
| (...skipping 1622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1679 // Post that the specific row either collapsed or expanded. | 1680 // Post that the specific row either collapsed or expanded. |
| 1680 if (roleValue() == RowRole || roleValue() == TreeItemRole) | 1681 if (roleValue() == RowRole || roleValue() == TreeItemRole) |
| 1681 axObjectCache()->postNotification(this, document(), isExpanded() ? AXObj
ectCache::AXRowExpanded : AXObjectCache::AXRowCollapsed, true); | 1682 axObjectCache()->postNotification(this, document(), isExpanded() ? AXObj
ectCache::AXRowExpanded : AXObjectCache::AXRowCollapsed, true); |
| 1682 } | 1683 } |
| 1683 | 1684 |
| 1684 void AXRenderObject::textChanged() | 1685 void AXRenderObject::textChanged() |
| 1685 { | 1686 { |
| 1686 if (!m_renderer) | 1687 if (!m_renderer) |
| 1687 return; | 1688 return; |
| 1688 | 1689 |
| 1689 if (AXObjectCache::inlineTextBoxAccessibility() && roleValue() == StaticText
Role) | 1690 if (document()->settings() && document()->settings()->inlineTextBoxAccessibi
lityEnabled() && roleValue() == StaticTextRole) |
| 1690 childrenChanged(); | 1691 childrenChanged(); |
| 1691 | 1692 |
| 1692 // Do this last - AXNodeObject::textChanged posts live region announcements, | 1693 // Do this last - AXNodeObject::textChanged posts live region announcements, |
| 1693 // and we should update the inline text boxes first. | 1694 // and we should update the inline text boxes first. |
| 1694 AXNodeObject::textChanged(); | 1695 AXNodeObject::textChanged(); |
| 1695 } | 1696 } |
| 1696 | 1697 |
| 1697 // | 1698 // |
| 1698 // Text metrics. Most of these should be deprecated, needs major cleanup. | 1699 // Text metrics. Most of these should be deprecated, needs major cleanup. |
| 1699 // | 1700 // |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1756 | 1757 |
| 1757 RefPtrWillBeRawPtr<Range> range = Range::create(m_renderer->document()); | 1758 RefPtrWillBeRawPtr<Range> range = Range::create(m_renderer->document()); |
| 1758 range->setStart(node, 0, IGNORE_EXCEPTION); | 1759 range->setStart(node, 0, IGNORE_EXCEPTION); |
| 1759 range->setEnd(indexPosition, IGNORE_EXCEPTION); | 1760 range->setEnd(indexPosition, IGNORE_EXCEPTION); |
| 1760 | 1761 |
| 1761 return TextIterator::rangeLength(range.get()); | 1762 return TextIterator::rangeLength(range.get()); |
| 1762 } | 1763 } |
| 1763 | 1764 |
| 1764 void AXRenderObject::addInlineTextBoxChildren() | 1765 void AXRenderObject::addInlineTextBoxChildren() |
| 1765 { | 1766 { |
| 1766 if (!axObjectCache()->inlineTextBoxAccessibility()) | 1767 fprintf(stderr, "addInlineTextBoxChildren\n"); |
| 1768 if (!document()->settings() || !document()->settings()->inlineTextBoxAccessi
bilityEnabled()) { |
| 1769 fprintf(stderr, "document->settings(): %p; document->settings()->inlineTex
tBoxAccessibilityEnabled(): %d\n", document()->settings(), document()->settings(
) ? document()->settings()->inlineTextBoxAccessibilityEnabled() : 0); |
| 1767 return; | 1770 return; |
| 1771 } |
| 1768 | 1772 |
| 1769 if (!renderer() || !renderer()->isText()) | 1773 if (!renderer() || !renderer()->isText()) { |
| 1774 fprintf(stderr, "!renderer() %p || !renderer()->isText()\n", renderer())
; |
| 1770 return; | 1775 return; |
| 1771 | 1776 } |
| 1772 if (renderer()->needsLayout()) { | 1777 if (renderer()->needsLayout()) { |
| 1778 fprintf(stderr, "needsLayout\n"); |
| 1773 // If a RenderText needs layout, its inline text boxes are either | 1779 // If a RenderText needs layout, its inline text boxes are either |
| 1774 // nonexistent or invalid, so defer until the layout happens and | 1780 // nonexistent or invalid, so defer until the layout happens and |
| 1775 // the renderer calls AXObjectCache::inlineTextBoxesUpdated. | 1781 // the renderer calls AXObjectCache::inlineTextBoxesUpdated. |
| 1776 return; | 1782 return; |
| 1777 } | 1783 } |
| 1778 | 1784 |
| 1779 RenderText* renderText = toRenderText(renderer()); | 1785 RenderText* renderText = toRenderText(renderer()); |
| 1780 for (RefPtr<AbstractInlineTextBox> box = renderText->firstAbstractInlineText
Box(); box.get(); box = box->nextInlineTextBox()) { | 1786 for (RefPtr<AbstractInlineTextBox> box = renderText->firstAbstractInlineText
Box(); box.get(); box = box->nextInlineTextBox()) { |
| 1781 AXObject* axObject = axObjectCache()->getOrCreate(box.get()); | 1787 AXObject* axObject = axObjectCache()->getOrCreate(box.get()); |
| 1788 fprintf(stderr, "found textbox\n"); |
| 1782 if (!axObject->accessibilityIsIgnored()) | 1789 if (!axObject->accessibilityIsIgnored()) |
| 1783 m_children.append(axObject); | 1790 m_children.append(axObject); |
| 1791 else |
| 1792 fprintf(stderr, "accessibilityIsIgnored\n"); |
| 1784 } | 1793 } |
| 1785 } | 1794 } |
| 1786 | 1795 |
| 1787 void AXRenderObject::lineBreaks(Vector<int>& lineBreaks) const | 1796 void AXRenderObject::lineBreaks(Vector<int>& lineBreaks) const |
| 1788 { | 1797 { |
| 1789 if (!isTextControl()) | 1798 if (!isTextControl()) |
| 1790 return; | 1799 return; |
| 1791 | 1800 |
| 1792 VisiblePosition visiblePos = visiblePositionForIndex(0); | 1801 VisiblePosition visiblePos = visiblePositionForIndex(0); |
| 1793 VisiblePosition savedVisiblePos = visiblePos; | 1802 VisiblePosition savedVisiblePos = visiblePos; |
| (...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2314 if (label && label->renderer()) { | 2323 if (label && label->renderer()) { |
| 2315 LayoutRect labelRect = axObjectCache()->getOrCreate(label)->elementR
ect(); | 2324 LayoutRect labelRect = axObjectCache()->getOrCreate(label)->elementR
ect(); |
| 2316 result.unite(labelRect); | 2325 result.unite(labelRect); |
| 2317 } | 2326 } |
| 2318 } | 2327 } |
| 2319 | 2328 |
| 2320 return result; | 2329 return result; |
| 2321 } | 2330 } |
| 2322 | 2331 |
| 2323 } // namespace blink | 2332 } // namespace blink |
| OLD | NEW |