Changeset 95491 in webkit


Ignore:
Timestamp:
Sep 19, 2011 4:04:11 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

Expose AXObjectCache methods so that WebAccessibilityCache
can be deleted.
https://bugs.webkit.org/show_bug.cgi?id=68225

Patch by Dominic Mazzoni <dmazzoni@google.com> on 2011-09-19
Reviewed by Dimitri Glazkov.

This patch exposes the functionality needed from AXObjectCache
with new methods in WebAccessibilityObject and WebDocument.
Next, Chromium will be updated to use only these methods and
not WebAccessibilityCache. Then, WebAccessibilityCache can be
deleted from WebKit.

  • public/WebAccessibilityObject.h:
  • public/WebDocument.h:
  • src/WebAccessibilityObject.cpp:

(WebKit::WebAccessibilityObject::enableAccessibility):
(WebKit::WebAccessibilityObject::accessibilityEnabled):
(WebKit::WebAccessibilityObject::axID):

  • src/WebDocument.cpp:

(WebKit::WebDocument::accessibilityObject):
(WebKit::WebDocument::accessibilityObjectFromID):

Location:
trunk/Source/WebKit/chromium
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r95490 r95491  
     12011-09-19  Dominic Mazzoni  <dmazzoni@google.com>
     2
     3        Expose AXObjectCache methods so that WebAccessibilityCache
     4        can be deleted.
     5        https://bugs.webkit.org/show_bug.cgi?id=68225
     6
     7        Reviewed by Dimitri Glazkov.
     8
     9        This patch exposes the functionality needed from AXObjectCache
     10        with new methods in WebAccessibilityObject and WebDocument.
     11        Next, Chromium will be updated to use only these methods and
     12        not WebAccessibilityCache. Then, WebAccessibilityCache can be
     13        deleted from WebKit.
     14
     15        * public/WebAccessibilityObject.h:
     16        * public/WebDocument.h:
     17        * src/WebAccessibilityObject.cpp:
     18        (WebKit::WebAccessibilityObject::enableAccessibility):
     19        (WebKit::WebAccessibilityObject::accessibilityEnabled):
     20        (WebKit::WebAccessibilityObject::axID):
     21        * src/WebDocument.cpp:
     22        (WebKit::WebDocument::accessibilityObject):
     23        (WebKit::WebDocument::accessibilityObjectFromID):
     24
    1252011-09-19  Bill Budge  <bbudge@chromium.org>
    226
  • trunk/Source/WebKit/chromium/public/WebAccessibilityObject.h

    r93342 r95491  
    7070
    7171    bool isNull() const { return m_private.isNull(); }
     72
     73    // Static methods for enabling accessibility.
     74    WEBKIT_EXPORT static void enableAccessibility();
     75    WEBKIT_EXPORT static bool accessibilityEnabled();
     76
     77    WEBKIT_EXPORT int axID() const;
    7278
    7379    WEBKIT_EXPORT WebString accessibilityDescription() const;
  • trunk/Source/WebKit/chromium/public/WebDocument.h

    r93714 r95491  
    9999    WEBKIT_EXPORT WebNode focusedNode() const;
    100100    WEBKIT_EXPORT WebDocumentType doctype() const;
    101     WEBKIT_EXPORT WebAccessibilityObject accessibilityObject() const;
    102101    WEBKIT_EXPORT void cancelFullScreen();
    103102
     103    // Accessibility support. These methods should only be called on the
     104    // top-level document, because one accessibility cache spans all of
     105    // the documents on the page.
     106
     107    // Gets the accessibility object for this document.
     108    WEBKIT_EXPORT WebAccessibilityObject accessibilityObject() const;
     109
     110    // Gets the accessibility object for an object on this page by ID.
     111    WEBKIT_EXPORT WebAccessibilityObject accessibilityObjectFromID(int axID) const;
    104112    // Inserts the given CSS source code as a user stylesheet in the document.
    105113    // Meant for programatic/one-off injection, as opposed to
  • trunk/Source/WebKit/chromium/src/WebAccessibilityObject.cpp

    r93342 r95491  
    3232#include "WebAccessibilityObject.h"
    3333
     34#include "AXObjectCache.h"
    3435#include "AccessibilityObject.h"
    3536#include "AccessibilityTable.h"
     
    7071}
    7172
     73// static
     74void WebAccessibilityObject::enableAccessibility()
     75{
     76    AXObjectCache::enableAccessibility();
     77}
     78
     79// static
     80bool WebAccessibilityObject::accessibilityEnabled()
     81{
     82    return AXObjectCache::accessibilityEnabled();
     83}
     84
     85int WebAccessibilityObject::axID() const
     86{
     87    if (m_private.isNull())
     88        return -1;
     89
     90    m_private->updateBackingStore();
     91    return m_private->axObjectID();
     92}
     93
    7294WebString WebAccessibilityObject::accessibilityDescription() const
    7395{
  • trunk/Source/WebKit/chromium/src/WebDocument.cpp

    r94816 r95491  
    173173}
    174174
    175 WebAccessibilityObject WebDocument::accessibilityObject() const
    176 {
    177     const Document* document = constUnwrap<Document>();
    178     return WebAccessibilityObject(
    179         document->axObjectCache()->getOrCreate(document->renderer()));
    180 }
    181 
    182175void WebDocument::insertUserStyleSheet(const WebString& sourceCode, UserStyleLevel level)
    183176{
     
    197190}
    198191
     192WebAccessibilityObject WebDocument::accessibilityObject() const
     193{
     194    const Document* document = constUnwrap<Document>();
     195    return WebAccessibilityObject(
     196        document->axObjectCache()->getOrCreate(document->renderer()));
     197}
     198
     199WebAccessibilityObject WebDocument::accessibilityObjectFromID(int axID) const
     200{
     201    const Document* document = constUnwrap<Document>();
     202    return WebAccessibilityObject(
     203        document->axObjectCache()->objectFromAXID(axID));
     204}
     205
    199206WebDocument::WebDocument(const PassRefPtr<Document>& elem)
    200207    : WebNode(elem)
Note: See TracChangeset for help on using the changeset viewer.