Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Unified Diff: Source/core/accessibility/AXObject.h

Issue 713933002: Create Source/modules/accessibility/ and move most of core/accessibility/* into it (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/accessibility/AXNodeObject.cpp ('k') | Source/core/accessibility/AXObject.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/accessibility/AXObject.h
diff --git a/Source/core/accessibility/AXObject.h b/Source/core/accessibility/AXObject.h
deleted file mode 100644
index f63f9f377caa8b16839a14143758c023a4d451f4..0000000000000000000000000000000000000000
--- a/Source/core/accessibility/AXObject.h
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Nuanti Ltd.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 APPLE AND ITS 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 APPLE OR ITS 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.
- */
-
-#ifndef AXObject_h
-#define AXObject_h
-
-#include "core/editing/VisiblePosition.h"
-#include "platform/geometry/FloatQuad.h"
-#include "platform/geometry/LayoutRect.h"
-#include "wtf/Forward.h"
-#include "wtf/RefPtr.h"
-#include "wtf/Vector.h"
-
-namespace blink {
-
-class AXObject;
-class AXObjectCacheImpl;
-class Element;
-class FrameView;
-class IntPoint;
-class Node;
-class RenderObject;
-class ScrollableArea;
-class Widget;
-
-typedef unsigned AXID;
-
-enum AccessibilityRole {
- AlertDialogRole = 1,
- AlertRole,
- AnnotationRole,
- ApplicationRole,
- ArticleRole,
- BannerRole,
- BlockquoteRole,
- BrowserRole,
- BusyIndicatorRole,
- ButtonRole,
- CanvasRole,
- CellRole,
- CheckBoxRole,
- ColorWellRole,
- ColumnHeaderRole,
- ColumnRole,
- ComboBoxRole,
- ComplementaryRole,
- ContentInfoRole,
- DateRole,
- DateTimeRole,
- DefinitionRole,
- DescriptionListDetailRole,
- DescriptionListRole,
- DescriptionListTermRole,
- DetailsRole,
- DialogRole,
- DirectoryRole,
- DisclosureTriangleRole,
- DivRole,
- DocumentRole,
- DrawerRole,
- EditableTextRole,
- EmbeddedObjectRole,
- FigcaptionRole,
- FigureRole,
- FooterRole,
- FormRole,
- GridRole,
- GroupRole,
- GrowAreaRole,
- HeadingRole,
- HelpTagRole,
- HorizontalRuleRole,
- IframeRole,
- IgnoredRole,
- ImageMapLinkRole,
- ImageMapRole,
- ImageRole,
- IncrementorRole,
- InlineTextBoxRole,
- LabelRole,
- LegendRole,
- LinkRole,
- ListBoxOptionRole,
- ListBoxRole,
- ListItemRole,
- ListMarkerRole,
- ListRole,
- LogRole,
- MainRole,
- MarqueeRole,
- MathElementRole,
- MathRole,
- MatteRole,
- MenuBarRole,
- MenuButtonRole,
- MenuItemRole,
- MenuItemCheckBoxRole,
- MenuItemRadioRole,
- MenuListOptionRole,
- MenuListPopupRole,
- MenuRole,
- MeterRole,
- NavigationRole,
- NoneRole,
- NoteRole,
- OutlineRole,
- ParagraphRole,
- PopUpButtonRole,
- PreRole,
- PresentationalRole,
- ProgressIndicatorRole,
- RadioButtonRole,
- RadioGroupRole,
- RegionRole,
- RootWebAreaRole,
- RowHeaderRole,
- RowRole,
- RubyRole,
- RulerMarkerRole,
- RulerRole,
- SVGRootRole,
- ScrollAreaRole,
- ScrollBarRole,
- SeamlessWebAreaRole,
- SearchRole,
- SheetRole,
- SliderRole,
- SliderThumbRole,
- SpinButtonPartRole,
- SpinButtonRole,
- SplitGroupRole,
- SplitterRole,
- StaticTextRole,
- StatusRole,
- SystemWideRole,
- TabGroupRole,
- TabListRole,
- TabPanelRole,
- TabRole,
- TableHeaderContainerRole,
- TableRole,
- TextAreaRole,
- TextFieldRole,
- TimeRole,
- TimerRole,
- ToggleButtonRole,
- ToolbarRole,
- TreeGridRole,
- TreeItemRole,
- TreeRole,
- UnknownRole,
- UserInterfaceTooltipRole,
- ValueIndicatorRole,
- WebAreaRole,
- WindowRole,
-};
-
-enum AccessibilityTextSource {
- AlternativeText,
- ChildrenText,
- SummaryText,
- HelpText,
- VisibleText,
- TitleTagText,
- PlaceholderText,
- LabelByElementText,
-};
-
-enum AccessibilityState {
- AXBusyState,
- AXCheckedState,
- AXEnabledState,
- AXExpandedState,
- AXFocusableState,
- AXFocusedState,
- AXHaspopupState,
- AXHoveredState,
- AXIndeterminateState,
- AXInvisibleState,
- AXLinkedState,
- AXMultiselectableState,
- AXOffscreenState,
- AXPressedState,
- AXProtectedState,
- AXReadonlyState,
- AXRequiredState,
- AXSelectableState,
- AXSelectedState,
- AXVerticalState,
- AXVisitedState
-};
-
-struct AccessibilityText {
- String text;
- AccessibilityTextSource textSource;
- RefPtr<AXObject> textElement;
-
- AccessibilityText(const String& t, const AccessibilityTextSource& s)
- : text(t)
- , textSource(s)
- { }
-
- AccessibilityText(const String& t, const AccessibilityTextSource& s, const RefPtr<AXObject> element)
- : text(t)
- , textSource(s)
- , textElement(element)
- { }
-};
-
-enum AccessibilityOrientation {
- AccessibilityOrientationVertical,
- AccessibilityOrientationHorizontal,
-};
-
-enum AXObjectInclusion {
- IncludeObject,
- IgnoreObject,
- DefaultBehavior,
-};
-
-enum AccessibilityButtonState {
- ButtonStateOff = 0,
- ButtonStateOn,
- ButtonStateMixed,
-};
-
-enum AccessibilityTextDirection {
- AccessibilityTextDirectionLeftToRight,
- AccessibilityTextDirectionRightToLeft,
- AccessibilityTextDirectionTopToBottom,
- AccessibilityTextDirectionBottomToTop
-};
-
-enum AccessibilityExpanded {
- ExpandedUndefined = 0,
- ExpandedCollapsed,
- ExpandedExpanded,
-};
-
-class AXObject : public RefCounted<AXObject> {
-public:
- typedef Vector<RefPtr<AXObject> > AccessibilityChildrenVector;
-
- struct PlainTextRange {
-
- unsigned start;
- unsigned length;
-
- PlainTextRange()
- : start(0)
- , length(0)
- { }
-
- PlainTextRange(unsigned s, unsigned l)
- : start(s)
- , length(l)
- { }
-
- bool isNull() const { return !start && !length; }
- };
-
-protected:
- AXObject();
-
-public:
- virtual ~AXObject();
-
- // After constructing an AXObject, it must be given a
- // unique ID, then added to AXObjectCacheImpl, and finally init() must
- // be called last.
- void setAXObjectID(AXID axObjectID) { m_id = axObjectID; }
- virtual void init() { }
-
- // When the corresponding WebCore object that this AXObject
- // wraps is deleted, it must be detached.
- virtual void detach();
- virtual bool isDetached() const;
-
- // If the parent of this object is known, this can be faster than using computeParent().
- virtual void setParent(AXObject* parent) { m_parent = parent; }
-
- // The AXObjectCacheImpl that owns this object, and its unique ID within this cache.
- AXObjectCacheImpl* axObjectCache() const;
- AXID axObjectID() const { return m_id; }
-
- // Determine subclass type.
- virtual bool isAXNodeObject() const { return false; }
- virtual bool isAXRenderObject() const { return false; }
- virtual bool isAXScrollbar() const { return false; }
- virtual bool isAXScrollView() const { return false; }
- virtual bool isAXSVGRoot() const { return false; }
-
- // Check object role or purpose.
- virtual AccessibilityRole roleValue() const { return m_role; }
- bool isARIATextControl() const;
- virtual bool isARIATreeGridRow() const { return false; }
- virtual bool isAXTable() const { return false; }
- virtual bool isAnchor() const { return false; }
- virtual bool isAttachment() const { return false; }
- bool isButton() const;
- bool isCanvas() const { return roleValue() == CanvasRole; }
- bool isCheckbox() const { return roleValue() == CheckBoxRole; }
- bool isCheckboxOrRadio() const { return isCheckbox() || isRadioButton(); }
- bool isColorWell() const { return roleValue() == ColorWellRole; }
- bool isComboBox() const { return roleValue() == ComboBoxRole; }
- virtual bool isControl() const { return false; }
- virtual bool isDataTable() const { return false; }
- virtual bool isEmbeddedObject() const { return false; }
- virtual bool isFieldset() const { return false; }
- virtual bool isFileUploadButton() const { return false; }
- virtual bool isHeading() const { return false; }
- virtual bool isImage() const { return false; }
- virtual bool isImageMapLink() const { return false; }
- virtual bool isInputImage() const { return false; }
- bool isLandmarkRelated() const;
- virtual bool isLink() const { return false; }
- virtual bool isList() const { return false; }
- bool isListItem() const { return roleValue() == ListItemRole; }
- virtual bool isListBoxOption() const { return false; }
- virtual bool isMenu() const { return false; }
- virtual bool isMenuButton() const { return false; }
- virtual bool isMenuList() const { return false; }
- virtual bool isMenuListOption() const { return false; }
- virtual bool isMenuListPopup() const { return false; }
- bool isMenuRelated() const;
- virtual bool isMockObject() const { return false; }
- virtual bool isNativeSpinButton() const { return false; }
- virtual bool isNativeTextControl() const { return false; } // input or textarea
- virtual bool isNonNativeTextControl() const { return false; } // contenteditable or role=textbox
- virtual bool isPasswordField() const { return false; }
- virtual bool isPasswordFieldAndShouldHideValue() const;
- virtual bool isProgressIndicator() const { return false; }
- bool isRadioButton() const { return roleValue() == RadioButtonRole; }
- bool isScrollbar() const { return roleValue() == ScrollBarRole; }
- virtual bool isSlider() const { return false; }
- virtual bool isSpinButton() const { return roleValue() == SpinButtonRole; }
- virtual bool isSpinButtonPart() const { return false; }
- bool isTabItem() const { return roleValue() == TabRole; }
- virtual bool isTableCell() const { return false; }
- virtual bool isTableRow() const { return false; }
- virtual bool isTableCol() const { return false; }
- bool isTextControl() const;
- bool isTree() const { return roleValue() == TreeRole; }
- bool isTreeItem() const { return roleValue() == TreeItemRole; }
- bool isWebArea() const { return roleValue() == WebAreaRole; }
-
- // Check object state.
- virtual bool isChecked() const { return false; }
- virtual bool isClickable() const;
- virtual bool isCollapsed() const { return false; }
- virtual bool isEnabled() const { return false; }
- virtual AccessibilityExpanded isExpanded() const { return ExpandedUndefined; }
- virtual bool isFocused() const { return false; }
- virtual bool isHovered() const { return false; }
- virtual bool isIndeterminate() const { return false; }
- virtual bool isLinked() const { return false; }
- virtual bool isLoaded() const { return false; }
- virtual bool isMultiSelectable() const { return false; }
- virtual bool isOffScreen() const { return false; }
- virtual bool isPressed() const { return false; }
- virtual bool isReadOnly() const { return false; }
- virtual bool isRequired() const { return false; }
- virtual bool isSelected() const { return false; }
- virtual bool isSelectedOptionActive() const { return false; }
- virtual bool isVisible() const { return true; }
- virtual bool isVisited() const { return false; }
-
- // Check whether certain properties can be modified.
- virtual bool canSetFocusAttribute() const { return false; }
- virtual bool canSetValueAttribute() const { return false; }
- virtual bool canSetSelectedAttribute() const { return false; }
-
- // Whether objects are ignored, i.e. not included in the tree.
- bool accessibilityIsIgnored() const;
- bool accessibilityIsIgnoredByDefault() const;
- AXObjectInclusion accessibilityPlatformIncludesObject() const;
- virtual AXObjectInclusion defaultObjectInclusion() const;
- bool isInertOrAriaHidden() const;
- bool lastKnownIsIgnoredValue();
- void setLastKnownIsIgnoredValue(bool);
-
- // Properties of static elements.
- virtual const AtomicString& accessKey() const { return nullAtom; }
- virtual bool canvasHasFallbackContent() const { return false; }
- virtual bool exposesTitleUIElement() const { return true; }
- virtual int headingLevel() const { return 0; }
- // 1-based, to match the aria-level spec.
- virtual unsigned hierarchicalLevel() const { return 0; }
- virtual AccessibilityOrientation orientation() const;
- virtual String text() const { return String(); }
- virtual int textLength() const { return 0; }
- virtual AXObject* titleUIElement() const { return 0; }
- virtual KURL url() const { return KURL(); }
-
- // For an inline text box.
- virtual AccessibilityTextDirection textDirection() const { return AccessibilityTextDirectionLeftToRight; }
- // The integer horizontal pixel offset of each character in the string; negative values for RTL.
- virtual void textCharacterOffsets(Vector<int>&) const { }
- // The start and end character offset of each word in the inline text box.
- virtual void wordBoundaries(Vector<PlainTextRange>& words) const { }
-
- // Properties of interactive elements.
- virtual String actionVerb() const;
- virtual AccessibilityButtonState checkboxOrRadioValue() const;
- virtual void colorValue(int& r, int& g, int& b) const { r = 0; g = 0; b = 0; }
- virtual String valueDescription() const { return String(); }
- virtual float valueForRange() const { return 0.0f; }
- virtual float maxValueForRange() const { return 0.0f; }
- virtual float minValueForRange() const { return 0.0f; }
- virtual String stringValue() const { return String(); }
- virtual const AtomicString& textInputType() const { return nullAtom; }
-
- // ARIA attributes.
- virtual AXObject* activeDescendant() const { return 0; }
- virtual String ariaDescribedByAttribute() const { return String(); }
- virtual void ariaFlowToElements(AccessibilityChildrenVector&) const { }
- virtual void ariaControlsElements(AccessibilityChildrenVector&) const { }
- virtual void ariaDescribedbyElements(AccessibilityChildrenVector& describedby) const { };
- virtual void ariaLabelledbyElements(AccessibilityChildrenVector& labelledby) const { };
- virtual void ariaOwnsElements(AccessibilityChildrenVector& owns) const { };
- virtual bool ariaHasPopup() const { return false; }
- bool ariaIsMultiline() const;
- virtual String ariaLabeledByAttribute() const { return String(); }
- bool ariaPressedIsPresent() const;
- virtual AccessibilityRole ariaRoleAttribute() const { return UnknownRole; }
- virtual bool ariaRoleHasPresentationalChildren() const { return false; }
- virtual bool isARIAGrabbed() { return false; }
- virtual bool isPresentationalChildOfAriaRole() const { return false; }
- virtual bool shouldFocusActiveDescendant() const { return false; }
- bool supportsARIAAttributes() const;
- virtual bool supportsARIADragging() const { return false; }
- virtual bool supportsARIADropping() const { return false; }
- virtual bool supportsARIAFlowTo() const { return false; }
- virtual bool supportsARIAOwns() const { return false; }
- bool supportsRangeValue() const;
-
- // ARIA trees.
- // Used by an ARIA tree to get all its rows.
- void ariaTreeRows(AccessibilityChildrenVector&);
-
- // ARIA live-region features.
- bool isLiveRegion() const;
- const AXObject* liveRegionRoot() const;
- virtual const AtomicString& liveRegionStatus() const { return nullAtom; }
- virtual const AtomicString& liveRegionRelevant() const { return nullAtom; }
- virtual bool liveRegionAtomic() const { return false; }
- virtual bool liveRegionBusy() const { return false; }
-
- const AtomicString& containerLiveRegionStatus() const;
- const AtomicString& containerLiveRegionRelevant() const;
- bool containerLiveRegionAtomic() const;
- bool containerLiveRegionBusy() const;
-
- // Accessibility Text.
- virtual String textUnderElement() const { return String(); }
-
- // Accessibility Text - (To be deprecated).
- virtual String accessibilityDescription() const { return String(); }
- virtual String title() const { return String(); }
- virtual String helpText() const { return String(); }
-
- // Location and click point in frame-relative coordinates.
- virtual LayoutRect elementRect() const { return m_explicitElementRect; }
- void setElementRect(LayoutRect r) { m_explicitElementRect = r; }
- virtual void markCachedElementRectDirty() const;
- virtual IntPoint clickPoint();
-
- // Hit testing.
- // Called on the root AX object to return the deepest available element.
- virtual AXObject* accessibilityHitTest(const IntPoint&) const { return 0; }
- // Called on the AX object after the render tree determines which is the right AXRenderObject.
- virtual AXObject* elementAccessibilityHitTest(const IntPoint&) const;
-
- // High-level accessibility tree access. Other modules should only use these functions.
- const AccessibilityChildrenVector& children();
- AXObject* parentObject() const;
- AXObject* parentObjectIfExists() const;
- virtual AXObject* computeParent() const = 0;
- virtual AXObject* computeParentIfExists() const { return 0; }
- AXObject* cachedParentObject() const { return m_parent; }
- AXObject* parentObjectUnignored() const;
-
- // Low-level accessibility tree exploration, only for use within the accessibility module.
- virtual AXObject* firstChild() const { return 0; }
- virtual AXObject* nextSibling() const { return 0; }
- static AXObject* firstAccessibleObjectFromNode(const Node*);
- virtual void addChildren() { }
- virtual bool canHaveChildren() const { return true; }
- bool hasChildren() const { return m_haveChildren; }
- virtual void updateChildrenIfNecessary();
- virtual bool needsToUpdateChildren() const { return false; }
- virtual void setNeedsToUpdateChildren() { }
- virtual void clearChildren();
- virtual void detachFromParent() { m_parent = 0; }
- virtual AXObject* observableObject() const { return 0; }
- virtual AXObject* scrollBar(AccessibilityOrientation) { return 0; }
-
- // Properties of the object's owning document or page.
- virtual double estimatedLoadingProgress() const { return 0; }
- AXObject* focusedUIElement() const;
-
- // DOM and Render tree access.
- virtual Node* node() const { return 0; }
- virtual RenderObject* renderer() const { return 0; }
- virtual Document* document() const;
- virtual FrameView* documentFrameView() const;
- virtual Element* anchorElement() const { return 0; }
- virtual Element* actionElement() const { return 0; }
- virtual Widget* widgetForAttachmentView() const { return 0; }
- String language() const;
- bool hasAttribute(const QualifiedName&) const;
- const AtomicString& getAttribute(const QualifiedName&) const;
-
- // Selected text.
- virtual PlainTextRange selectedTextRange() const { return PlainTextRange(); }
-
- // Modify or take an action on an object.
- virtual void increment() { }
- virtual void decrement() { }
- bool performDefaultAction() const { return press(); }
- virtual bool press() const;
- // Make this object visible by scrolling as many nested scrollable views as needed.
- void scrollToMakeVisible() const;
- // Same, but if the whole object can't be made visible, try for this subrect, in local coordinates.
- void scrollToMakeVisibleWithSubFocus(const IntRect&) const;
- // Scroll this object to a given point in global coordinates of the top-level window.
- void scrollToGlobalPoint(const IntPoint&) const;
- virtual void setFocused(bool) { }
- virtual void setSelected(bool) { }
- void setSelectedText(const String&) { }
- virtual void setSelectedTextRange(const PlainTextRange&) { }
- virtual void setValue(const String&) { }
- virtual void setValue(float) { }
-
- // Notifications that this object may have changed.
- virtual void childrenChanged() { }
- virtual void handleActiveDescendantChanged() { }
- virtual void handleAriaExpandedChanged() { }
- void notifyIfIgnoredValueChanged();
- virtual void selectionChanged();
- virtual void textChanged() { }
- virtual void updateAccessibilityRole() { }
-
- // Text metrics. Most of these should be deprecated, needs major cleanup.
- virtual VisiblePosition visiblePositionForIndex(int) const { return VisiblePosition(); }
- int lineForPosition(const VisiblePosition&) const;
- virtual int index(const VisiblePosition&) const { return -1; }
- virtual void lineBreaks(Vector<int>&) const { }
-
- // Static helper functions.
- static bool isARIAControl(AccessibilityRole);
- static bool isARIAInput(AccessibilityRole);
- static AccessibilityRole ariaRoleToWebCoreRole(const String&);
- static IntRect boundingBoxForQuads(RenderObject*, const Vector<FloatQuad>&);
-
-protected:
- AXID m_id;
- AccessibilityChildrenVector m_children;
- mutable bool m_haveChildren;
- AccessibilityRole m_role;
- AXObjectInclusion m_lastKnownIsIgnoredValue;
- LayoutRect m_explicitElementRect;
-
- virtual bool computeAccessibilityIsIgnored() const { return true; }
-
- // If this object itself scrolls, return its ScrollableArea.
- virtual ScrollableArea* getScrollableAreaIfScrollable() const { return 0; }
- virtual void scrollTo(const IntPoint&) const { }
-
- AccessibilityRole buttonRoleType() const;
-
- bool allowsTextRanges() const { return isTextControl(); }
- unsigned getLengthForTextRange() const { return text().length(); }
-
- bool m_detached;
-
- mutable AXObject* m_parent;
-
- // The following cached attribute values (the ones starting with m_cached*)
- // are only valid if m_lastModificationCount matches AXObjectCacheImpl::modificationCount().
- mutable int m_lastModificationCount;
- mutable bool m_cachedIsIgnored;
- mutable const AXObject* m_cachedLiveRegionRoot;
-
- // Updates the cached attribute values. This may be recursive, so to prevent deadlocks,
- // functions called here may only search up the tree (ancestors), not down.
- void updateCachedAttributeValuesIfNeeded() const;
-};
-
-#define DEFINE_AX_OBJECT_TYPE_CASTS(thisType, predicate) \
- DEFINE_TYPE_CASTS(thisType, AXObject, object, object->predicate, object.predicate)
-
-} // namespace blink
-
-#endif // AXObject_h
« no previous file with comments | « Source/core/accessibility/AXNodeObject.cpp ('k') | Source/core/accessibility/AXObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698