| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009, 2011 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 893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 904 if (obj->style()->hasAppearance()) | 904 if (obj->style()->hasAppearance()) |
| 905 LayoutTheme::theme().addVisualOverflow(*obj, r); | 905 LayoutTheme::theme().addVisualOverflow(*obj, r); |
| 906 result.unite(r); | 906 result.unite(r); |
| 907 } | 907 } |
| 908 } | 908 } |
| 909 return result; | 909 return result; |
| 910 } | 910 } |
| 911 | 911 |
| 912 AXObject* AXObject::elementAccessibilityHitTest(const IntPoint& point) const | 912 AXObject* AXObject::elementAccessibilityHitTest(const IntPoint& point) const |
| 913 { | 913 { |
| 914 // Send the hit test back into the sub-frame if necessary. | |
| 915 if (isAttachment()) { | |
| 916 Widget* widget = widgetForAttachmentView(); | |
| 917 // Normalize the point for the widget's bounds. | |
| 918 if (widget && widget->isFrameView()) | |
| 919 return axObjectCache().getOrCreate(widget)->accessibilityHitTest(Int
Point(point - widget->frameRect().location())); | |
| 920 } | |
| 921 | |
| 922 // Check if there are any mock elements that need to be handled. | 914 // Check if there are any mock elements that need to be handled. |
| 923 for (const auto& child : m_children) { | 915 for (const auto& child : m_children) { |
| 924 if (child->isMockObject() && child->elementRect().contains(point)) | 916 if (child->isMockObject() && child->elementRect().contains(point)) |
| 925 return child->elementAccessibilityHitTest(point); | 917 return child->elementAccessibilityHitTest(point); |
| 926 } | 918 } |
| 927 | 919 |
| 928 return const_cast<AXObject*>(this); | 920 return const_cast<AXObject*>(this); |
| 929 } | 921 } |
| 930 | 922 |
| 931 const AXObject::AccessibilityChildrenVector& AXObject::children() | 923 const AXObject::AccessibilityChildrenVector& AXObject::children() |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 978 void AXObject::clearChildren() | 970 void AXObject::clearChildren() |
| 979 { | 971 { |
| 980 // Detach all weak pointers from objects to their parents. | 972 // Detach all weak pointers from objects to their parents. |
| 981 for (const auto& child : m_children) | 973 for (const auto& child : m_children) |
| 982 child->detachFromParent(); | 974 child->detachFromParent(); |
| 983 | 975 |
| 984 m_children.clear(); | 976 m_children.clear(); |
| 985 m_haveChildren = false; | 977 m_haveChildren = false; |
| 986 } | 978 } |
| 987 | 979 |
| 988 AXObject* AXObject::focusedUIElement() const | |
| 989 { | |
| 990 Document* doc = document(); | |
| 991 if (!doc) | |
| 992 return 0; | |
| 993 | |
| 994 Page* page = doc->page(); | |
| 995 if (!page) | |
| 996 return 0; | |
| 997 | |
| 998 return axObjectCache().focusedUIElementForPage(page); | |
| 999 } | |
| 1000 | |
| 1001 Document* AXObject::document() const | 980 Document* AXObject::document() const |
| 1002 { | 981 { |
| 1003 FrameView* frameView = documentFrameView(); | 982 FrameView* frameView = documentFrameView(); |
| 1004 if (!frameView) | 983 if (!frameView) |
| 1005 return 0; | 984 return 0; |
| 1006 | 985 |
| 1007 return frameView->frame().document(); | 986 return frameView->frame().document(); |
| 1008 } | 987 } |
| 1009 | 988 |
| 1010 FrameView* AXObject::documentFrameView() const | 989 FrameView* AXObject::documentFrameView() const |
| (...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1501 | 1480 |
| 1502 DEFINE_TRACE(AXObject) | 1481 DEFINE_TRACE(AXObject) |
| 1503 { | 1482 { |
| 1504 visitor->trace(m_children); | 1483 visitor->trace(m_children); |
| 1505 visitor->trace(m_parent); | 1484 visitor->trace(m_parent); |
| 1506 visitor->trace(m_cachedLiveRegionRoot); | 1485 visitor->trace(m_cachedLiveRegionRoot); |
| 1507 visitor->trace(m_axObjectCache); | 1486 visitor->trace(m_axObjectCache); |
| 1508 } | 1487 } |
| 1509 | 1488 |
| 1510 } // namespace blink | 1489 } // namespace blink |
| OLD | NEW |