Index: Source/web/WebAccessibilityObject.cpp |
diff --git a/Source/web/WebAccessibilityObject.cpp b/Source/web/WebAccessibilityObject.cpp |
deleted file mode 100644 |
index de046001b09f65403ff386efce7bf75f450eda2a..0000000000000000000000000000000000000000 |
--- a/Source/web/WebAccessibilityObject.cpp |
+++ /dev/null |
@@ -1,1038 +0,0 @@ |
-/* |
- * Copyright (C) 2009 Google Inc. All rights reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions are |
- * met: |
- * |
- * * Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * * Redistributions in binary form must reproduce the above |
- * copyright notice, this list of conditions and the following disclaimer |
- * in the documentation and/or other materials provided with the |
- * distribution. |
- * * Neither the name of Google Inc. nor the names of its |
- * contributors may be used to endorse or promote products derived from |
- * this software without specific prior written permission. |
- * |
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-#include "config.h" |
-#include "WebAccessibilityObject.h" |
- |
-#include "HTMLNames.h" |
-#include "WebDocument.h" |
-#include "WebNode.h" |
-#include "core/accessibility/AXObjectCache.h" |
-#include "core/accessibility/AccessibilityObject.h" |
-#include "core/accessibility/AccessibilityTable.h" |
-#include "core/accessibility/AccessibilityTableCell.h" |
-#include "core/accessibility/AccessibilityTableColumn.h" |
-#include "core/accessibility/AccessibilityTableRow.h" |
-#include "core/css/CSSPrimitiveValueMappings.h" |
-#include "core/dom/Document.h" |
-#include "core/dom/Node.h" |
-#include "core/page/EventHandler.h" |
-#include "core/page/FrameView.h" |
-#include "core/platform/PlatformKeyboardEvent.h" |
-#include "core/rendering/style/RenderStyle.h" |
-#include "public/platform/WebPoint.h" |
-#include "public/platform/WebRect.h" |
-#include "public/platform/WebString.h" |
-#include "public/platform/WebURL.h" |
-#include "wtf/text/StringBuilder.h" |
- |
-using namespace WebCore; |
- |
-namespace WebKit { |
- |
-void WebAccessibilityObject::reset() |
-{ |
- m_private.reset(); |
-} |
- |
-void WebAccessibilityObject::assign(const WebKit::WebAccessibilityObject& other) |
-{ |
- m_private = other.m_private; |
-} |
- |
-bool WebAccessibilityObject::equals(const WebAccessibilityObject& n) const |
-{ |
- return m_private.get() == n.m_private.get(); |
-} |
- |
-// static |
-void WebAccessibilityObject::enableAccessibility() |
-{ |
- AXObjectCache::enableAccessibility(); |
-} |
- |
-// static |
-bool WebAccessibilityObject::accessibilityEnabled() |
-{ |
- return AXObjectCache::accessibilityEnabled(); |
-} |
- |
-void WebAccessibilityObject::startCachingComputedObjectAttributesUntilTreeMutates() |
-{ |
- m_private->axObjectCache()->startCachingComputedObjectAttributesUntilTreeMutates(); |
-} |
- |
-void WebAccessibilityObject::stopCachingComputedObjectAttributes() |
-{ |
- m_private->axObjectCache()->stopCachingComputedObjectAttributes(); |
-} |
- |
-bool WebAccessibilityObject::isDetached() const |
-{ |
- if (m_private.isNull()) |
- return true; |
- |
- return m_private->isDetached(); |
-} |
- |
-int WebAccessibilityObject::axID() const |
-{ |
- if (isDetached()) |
- return -1; |
- |
- return m_private->axObjectID(); |
-} |
- |
-bool WebAccessibilityObject::updateBackingStoreAndCheckValidity() |
-{ |
- if (!isDetached()) |
- m_private->updateBackingStore(); |
- return !isDetached(); |
-} |
- |
-WebString WebAccessibilityObject::accessibilityDescription() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- return m_private->accessibilityDescription(); |
-} |
- |
-WebString WebAccessibilityObject::actionVerb() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- return m_private->actionVerb(); |
-} |
- |
-bool WebAccessibilityObject::canDecrement() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->isSlider(); |
-} |
- |
-bool WebAccessibilityObject::canIncrement() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->isSlider(); |
-} |
- |
-bool WebAccessibilityObject::canPress() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->actionElement() || m_private->isButton() || m_private->isMenuRelated(); |
-} |
- |
-bool WebAccessibilityObject::canSetFocusAttribute() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->canSetFocusAttribute(); |
-} |
- |
-bool WebAccessibilityObject::canSetValueAttribute() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->canSetValueAttribute(); |
-} |
- |
-unsigned WebAccessibilityObject::childCount() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->children().size(); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::childAt(unsigned index) const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- if (m_private->children().size() <= index) |
- return WebAccessibilityObject(); |
- |
- return WebAccessibilityObject(m_private->children()[index]); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::parentObject() const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- return WebAccessibilityObject(m_private->parentObject()); |
-} |
- |
-bool WebAccessibilityObject::canSetSelectedAttribute() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->canSetSelectedAttribute(); |
-} |
- |
-bool WebAccessibilityObject::isAnchor() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isAnchor(); |
-} |
- |
-bool WebAccessibilityObject::isAriaReadOnly() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return equalIgnoringCase(m_private->getAttribute(HTMLNames::aria_readonlyAttr), "true"); |
-} |
- |
-bool WebAccessibilityObject::isButtonStateMixed() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->checkboxOrRadioValue() == ButtonStateMixed; |
-} |
- |
-bool WebAccessibilityObject::isChecked() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isChecked(); |
-} |
- |
-bool WebAccessibilityObject::isClickable() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isClickable(); |
-} |
- |
-bool WebAccessibilityObject::isCollapsed() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isCollapsed(); |
-} |
- |
-bool WebAccessibilityObject::isControl() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isControl(); |
-} |
- |
-bool WebAccessibilityObject::isEnabled() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isEnabled(); |
-} |
- |
-bool WebAccessibilityObject::isFocused() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isFocused(); |
-} |
- |
-bool WebAccessibilityObject::isHovered() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isHovered(); |
-} |
- |
-bool WebAccessibilityObject::isIndeterminate() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isIndeterminate(); |
-} |
- |
-bool WebAccessibilityObject::isLinked() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isLinked(); |
-} |
- |
-bool WebAccessibilityObject::isLoaded() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isLoaded(); |
-} |
- |
-bool WebAccessibilityObject::isMultiSelectable() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isMultiSelectable(); |
-} |
- |
-bool WebAccessibilityObject::isOffScreen() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isOffScreen(); |
-} |
- |
-bool WebAccessibilityObject::isPasswordField() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isPasswordField(); |
-} |
- |
-bool WebAccessibilityObject::isPressed() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isPressed(); |
-} |
- |
-bool WebAccessibilityObject::isReadOnly() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isReadOnly(); |
-} |
- |
-bool WebAccessibilityObject::isRequired() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isRequired(); |
-} |
- |
-bool WebAccessibilityObject::isSelected() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isSelected(); |
-} |
- |
-bool WebAccessibilityObject::isSelectedOptionActive() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->isSelectedOptionActive(); |
-} |
- |
-bool WebAccessibilityObject::isVertical() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->orientation() == AccessibilityOrientationVertical; |
-} |
- |
-bool WebAccessibilityObject::isVisible() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isVisible(); |
-} |
- |
-bool WebAccessibilityObject::isVisited() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->isVisited(); |
-} |
- |
-WebString WebAccessibilityObject::accessKey() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- return WebString(m_private->accessKey()); |
-} |
- |
-bool WebAccessibilityObject::ariaHasPopup() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->ariaHasPopup(); |
-} |
- |
-bool WebAccessibilityObject::ariaLiveRegionAtomic() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->ariaLiveRegionAtomic(); |
-} |
- |
-bool WebAccessibilityObject::ariaLiveRegionBusy() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->ariaLiveRegionBusy(); |
-} |
- |
-WebString WebAccessibilityObject::ariaLiveRegionRelevant() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- return m_private->ariaLiveRegionRelevant(); |
-} |
- |
-WebString WebAccessibilityObject::ariaLiveRegionStatus() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- return m_private->ariaLiveRegionStatus(); |
-} |
- |
-WebRect WebAccessibilityObject::boundingBoxRect() const |
-{ |
- if (isDetached()) |
- return WebRect(); |
- |
- return pixelSnappedIntRect(m_private->elementRect()); |
-} |
- |
-bool WebAccessibilityObject::canvasHasFallbackContent() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->canvasHasFallbackContent(); |
-} |
- |
-WebPoint WebAccessibilityObject::clickPoint() const |
-{ |
- if (isDetached()) |
- return WebPoint(); |
- |
- return WebPoint(m_private->clickPoint()); |
-} |
- |
-void WebAccessibilityObject::colorValue(int& r, int& g, int& b) const |
-{ |
- if (isDetached()) |
- return; |
- |
- m_private->colorValue(r, g, b); |
-} |
- |
-double WebAccessibilityObject::estimatedLoadingProgress() const |
-{ |
- if (isDetached()) |
- return 0.0; |
- |
- return m_private->estimatedLoadingProgress(); |
-} |
- |
-WebString WebAccessibilityObject::helpText() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- return m_private->helpText(); |
-} |
- |
-int WebAccessibilityObject::headingLevel() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->headingLevel(); |
-} |
- |
-int WebAccessibilityObject::hierarchicalLevel() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->hierarchicalLevel(); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::hitTest(const WebPoint& point) const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- IntPoint contentsPoint = m_private->documentFrameView()->windowToContents(point); |
- RefPtr<AccessibilityObject> hit = m_private->accessibilityHitTest(contentsPoint); |
- |
- if (hit) |
- return WebAccessibilityObject(hit); |
- |
- if (m_private->elementRect().contains(contentsPoint)) |
- return *this; |
- |
- return WebAccessibilityObject(); |
-} |
- |
-WebString WebAccessibilityObject::keyboardShortcut() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- String accessKey = m_private->accessKey(); |
- if (accessKey.isNull()) |
- return WebString(); |
- |
- DEFINE_STATIC_LOCAL(String, modifierString, ()); |
- if (modifierString.isNull()) { |
- unsigned modifiers = EventHandler::accessKeyModifiers(); |
- // Follow the same order as Mozilla MSAA implementation: |
- // Ctrl+Alt+Shift+Meta+key. MSDN states that keyboard shortcut strings |
- // should not be localized and defines the separator as "+". |
- StringBuilder modifierStringBuilder; |
- if (modifiers & PlatformEvent::CtrlKey) |
- modifierStringBuilder.appendLiteral("Ctrl+"); |
- if (modifiers & PlatformEvent::AltKey) |
- modifierStringBuilder.appendLiteral("Alt+"); |
- if (modifiers & PlatformEvent::ShiftKey) |
- modifierStringBuilder.appendLiteral("Shift+"); |
- if (modifiers & PlatformEvent::MetaKey) |
- modifierStringBuilder.appendLiteral("Win+"); |
- modifierString = modifierStringBuilder.toString(); |
- } |
- |
- return String(modifierString + accessKey); |
-} |
- |
-bool WebAccessibilityObject::performDefaultAction() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->performDefaultAction(); |
-} |
- |
-bool WebAccessibilityObject::increment() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- if (canIncrement()) { |
- m_private->increment(); |
- return true; |
- } |
- return false; |
-} |
- |
-bool WebAccessibilityObject::decrement() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- if (canDecrement()) { |
- m_private->decrement(); |
- return true; |
- } |
- return false; |
-} |
- |
-bool WebAccessibilityObject::press() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->press(); |
-} |
- |
-// Deprecated in favor of role(). |
-WebAccessibilityRole WebAccessibilityObject::roleValue() const |
-{ |
- if (isDetached()) |
- return WebKit::WebAccessibilityRoleUnknown; |
- |
- return static_cast<WebAccessibilityRole>(m_private->roleValue()); |
-} |
- |
-WebAXRole WebAccessibilityObject::role() const |
-{ |
- if (isDetached()) |
- return WebKit::WebAXRoleUnknown; |
- |
- return static_cast<WebAXRole>(m_private->roleValue()); |
-} |
- |
-unsigned WebAccessibilityObject::selectionEnd() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->selectedTextRange().start + m_private->selectedTextRange().length; |
-} |
- |
-unsigned WebAccessibilityObject::selectionStart() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- return m_private->selectedTextRange().start; |
-} |
- |
-unsigned WebAccessibilityObject::selectionEndLineNumber() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- VisiblePosition position = m_private->visiblePositionForIndex(selectionEnd()); |
- int lineNumber = m_private->lineForPosition(position); |
- if (lineNumber < 0) |
- return 0; |
- return lineNumber; |
-} |
- |
-unsigned WebAccessibilityObject::selectionStartLineNumber() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- VisiblePosition position = m_private->visiblePositionForIndex(selectionStart()); |
- int lineNumber = m_private->lineForPosition(position); |
- if (lineNumber < 0) |
- return 0; |
- return lineNumber; |
-} |
- |
-void WebAccessibilityObject::setFocused(bool on) const |
-{ |
- if (!isDetached()) |
- m_private->setFocused(on); |
-} |
- |
-void WebAccessibilityObject::setSelectedTextRange(int selectionStart, int selectionEnd) const |
-{ |
- if (isDetached()) |
- return; |
- |
- m_private->setSelectedTextRange(PlainTextRange(selectionStart, selectionEnd - selectionStart)); |
-} |
- |
-WebString WebAccessibilityObject::stringValue() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- return m_private->stringValue(); |
-} |
- |
-WebString WebAccessibilityObject::title() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- return m_private->title(); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::titleUIElement() const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- if (!m_private->exposesTitleUIElement()) |
- return WebAccessibilityObject(); |
- |
- return WebAccessibilityObject(m_private->titleUIElement()); |
-} |
- |
-WebURL WebAccessibilityObject::url() const |
-{ |
- if (isDetached()) |
- return WebURL(); |
- |
- return m_private->url(); |
-} |
- |
-bool WebAccessibilityObject::supportsRangeValue() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->supportsRangeValue(); |
-} |
- |
-WebString WebAccessibilityObject::valueDescription() const |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- return m_private->valueDescription(); |
-} |
- |
-float WebAccessibilityObject::valueForRange() const |
-{ |
- if (isDetached()) |
- return 0.0; |
- |
- return m_private->valueForRange(); |
-} |
- |
-float WebAccessibilityObject::maxValueForRange() const |
-{ |
- if (isDetached()) |
- return 0.0; |
- |
- return m_private->maxValueForRange(); |
-} |
- |
-float WebAccessibilityObject::minValueForRange() const |
-{ |
- if (isDetached()) |
- return 0.0; |
- |
- return m_private->minValueForRange(); |
-} |
- |
-WebNode WebAccessibilityObject::node() const |
-{ |
- if (isDetached()) |
- return WebNode(); |
- |
- Node* node = m_private->node(); |
- if (!node) |
- return WebNode(); |
- |
- return WebNode(node); |
-} |
- |
-WebDocument WebAccessibilityObject::document() const |
-{ |
- if (isDetached()) |
- return WebDocument(); |
- |
- Document* document = m_private->document(); |
- if (!document) |
- return WebDocument(); |
- |
- return WebDocument(document); |
-} |
- |
-bool WebAccessibilityObject::hasComputedStyle() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- 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 |
-{ |
- if (isDetached()) |
- return WebString(); |
- |
- 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()); |
-} |
- |
-bool WebAccessibilityObject::accessibilityIsIgnored() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- return m_private->accessibilityIsIgnored(); |
-} |
- |
-bool WebAccessibilityObject::lineBreaks(WebVector<int>& result) const |
-{ |
- if (isDetached()) |
- return false; |
- |
- Vector<int> lineBreaksVector; |
- m_private->lineBreaks(lineBreaksVector); |
- |
- size_t vectorSize = lineBreaksVector.size(); |
- WebVector<int> lineBreaksWebVector(vectorSize); |
- for (size_t i = 0; i< vectorSize; i++) |
- lineBreaksWebVector[i] = lineBreaksVector[i]; |
- result.swap(lineBreaksWebVector); |
- |
- return true; |
-} |
- |
-unsigned WebAccessibilityObject::columnCount() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- if (!m_private->isAccessibilityTable()) |
- return 0; |
- |
- return static_cast<WebCore::AccessibilityTable*>(m_private.get())->columnCount(); |
-} |
- |
-unsigned WebAccessibilityObject::rowCount() const |
-{ |
- if (isDetached()) |
- return false; |
- |
- if (!m_private->isAccessibilityTable()) |
- return 0; |
- |
- return static_cast<WebCore::AccessibilityTable*>(m_private.get())->rowCount(); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::cellForColumnAndRow(unsigned column, unsigned row) const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- if (!m_private->isAccessibilityTable()) |
- return WebAccessibilityObject(); |
- |
- WebCore::AccessibilityTableCell* cell = static_cast<WebCore::AccessibilityTable*>(m_private.get())->cellForColumnAndRow(column, row); |
- return WebAccessibilityObject(static_cast<WebCore::AccessibilityObject*>(cell)); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::headerContainerObject() const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- if (!m_private->isAccessibilityTable()) |
- return WebAccessibilityObject(); |
- |
- return WebAccessibilityObject(static_cast<WebCore::AccessibilityTable*>(m_private.get())->headerContainer()); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::rowAtIndex(unsigned int rowIndex) const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- if (!m_private->isAccessibilityTable()) |
- return WebAccessibilityObject(); |
- |
- const AccessibilityObject::AccessibilityChildrenVector& rows = static_cast<WebCore::AccessibilityTable*>(m_private.get())->rows(); |
- if (rowIndex < rows.size()) |
- return WebAccessibilityObject(rows[rowIndex]); |
- |
- return WebAccessibilityObject(); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::columnAtIndex(unsigned int columnIndex) const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- if (!m_private->isAccessibilityTable()) |
- return WebAccessibilityObject(); |
- |
- const AccessibilityObject::AccessibilityChildrenVector& columns = static_cast<WebCore::AccessibilityTable*>(m_private.get())->columns(); |
- if (columnIndex < columns.size()) |
- return WebAccessibilityObject(columns[columnIndex]); |
- |
- return WebAccessibilityObject(); |
-} |
- |
-unsigned WebAccessibilityObject::rowIndex() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- if (!m_private->isTableRow()) |
- return 0; |
- |
- return static_cast<WebCore::AccessibilityTableRow*>(m_private.get())->rowIndex(); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::rowHeader() const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- if (!m_private->isTableRow()) |
- return WebAccessibilityObject(); |
- |
- return WebAccessibilityObject(static_cast<WebCore::AccessibilityTableRow*>(m_private.get())->headerObject()); |
-} |
- |
-unsigned WebAccessibilityObject::columnIndex() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- if (m_private->roleValue() != ColumnRole) |
- return 0; |
- |
- return static_cast<WebCore::AccessibilityTableColumn*>(m_private.get())->columnIndex(); |
-} |
- |
-WebAccessibilityObject WebAccessibilityObject::columnHeader() const |
-{ |
- if (isDetached()) |
- return WebAccessibilityObject(); |
- |
- if (m_private->roleValue() != ColumnRole) |
- return WebAccessibilityObject(); |
- |
- return WebAccessibilityObject(static_cast<WebCore::AccessibilityTableColumn*>(m_private.get())->headerObject()); |
-} |
- |
-unsigned WebAccessibilityObject::cellColumnIndex() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- if (!m_private->isTableCell()) |
- return 0; |
- |
- pair<unsigned, unsigned> columnRange; |
- static_cast<WebCore::AccessibilityTableCell*>(m_private.get())->columnIndexRange(columnRange); |
- return columnRange.first; |
-} |
- |
-unsigned WebAccessibilityObject::cellColumnSpan() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- if (!m_private->isTableCell()) |
- return 0; |
- |
- pair<unsigned, unsigned> columnRange; |
- static_cast<WebCore::AccessibilityTableCell*>(m_private.get())->columnIndexRange(columnRange); |
- return columnRange.second; |
-} |
- |
-unsigned WebAccessibilityObject::cellRowIndex() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- if (!m_private->isTableCell()) |
- return 0; |
- |
- pair<unsigned, unsigned> rowRange; |
- static_cast<WebCore::AccessibilityTableCell*>(m_private.get())->rowIndexRange(rowRange); |
- return rowRange.first; |
-} |
- |
-unsigned WebAccessibilityObject::cellRowSpan() const |
-{ |
- if (isDetached()) |
- return 0; |
- |
- if (!m_private->isTableCell()) |
- return 0; |
- |
- pair<unsigned, unsigned> rowRange; |
- static_cast<WebCore::AccessibilityTableCell*>(m_private.get())->rowIndexRange(rowRange); |
- return rowRange.second; |
-} |
- |
-void WebAccessibilityObject::scrollToMakeVisible() const |
-{ |
- if (!isDetached()) |
- m_private->scrollToMakeVisible(); |
-} |
- |
-void WebAccessibilityObject::scrollToMakeVisibleWithSubFocus(const WebRect& subfocus) const |
-{ |
- if (!isDetached()) |
- m_private->scrollToMakeVisibleWithSubFocus(subfocus); |
-} |
- |
-void WebAccessibilityObject::scrollToGlobalPoint(const WebPoint& point) const |
-{ |
- if (!isDetached()) |
- m_private->scrollToGlobalPoint(point); |
-} |
- |
-WebAccessibilityObject::WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object) |
- : m_private(object) |
-{ |
-} |
- |
-WebAccessibilityObject& WebAccessibilityObject::operator=(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object) |
-{ |
- m_private = object; |
- return *this; |
-} |
- |
-WebAccessibilityObject::operator WTF::PassRefPtr<WebCore::AccessibilityObject>() const |
-{ |
- return m_private.get(); |
-} |
- |
-} // namespace WebKit |