From 545e470e52f0ac6a3a072bf559c796b42c6066b6 Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Tue, 15 Jun 2010 19:36:43 +0100 Subject: Merge webkit.org at r61121: Initial merge by git. Change-Id: Icd6db395c62285be384d137164d95d7466c98760 --- WebCore/accessibility/AccessibilityRenderObject.cpp | 21 +++++++++++++-------- .../accessibility/mac/AccessibilityObjectWrapper.mm | 11 +++++------ 2 files changed, 18 insertions(+), 14 deletions(-) (limited to 'WebCore/accessibility') diff --git a/WebCore/accessibility/AccessibilityRenderObject.cpp b/WebCore/accessibility/AccessibilityRenderObject.cpp index 48829a2..ffe62f8 100644 --- a/WebCore/accessibility/AccessibilityRenderObject.cpp +++ b/WebCore/accessibility/AccessibilityRenderObject.cpp @@ -60,6 +60,7 @@ #include "RenderHTMLCanvas.h" #include "RenderImage.h" #include "RenderInline.h" +#include "RenderLayer.h" #include "RenderListBox.h" #include "RenderListMarker.h" #include "RenderMenuList.h" @@ -649,7 +650,7 @@ bool AccessibilityRenderObject::isOffScreen() const { ASSERT(m_renderer); IntRect contentRect = m_renderer->absoluteClippedOverflowRect(); - FrameView* view = m_renderer->document()->frame()->view(); + FrameView* view = m_renderer->frame()->view(); FloatRect viewRect = view->visibleContentRect(); viewRect.intersect(contentRect); return viewRect.isEmpty(); @@ -928,6 +929,10 @@ String AccessibilityRenderObject::helpText() const if (!m_renderer) return String(); + const AtomicString& ariaHelp = getAttribute(aria_helpAttr); + if (!ariaHelp.isEmpty()) + return ariaHelp; + for (RenderObject* curr = m_renderer; curr; curr = curr->parent()) { if (curr->node() && curr->node()->isHTMLElement()) { const AtomicString& summary = static_cast(curr->node())->getAttribute(summaryAttr); @@ -1126,7 +1131,7 @@ String AccessibilityRenderObject::stringValue() const return toRenderButton(m_renderer)->text(); if (isWebArea()) { - if (m_renderer->document()->frame()) + if (m_renderer->frame()) return String(); // FIXME: should use startOfDocument and endOfDocument (or rangeForDocument?) here @@ -1469,8 +1474,8 @@ AccessibilityObject* AccessibilityRenderObject::internalLinkElement() const return 0; // check if URL is the same as current URL - linkURL.removeFragmentIdentifier(); - if (m_renderer->document()->url() != linkURL) + KURL documentURL = m_renderer->document()->url(); + if (!equalIgnoringFragmentIdentifier(documentURL, linkURL)) return 0; Node* linkedNode = m_renderer->document()->findAnchor(fragmentIdentifier); @@ -1848,7 +1853,7 @@ bool AccessibilityRenderObject::accessibilityIsIgnored() const bool AccessibilityRenderObject::isLoaded() const { - return !m_renderer->document()->tokenizer(); + return !m_renderer->document()->parser(); } double AccessibilityRenderObject::estimatedLoadingProgress() const @@ -1968,7 +1973,7 @@ const AtomicString& AccessibilityRenderObject::accessKey() const VisibleSelection AccessibilityRenderObject::selection() const { - return m_renderer->document()->frame()->selection()->selection(); + return m_renderer->frame()->selection()->selection(); } PlainTextRange AccessibilityRenderObject::selectedTextRange() const @@ -2521,10 +2526,10 @@ void AccessibilityRenderObject::setSelectedVisiblePositionRange(const VisiblePos // make selection and tell the document to use it. if it's zero length, then move to that position if (range.start == range.end) - m_renderer->document()->frame()->selection()->moveTo(range.start, true); + m_renderer->frame()->selection()->moveTo(range.start, true); else { VisibleSelection newSelection = VisibleSelection(range.start, range.end); - m_renderer->document()->frame()->selection()->setSelection(newSelection); + m_renderer->frame()->selection()->setSelection(newSelection); } } diff --git a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm index 8e81935..1fdb0cc 100644 --- a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm +++ b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm @@ -2331,12 +2331,9 @@ static RenderObject* rendererForView(NSView* view) } else if ([parameter isKindOfClass:[NSValue self]] && strcmp([(NSValue*)parameter objCType], @encode(NSRange)) == 0) { rangeSet = true; range = [(NSValue*)parameter rangeValue]; - } else { - // got a parameter of a type we never use - // NOTE: No ASSERT_NOT_REACHED because this can happen accidentally - // while using accesstool (e.g.), forcing you to start over - return nil; + // Attribute type is not supported. Allow super to handle. + return [super accessibilityAttributeValue:attribute forParameter:parameter]; } // dispatch @@ -2575,7 +2572,9 @@ static RenderObject* rendererForView(NSView* view) } } - return nil; + // There are some parameters that super handles that are not explicitly returned by the list of the element's attributes. + // In that case it must be passed to super. + return [super accessibilityAttributeValue:attribute forParameter:parameter]; } - (BOOL)accessibilityShouldUseUniqueId -- cgit v1.1