diff options
Diffstat (limited to 'WebKit/chromium/src/WebAccessibilityObject.cpp')
-rw-r--r-- | WebKit/chromium/src/WebAccessibilityObject.cpp | 136 |
1 files changed, 135 insertions, 1 deletions
diff --git a/WebKit/chromium/src/WebAccessibilityObject.cpp b/WebKit/chromium/src/WebAccessibilityObject.cpp index c386d44..9df69cf 100644 --- a/WebKit/chromium/src/WebAccessibilityObject.cpp +++ b/WebKit/chromium/src/WebAccessibilityObject.cpp @@ -32,9 +32,15 @@ #include "WebAccessibilityObject.h" #include "AccessibilityObject.h" +#include "CSSPrimitiveValueMappings.h" +#include "Document.h" #include "EventHandler.h" #include "FrameView.h" +#include "Node.h" #include "PlatformKeyboardEvent.h" +#include "RenderStyle.h" +#include "WebDocument.h" +#include "WebNode.h" #include "WebPoint.h" #include "WebRect.h" #include "WebString.h" @@ -95,6 +101,15 @@ bool WebAccessibilityObject::canSetValueAttribute() const return m_private->canSetValueAttribute(); } +bool WebAccessibilityObject::isValid() const +{ + if (!m_private) + return false; + + m_private->updateBackingStore(); + return m_private->axObjectID(); +} + unsigned WebAccessibilityObject::childCount() const { if (!m_private) @@ -176,6 +191,15 @@ WebAccessibilityObject WebAccessibilityObject::previousSibling() const return WebAccessibilityObject(m_private->previousSibling()); } +bool WebAccessibilityObject::canSetSelectedAttribute() const +{ + if (!m_private) + return 0; + + m_private->updateBackingStore(); + return m_private->canSetSelectedAttribute(); +} + bool WebAccessibilityObject::isAnchor() const { if (!m_private) @@ -194,6 +218,15 @@ bool WebAccessibilityObject::isChecked() const return m_private->isChecked(); } +bool WebAccessibilityObject::isCollapsed() const +{ + if (!m_private) + return 0; + + m_private->updateBackingStore(); + return m_private->isCollapsed(); +} + bool WebAccessibilityObject::isFocused() const { @@ -231,6 +264,15 @@ bool WebAccessibilityObject::isIndeterminate() const return m_private->isIndeterminate(); } +bool WebAccessibilityObject::isLinked() const +{ + if (!m_private) + return 0; + + m_private->updateBackingStore(); + return m_private->isLinked(); +} + bool WebAccessibilityObject::isMultiSelectable() const { if (!m_private) @@ -276,6 +318,24 @@ bool WebAccessibilityObject::isReadOnly() const return m_private->isReadOnly(); } +bool WebAccessibilityObject::isSelected() const +{ + if (!m_private) + return 0; + + m_private->updateBackingStore(); + return m_private->isSelected(); +} + +bool WebAccessibilityObject::isVisible() const +{ + if (!m_private) + return 0; + + m_private->updateBackingStore(); + return m_private->isVisible(); +} + bool WebAccessibilityObject::isVisited() const { if (!m_private) @@ -291,7 +351,7 @@ WebRect WebAccessibilityObject::boundingBoxRect() const return WebRect(); m_private->updateBackingStore(); - return m_private->documentFrameView()->contentsToWindow(m_private->boundingBoxRect()); + return m_private->boundingBoxRect(); } WebString WebAccessibilityObject::helpText() const @@ -303,6 +363,15 @@ WebString WebAccessibilityObject::helpText() const return m_private->helpText(); } +int WebAccessibilityObject::headingLevel() const +{ + if (!m_private) + return 0; + + m_private->updateBackingStore(); + return m_private->headingLevel(); +} + WebAccessibilityObject WebAccessibilityObject::hitTest(const WebPoint& point) const { if (!m_private) @@ -368,6 +437,12 @@ WebAccessibilityRole WebAccessibilityObject::roleValue() const return static_cast<WebAccessibilityRole>(m_private->roleValue()); } +void WebAccessibilityObject::setFocused(bool on) const +{ + if (m_private) + m_private->setFocused(on); +} + WebString WebAccessibilityObject::stringValue() const { if (!m_private) @@ -386,6 +461,65 @@ WebString WebAccessibilityObject::title() const return m_private->title(); } + +WebNode WebAccessibilityObject::node() const +{ + if (!m_private) + return WebNode(); + + m_private->updateBackingStore(); + + Node* node = m_private->node(); + if (!node) + return WebNode(); + + return WebNode(node); +} + +WebDocument WebAccessibilityObject::document() const +{ + if (!m_private) + return WebDocument(); + + m_private->updateBackingStore(); + + Document* document = m_private->document(); + if (!document) + return WebDocument(); + + return WebDocument(document); +} + +bool WebAccessibilityObject::hasComputedStyle() const +{ + Document* document = m_private->document(); + if (document) + document->updateStyleIfNeeded(); + + Node* node = m_private->node(); + if (!node) + return false; + + return node->computedStyle(); +} + +WebString WebAccessibilityObject::computedStyleDisplay() const +{ + Document* document = m_private->document(); + if (document) + document->updateStyleIfNeeded(); + + Node* node = m_private->node(); + if (!node) + return WebString(); + + RenderStyle* renderStyle = node->computedStyle(); + if (!renderStyle) + return WebString(); + + return WebString(CSSPrimitiveValue::create(renderStyle->display())->getStringValue()); +} + WebAccessibilityObject::WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object) : m_private(static_cast<WebAccessibilityObjectPrivate*>(object.releaseRef())) { |