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