Changeset 64471 in webkit


Ignore:
Timestamp:
Aug 2, 2010 10:14:47 AM (14 years ago)
Author:
Chris Fleizach
Message:

AX: Support methods for web apps to interact with the native accessibility APIs
https://bugs.webkit.org/show_bug.cgi?id=43005

Reviewed by David Kilzer.

.:

  • GNUmakefile.am:

WebCore:

Adds a new "accessibility" object that hangs off of "window.navigator".
This accessibility object will allow web apps to interact with native accessibility APIs
to provide a richer experience (for screen reader users primarily).

Test: platform/mac/accessibility/js-accessibility.html

  • Android.derived.v8bindings.mk:
  • Android.jscbindings.mk:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pri:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::):

  • accessibility/Accessibility.cpp: Added.

(WebCore::Accessibility::Accessibility):
(WebCore::Accessibility::~Accessibility):
(WebCore::Accessibility::disconnectFrame):
(WebCore::Accessibility::screenChanged):
(WebCore::Accessibility::elementsChanged):
(WebCore::Accessibility::screenReader):

  • accessibility/Accessibility.h: Added.

(WebCore::Accessibility::create):

  • accessibility/Accessibility.idl: Added.
  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isScreenReaderRunning):
(WebCore::AccessibilityObject::screenReaderFocusedElement):
(WebCore::AccessibilityObject::screenReaderVersion):

  • accessibility/ScreenReader.cpp: Added.

(WebCore::ScreenReader::ScreenReader):
(WebCore::ScreenReader::~ScreenReader):
(WebCore::ScreenReader::disconnectFrame):
(WebCore::ScreenReader::active):
(WebCore::ScreenReader::activeElement):
(WebCore::ScreenReader::version):

  • accessibility/ScreenReader.h: Added.

(WebCore::ScreenReader::create):

  • accessibility/ScreenReader.idl: Added.
  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::isScreenReaderRunning):
(WebCore::AccessibilityObject::screenReaderFocusedElement):
(WebCore::AccessibilityObject::screenReaderVersion):

  • page/Navigator.cpp:

(WebCore::Navigator::disconnectFrame):
(WebCore::Navigator::accessibility):

  • page/Navigator.h:
  • page/Navigator.idl:

LayoutTests:

  • platform/mac/accessibility/js-accessibility-expected.txt: Added.
  • platform/mac/accessibility/js-accessibility.html: Added.
Location:
trunk
Files:
8 added
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r64460 r64471  
     12010-08-02  Chris Fleizach  <cfleizach@apple.com>
     2
     3        Reviewed by David Kilzer.
     4
     5        AX: Support methods for web apps to interact with the native accessibility APIs
     6        https://bugs.webkit.org/show_bug.cgi?id=43005
     7
     8        * GNUmakefile.am:
     9
    1102010-08-02  Balazs Kelemen  <kb@inf.u-szeged.hu>
    211
  • trunk/GNUmakefile.am

    r64281 r64471  
    337337
    338338webkitgtk_built_h_api += \
     339        DerivedSources/webkit/WebKitDOMAccessibility.h \
    339340        DerivedSources/webkit/WebKitDOMCSSRule.h \
    340341        DerivedSources/webkit/WebKitDOMCSSRuleList.h \
     
    445446        DerivedSources/webkit/WebKitDOMNavigator.h \
    446447        DerivedSources/webkit/WebKitDOMScreen.h \
     448        DerivedSources/webkit/WebKitDOMScreenReader.h \
    447449        DerivedSources/webkit/WebKitDOMWebKitPoint.h \
    448450        DerivedSources/webkit/WebKitDOMDOMMimeType.h \
     
    464466
    465467webkitgtk_gdom_built_sources += \
     468        DerivedSources/webkit/WebKitDOMAccessibility.cpp \
    466469        DerivedSources/webkit/WebKitDOMAttr.cpp \
    467470        DerivedSources/webkit/WebKitDOMAttrPrivate.h \
     
    674677        DerivedSources/webkit/WebKitDOMScreen.cpp \
    675678        DerivedSources/webkit/WebKitDOMScreenPrivate.h \
     679        DerivedSources/webkit/WebKitDOMScreenReader.cpp \
    676680        DerivedSources/webkit/WebKitDOMStorage.cpp \
    677681        DerivedSources/webkit/WebKitDOMStoragePrivate.h \
  • trunk/LayoutTests/ChangeLog

    r64470 r64471  
     12010-08-02  Chris Fleizach  <cfleizach@apple.com>
     2
     3        Reviewed by David Kilzer.
     4
     5        AX: Support methods for web apps to interact with the native accessibility APIs
     6        https://bugs.webkit.org/show_bug.cgi?id=43005
     7
     8        * platform/mac/accessibility/js-accessibility-expected.txt: Added.
     9        * platform/mac/accessibility/js-accessibility.html: Added.
     10
    1112010-08-02  Martin Robinson  <mrobinson@igalia.com>
    212
  • trunk/WebCore/Android.derived.v8bindings.mk

    r64358 r64471  
    257257$(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
    258258$(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/loader/appcache/%.idl $(js_binding_scripts)
     259        $(transform-generated-source)
     260LOCAL_GENERATED_SOURCES += $(GEN)
     261
     262# We also need the .cpp files, which are generated as side effects of the
     263# above rules.  Specifying this explicitly makes -j2 work.
     264$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
     265
     266# Accessibility
     267GEN := \
     268    $(intermediates)/bindings/V8Accessibility.h
     269    $(intermediates)/bindings/V8ScreenReader.h
     270
     271$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
     272$(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
     273$(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/accessibility/%.idl $(js_binding_scripts)
    259274        $(transform-generated-source)
    260275LOCAL_GENERATED_SOURCES += $(GEN)
  • trunk/WebCore/Android.jscbindings.mk

    r63193 r64471  
    4646        $(JAVASCRIPTCORE_PATH)/ForwardingHeaders \
    4747        \
     48        $(base_intermediates)/WebCore/accessibility \
    4849        $(base_intermediates)/WebCore/bindings/js \
    4950        $(base_intermediates)/WebCore/dom \
  • trunk/WebCore/ChangeLog

    r64470 r64471  
     12010-08-02  Chris Fleizach  <cfleizach@apple.com>
     2
     3        Reviewed by David Kilzer.
     4
     5        AX: Support methods for web apps to interact with the native accessibility APIs
     6        https://bugs.webkit.org/show_bug.cgi?id=43005
     7
     8        Adds a new "accessibility" object that hangs off of "window.navigator".
     9        This accessibility object will allow web apps to interact with native accessibility APIs
     10        to provide a richer experience (for screen reader users primarily).
     11
     12        Test: platform/mac/accessibility/js-accessibility.html
     13
     14        * Android.derived.v8bindings.mk:
     15        * Android.jscbindings.mk:
     16        * DerivedSources.cpp:
     17        * DerivedSources.make:
     18        * GNUmakefile.am:
     19        * WebCore.gypi:
     20        * WebCore.pri:
     21        * WebCore.pro:
     22        * WebCore.vcproj/WebCore.vcproj:
     23        * WebCore.xcodeproj/project.pbxproj:
     24        * accessibility/AXObjectCache.h:
     25        (WebCore::AXObjectCache::):
     26        * accessibility/Accessibility.cpp: Added.
     27        (WebCore::Accessibility::Accessibility):
     28        (WebCore::Accessibility::~Accessibility):
     29        (WebCore::Accessibility::disconnectFrame):
     30        (WebCore::Accessibility::screenChanged):
     31        (WebCore::Accessibility::elementsChanged):
     32        (WebCore::Accessibility::screenReader):
     33        * accessibility/Accessibility.h: Added.
     34        (WebCore::Accessibility::create):
     35        * accessibility/Accessibility.idl: Added.
     36        * accessibility/AccessibilityObject.h:
     37        (WebCore::AccessibilityObject::isScreenReaderRunning):
     38        (WebCore::AccessibilityObject::screenReaderFocusedElement):
     39        (WebCore::AccessibilityObject::screenReaderVersion):
     40        * accessibility/ScreenReader.cpp: Added.
     41        (WebCore::ScreenReader::ScreenReader):
     42        (WebCore::ScreenReader::~ScreenReader):
     43        (WebCore::ScreenReader::disconnectFrame):
     44        (WebCore::ScreenReader::active):
     45        (WebCore::ScreenReader::activeElement):
     46        (WebCore::ScreenReader::version):
     47        * accessibility/ScreenReader.h: Added.
     48        (WebCore::ScreenReader::create):
     49        * accessibility/ScreenReader.idl: Added.
     50        * accessibility/mac/AXObjectCacheMac.mm:
     51        (WebCore::AXObjectCache::postPlatformNotification):
     52        * accessibility/mac/AccessibilityObjectMac.mm:
     53        (WebCore::AccessibilityObject::isScreenReaderRunning):
     54        (WebCore::AccessibilityObject::screenReaderFocusedElement):
     55        (WebCore::AccessibilityObject::screenReaderVersion):
     56        * page/Navigator.cpp:
     57        (WebCore::Navigator::disconnectFrame):
     58        (WebCore::Navigator::accessibility):
     59        * page/Navigator.h:
     60        * page/Navigator.idl:
     61
    1622010-08-02  Martin Robinson  <mrobinson@igalia.com>
    263
  • trunk/WebCore/DerivedSources.cpp

    r64358 r64471  
    2828#include "HTMLElementFactory.cpp"
    2929#include "JSAbstractWorker.cpp"
     30#include "JSAccessibility.cpp"
    3031#include "JSAttr.cpp"
    3132#include "JSBarInfo.cpp"
     
    225226#include "JSRGBColor.cpp"
    226227#include "JSScreen.cpp"
     228#include "JSScreenReader.cpp"
    227229#include "JSScriptProfile.cpp"
    228230#include "JSScriptProfileNode.cpp"
  • trunk/WebCore/DerivedSources.make

    r64414 r64471  
    2929VPATH = \
    3030    $(WebCore) \
     31    $(WebCore)/accessibility \
    3132    $(WebCore)/bindings/js \
    3233    $(WebCore)/bindings/objc \
     
    5152    AbstractView \
    5253    AbstractWorker \
     54    Accessibility \
    5355    Attr \
    5456    BarInfo \
     
    439441    SVGZoomEvent \
    440442    Screen \
     443    ScreenReader \
    441444    StyleMedia \
    442445    StyleSheet \
  • trunk/WebCore/GNUmakefile.am

    r64462 r64471  
    100100        DerivedSources/WebCore/JSAbstractWorker.cpp \
    101101        DerivedSources/WebCore/JSAbstractWorker.h \
     102        DerivedSources/WebCore/JSAccessibility.cpp \
     103        DerivedSources/WebCore/JSAccessibility.h \
    102104        DerivedSources/WebCore/JSArrayBuffer.cpp \
    103105        DerivedSources/WebCore/JSArrayBuffer.h \
     
    467469        DerivedSources/WebCore/JSScreen.cpp \
    468470        DerivedSources/WebCore/JSScreen.h \
     471        DerivedSources/WebCore/JSScreenReader.cpp \
     472        DerivedSources/WebCore/JSScreenReader.h \
    469473        DerivedSources/WebCore/JSScriptProfile.cpp \
    470474        DerivedSources/WebCore/JSScriptProfile.h \
     
    576580        WebCore/accessibility/AXObjectCache.cpp \
    577581        WebCore/accessibility/AXObjectCache.h \
     582        WebCore/accessibility/Accessibility.cpp \
     583        WebCore/accessibility/Accessibility.h \
    578584        WebCore/accessibility/AccessibilityARIAGrid.cpp \
    579585        WebCore/accessibility/AccessibilityARIAGrid.h \
     
    618624        WebCore/accessibility/AccessibilityTableRow.cpp \
    619625        WebCore/accessibility/AccessibilityTableRow.h \
     626        WebCore/accessibility/ScreenReader.cpp \
     627        WebCore/accessibility/ScreenReader.h \
    620628        WebCore/bindings/generic/RuntimeEnabledFeatures.cpp \
    621629        WebCore/bindings/generic/RuntimeEnabledFeatures.h \
     
    44174425
    44184426IDL_PATH := \
     4427    $(WebCore)/accessibility \
    44194428    $(WebCore)/bindings/js \
    44204429    $(WebCore)/css \
  • trunk/WebCore/WebCore.gypi

    r64462 r64471  
    22    'variables': {
    33        'webcore_bindings_idl_files': [
     4            'accessibility/Accessibility.idl',
     5            'accessibility/ScreenReader.idl',
    46            'css/CSSCharsetRule.idl',
    57            'css/CSSFontFaceRule.idl',
     
    441443            'accessibility/AXObjectCache.cpp',
    442444            'accessibility/AXObjectCache.h',
     445            'accessibility/Accessibility.cpp',
     446            'accessibility/Accessibility.h',
    443447            'accessibility/AccessibilityARIAGrid.cpp',
    444448            'accessibility/AccessibilityARIAGrid.h',
     
    483487            'accessibility/AccessibilityTableRow.cpp',
    484488            'accessibility/AccessibilityTableRow.h',
     489            'accessibility/ScreenReader.cpp',
     490            'accessibility/ScreenReader.h',
    485491            'accessibility/chromium/AXObjectCacheChromium.cpp',
    486492            'accessibility/chromium/AccessibilityObjectChromium.cpp',
  • trunk/WebCore/WebCore.pri

    r64460 r64471  
    257257
    258258IDL_BINDINGS += \
     259    accessibility/Accessibility.idl \
     260    accessibility/ScreenReader.idl \
    259261    css/Counter.idl \
    260262    css/CSSCharsetRule.idl \
  • trunk/WebCore/WebCore.pro

    r64462 r64471  
    255255
    256256SOURCES += \
     257    accessibility/Accessibility.cpp \
    257258    accessibility/AccessibilityImageMapLink.cpp \
    258259    accessibility/AccessibilityMediaControls.cpp \   
     
    277278    accessibility/AccessibilityTableRow.cpp \   
    278279    accessibility/AXObjectCache.cpp \
     280    accessibility/ScreenReader.cpp \
    279281    bindings/generic/RuntimeEnabledFeatures.cpp \
    280282    bindings/js/GCController.cpp \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r64462 r64471  
    602602                        </File>
    603603                        <File
     604                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSAccessibility.cpp"
     605                                >
     606                                <FileConfiguration
     607                                        Name="Debug|Win32"
     608                                        ExcludedFromBuild="true"
     609                                        >
     610                                        <Tool
     611                                                Name="VCCLCompilerTool"
     612                                        />
     613                                </FileConfiguration>
     614                                <FileConfiguration
     615                                        Name="Release|Win32"
     616                                        ExcludedFromBuild="true"
     617                                        >
     618                                        <Tool
     619                                                Name="VCCLCompilerTool"
     620                                        />
     621                                </FileConfiguration>
     622                                <FileConfiguration
     623                                        Name="Debug_Internal|Win32"
     624                                        ExcludedFromBuild="true"
     625                                        >
     626                                        <Tool
     627                                                Name="VCCLCompilerTool"
     628                                        />
     629                                </FileConfiguration>
     630                                <FileConfiguration
     631                                        Name="Debug_Cairo|Win32"
     632                                        ExcludedFromBuild="true"
     633                                        >
     634                                        <Tool
     635                                                Name="VCCLCompilerTool"
     636                                        />
     637                                </FileConfiguration>
     638                                <FileConfiguration
     639                                        Name="Release_Cairo|Win32"
     640                                        ExcludedFromBuild="true"
     641                                        >
     642                                        <Tool
     643                                                Name="VCCLCompilerTool"
     644                                        />
     645                                </FileConfiguration>
     646                                <FileConfiguration
     647                                        Name="Debug_All|Win32"
     648                                        ExcludedFromBuild="true"
     649                                        >
     650                                        <Tool
     651                                                Name="VCCLCompilerTool"
     652                                        />
     653                                </FileConfiguration>
     654                        </File>
     655                        <File
     656                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSAccessibility.h"
     657                                >
     658                        </File>
     659                        <File
    604660                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSAttr.cpp"
    605661                                >
     
    1068310739                        <File
    1068410740                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSScreen.h"
     10741                                >
     10742                        </File>
     10743                        <File
     10744                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSScreenReader.cpp"
     10745                                >
     10746                                <FileConfiguration
     10747                                        Name="Debug|Win32"
     10748                                        ExcludedFromBuild="true"
     10749                                        >
     10750                                        <Tool
     10751                                                Name="VCCLCompilerTool"
     10752                                        />
     10753                                </FileConfiguration>
     10754                                <FileConfiguration
     10755                                        Name="Release|Win32"
     10756                                        ExcludedFromBuild="true"
     10757                                        >
     10758                                        <Tool
     10759                                                Name="VCCLCompilerTool"
     10760                                        />
     10761                                </FileConfiguration>
     10762                                <FileConfiguration
     10763                                        Name="Debug_Internal|Win32"
     10764                                        ExcludedFromBuild="true"
     10765                                        >
     10766                                        <Tool
     10767                                                Name="VCCLCompilerTool"
     10768                                        />
     10769                                </FileConfiguration>
     10770                                <FileConfiguration
     10771                                        Name="Debug_Cairo|Win32"
     10772                                        ExcludedFromBuild="true"
     10773                                        >
     10774                                        <Tool
     10775                                                Name="VCCLCompilerTool"
     10776                                        />
     10777                                </FileConfiguration>
     10778                                <FileConfiguration
     10779                                        Name="Release_Cairo|Win32"
     10780                                        ExcludedFromBuild="true"
     10781                                        >
     10782                                        <Tool
     10783                                                Name="VCCLCompilerTool"
     10784                                        />
     10785                                </FileConfiguration>
     10786                                <FileConfiguration
     10787                                        Name="Debug_All|Win32"
     10788                                        ExcludedFromBuild="true"
     10789                                        >
     10790                                        <Tool
     10791                                                Name="VCCLCompilerTool"
     10792                                        />
     10793                                </FileConfiguration>
     10794                        </File>
     10795                        <File
     10796                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSScreenReader.h"
    1068510797                                >
    1068610798                        </File>
     
    2093021042                        </File>
    2093121043                        <File
     21044                                RelativePath="..\accessibility\Accessibility.cpp"
     21045                                >
     21046                        <File
     21047                                RelativePath="..\accessibility\Accessibility.h"
     21048                                >
     21049                        </File>
     21050                        <File
    2093221051                                RelativePath="..\accessibility\AccessibilityARIAGrid.cpp"
    2093321052                                >
     
    2201522134                        <File
    2201622135                                RelativePath="..\accessibility\AXObjectCache.h"
     22136                                >
     22137                        </File>
     22138                        <File
     22139                                RelativePath="..\accessibility\ScreenReader.cpp"
     22140                                >
     22141                        <File
     22142                                RelativePath="..\accessibility\ScreenReader.h"
    2201722143                                >
    2201822144                        </File>
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r64467 r64471  
    625625                2542F4DA1166C25A00E89A86 /* UserGestureIndicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2542F4D81166C25A00E89A86 /* UserGestureIndicator.cpp */; };
    626626                2542F4DB1166C25A00E89A86 /* UserGestureIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 2542F4D91166C25A00E89A86 /* UserGestureIndicator.h */; };
     627                2974463D11FE257A004523F8 /* Accessibility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2974463711FE257A004523F8 /* Accessibility.cpp */; };
     628                2974463E11FE257A004523F8 /* Accessibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 2974463811FE257A004523F8 /* Accessibility.h */; };
     629                2974464011FE257A004523F8 /* ScreenReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2974463A11FE257A004523F8 /* ScreenReader.cpp */; };
     630                2974464111FE257A004523F8 /* ScreenReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 2974463B11FE257A004523F8 /* ScreenReader.h */; };
     631                2974466F11FE2B32004523F8 /* JSAccessibility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2974466D11FE2B32004523F8 /* JSAccessibility.cpp */; };
     632                2974467011FE2B32004523F8 /* JSAccessibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 2974466E11FE2B32004523F8 /* JSAccessibility.h */; };
     633                2974468E11FE2BE1004523F8 /* JSScreenReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2974468C11FE2BE1004523F8 /* JSScreenReader.cpp */; };
     634                2974468F11FE2BE1004523F8 /* JSScreenReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 2974468D11FE2BE1004523F8 /* JSScreenReader.h */; };
    627635                29A812260FBB9C1D00510293 /* AccessibilityRenderObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A812080FBB9C1D00510293 /* AccessibilityRenderObject.cpp */; };
    628636                29A812270FBB9C1D00510293 /* AccessibilityTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A812090FBB9C1D00510293 /* AccessibilityTable.cpp */; };
     
    63236331                2542F4D81166C25A00E89A86 /* UserGestureIndicator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserGestureIndicator.cpp; sourceTree = "<group>"; };
    63246332                2542F4D91166C25A00E89A86 /* UserGestureIndicator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserGestureIndicator.h; sourceTree = "<group>"; };
     6333                2974463711FE257A004523F8 /* Accessibility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Accessibility.cpp; sourceTree = "<group>"; };
     6334                2974463811FE257A004523F8 /* Accessibility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Accessibility.h; sourceTree = "<group>"; };
     6335                2974463911FE257A004523F8 /* Accessibility.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Accessibility.idl; sourceTree = "<group>"; };
     6336                2974463A11FE257A004523F8 /* ScreenReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScreenReader.cpp; sourceTree = "<group>"; };
     6337                2974463B11FE257A004523F8 /* ScreenReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScreenReader.h; sourceTree = "<group>"; };
     6338                2974463C11FE257A004523F8 /* ScreenReader.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScreenReader.idl; sourceTree = "<group>"; };
     6339                2974466D11FE2B32004523F8 /* JSAccessibility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAccessibility.cpp; sourceTree = "<group>"; };
     6340                2974466E11FE2B32004523F8 /* JSAccessibility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAccessibility.h; sourceTree = "<group>"; };
     6341                2974468C11FE2BE1004523F8 /* JSScreenReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScreenReader.cpp; sourceTree = "<group>"; };
     6342                2974468D11FE2BE1004523F8 /* JSScreenReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScreenReader.h; sourceTree = "<group>"; };
    63256343                29A812080FBB9C1D00510293 /* AccessibilityRenderObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityRenderObject.cpp; sourceTree = "<group>"; };
    63266344                29A812090FBB9C1D00510293 /* AccessibilityTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityTable.cpp; sourceTree = "<group>"; };
     
    1159711615                        children = (
    1159811616                                29A812050FBB9B5200510293 /* mac */,
     11617                                2974463711FE257A004523F8 /* Accessibility.cpp */,
     11618                                2974463811FE257A004523F8 /* Accessibility.h */,
     11619                                2974463911FE257A004523F8 /* Accessibility.idl */,
    1159911620                                29A8120A0FBB9C1D00510293 /* AccessibilityARIAGrid.cpp */,
    1160011621                                29A812160FBB9C1D00510293 /* AccessibilityARIAGrid.h */,
     
    1164111662                                29A812190FBB9C1D00510293 /* AXObjectCache.cpp */,
    1164211663                                29A8121A0FBB9C1D00510293 /* AXObjectCache.h */,
     11664                                2974463A11FE257A004523F8 /* ScreenReader.cpp */,
     11665                                2974463B11FE257A004523F8 /* ScreenReader.h */,
     11666                                2974463C11FE257A004523F8 /* ScreenReader.idl */,
    1164311667                        );
    1164411668                        path = accessibility;
     
    1471014734                        isa = PBXGroup;
    1471114735                        children = (
     14736                                2974466D11FE2B32004523F8 /* JSAccessibility.cpp */,
     14737                                2974466E11FE2B32004523F8 /* JSAccessibility.h */,
    1471214738                                65DF31D809D1C122000BE325 /* JSAttr.cpp */,
    1471314739                                65DF31D909D1C123000BE325 /* JSAttr.h */,
     
    1476214788                                E4B423850CBFB73C00AF2ECE /* JSProgressEvent.cpp */,
    1476314789                                E4B423860CBFB73C00AF2ECE /* JSProgressEvent.h */,
     14790                                2974468C11FE2BE1004523F8 /* JSScreenReader.cpp */,
     14791                                2974468D11FE2BE1004523F8 /* JSScreenReader.h */,
    1476414792                                65DF31EF09D1CC60000BE325 /* JSText.cpp */,
    1476514793                                65DF31F009D1CC60000BE325 /* JSText.h */,
     
    1730117329                                B5B5DC6A119BB3D5002A8790 /* AbstractDatabase.h in Headers */,
    1730217330                                41E1B1D10FF5986900576B3B /* AbstractWorker.h in Headers */,
     17331                                2974463E11FE257A004523F8 /* Accessibility.h in Headers */,
    1730317332                                29A8122E0FBB9C1D00510293 /* AccessibilityARIAGridCell.h in Headers */,
    1730417333                                29A812330FBB9C1D00510293 /* AccessibilityARIAGridRow.h in Headers */,
     
    1865218681                                93309DF4099E64920056E581 /* JoinTextNodesCommand.h in Headers */,
    1865318682                                418F88050FF957AF0080F045 /* JSAbstractWorker.h in Headers */,
     18683                                2974467011FE2B32004523F8 /* JSAccessibility.h in Headers */,
    1865418684                                49EECF01105070C400099FAB /* JSArrayBuffer.h in Headers */,
    1865518685                                49EECF1C105072F300099FAB /* JSArrayBufferView.h in Headers */,
     
    1887718907                                BC74DA491013F468007987AD /* JSRGBColor.h in Headers */,
    1887818908                                BCEC01C30C274DDD009F4EC9 /* JSScreen.h in Headers */,
     18909                                2974468F11FE2BE1004523F8 /* JSScreenReader.h in Headers */,
    1887918910                                9FA37EFB1172FDA600C4CD55 /* JSScriptProfile.h in Headers */,
    1888018911                                9FA37EFD1172FDA600C4CD55 /* JSScriptProfileNode.h in Headers */,
     
    1940119432                                5162C7F511F77EFB00612EFE /* SchemeRegistry.h in Headers */,
    1940219433                                BCEC01BE0C274DAC009F4EC9 /* Screen.h in Headers */,
     19434                                2974464111FE257A004523F8 /* ScreenReader.h in Headers */,
    1940319435                                A84D82C111D3474800972990 /* ScriptableDocumentParser.h in Headers */,
    1940419436                                7A1E88F6101CC384000C4DF5 /* ScriptArray.h in Headers */,
     
    2025520287                                B5B5DC69119BB3D5002A8790 /* AbstractDatabase.cpp in Sources */,
    2025620288                                41E1B1D00FF5986900576B3B /* AbstractWorker.cpp in Sources */,
     20289                                2974463D11FE257A004523F8 /* Accessibility.cpp in Sources */,
    2025720290                                29A812280FBB9C1D00510293 /* AccessibilityARIAGrid.cpp in Sources */,
    2025820291                                29A812300FBB9C1D00510293 /* AccessibilityARIAGridCell.cpp in Sources */,
     
    2107021103                                93309DF3099E64920056E581 /* JoinTextNodesCommand.cpp in Sources */,
    2107121104                                418F88040FF957AE0080F045 /* JSAbstractWorker.cpp in Sources */,
     21105                                2974466F11FE2B32004523F8 /* JSAccessibility.cpp in Sources */,
    2107221106                                49EECF00105070C400099FAB /* JSArrayBuffer.cpp in Sources */,
    2107321107                                BC275CB311C5E85C00C9206C /* JSArrayBufferCustom.cpp in Sources */,
     
    2136221396                                BC74DA481013F468007987AD /* JSRGBColor.cpp in Sources */,
    2136321397                                BCEC01C20C274DDD009F4EC9 /* JSScreen.cpp in Sources */,
     21398                                2974468E11FE2BE1004523F8 /* JSScreenReader.cpp in Sources */,
    2136421399                                9FA37EFA1172FDA600C4CD55 /* JSScriptProfile.cpp in Sources */,
    2136521400                                9FA37EFC1172FDA600C4CD55 /* JSScriptProfileNode.cpp in Sources */,
     
    2187421909                                5162C7F411F77EFB00612EFE /* SchemeRegistry.cpp in Sources */,
    2187521910                                BCEC01BD0C274DAC009F4EC9 /* Screen.cpp in Sources */,
     21911                                2974464011FE257A004523F8 /* ScreenReader.cpp in Sources */,
    2187621912                                A84D82C211D3474800972990 /* ScriptableDocumentParser.cpp in Sources */,
    2187721913                                7A1E88F5101CC384000C4DF5 /* ScriptArray.cpp in Sources */,
  • trunk/WebCore/accessibility/AXObjectCache.h

    r62978 r64471  
    120120        AXRowCollapsed,
    121121        AXRowExpanded,
     122        AXScreenChanged,
     123        AXElementsChanged
    122124    };
    123125
  • trunk/WebCore/accessibility/AccessibilityObject.h

    r64088 r64471  
    4545#elif PLATFORM(CHROMIUM)
    4646#include "AccessibilityObjectWrapper.h"
     47#endif
     48
     49#if PLATFORM(MAC)
     50#define SUPPORTS_JSACCESSIBILITY 1
     51#else
     52#define SUPPORTS_JSACCESSIBILITY 0
    4753#endif
    4854
     
    549555#endif
    550556
     557#if SUPPORTS_JSACCESSIBILITY
     558    bool isScreenReaderRunning() const;
     559    Element* screenReaderFocusedElement() const;
     560    String screenReaderVersion() const;
     561#else
     562    bool isScreenReaderRunning() const { return false; }
     563    Element* screenReaderFocusedElement() const { return 0; }
     564    String screenReaderVersion() const { return nullAtom; }
     565#endif
     566   
    551567#if HAVE(ACCESSIBILITY)
    552568    // a platform-specific method for determining if an attachment is ignored
  • trunk/WebCore/accessibility/mac/AXObjectCacheMac.mm

    r61595 r64471  
    7777            macNotification = "AXLayoutComplete";
    7878            break;
     79        case AXScreenChanged:
     80            macNotification = "AXScreenChanged";
     81            break;
     82        case AXElementsChanged:
     83            macNotification = "AXElementsChanged";
     84            break;
    7985        case AXLoadComplete:
    8086            macNotification = "AXLoadComplete";
  • trunk/WebCore/accessibility/mac/AccessibilityObjectMac.mm

    r61132 r64471  
    3030
    3131#import "AccessibilityObjectWrapper.h"
     32#import "AXObjectCache.h"
    3233
    3334namespace WebCore {
    3435
     36bool AccessibilityObject::isScreenReaderRunning() const
     37{
     38    // If the enhanced user interface is enabled, it means VoiceOver is running.
     39    return AXObjectCache::accessibilityEnhancedUserInterfaceEnabled();
     40}
     41   
     42Element* AccessibilityObject::screenReaderFocusedElement() const
     43{
     44    return 0;
     45}
     46   
     47String AccessibilityObject::screenReaderVersion() const
     48{
     49    return nullAtom;
     50}
     51   
    3552bool AccessibilityObject::accessibilityIgnoreAttachment() const
    3653{
  • trunk/WebCore/page/Navigator.cpp

    r62834 r64471  
    2424#include "Navigator.h"
    2525
     26#include "Accessibility.h"
    2627#include "Chrome.h"
    2728#include "CookieJar.h"
     
    6667        m_geolocation->disconnectFrame();
    6768        m_geolocation = 0;
     69    }
     70    if (m_accessibility) {
     71        m_accessibility->disconnectFrame();
     72        m_accessibility = 0;
    6873    }
    6974    m_frame = 0;
     
    128133    return m_mimeTypes.get();
    129134}
     135   
     136Accessibility* Navigator::accessibility() const
     137{
     138    if (!m_accessibility)
     139        m_accessibility = Accessibility::create(m_frame);
     140    return m_accessibility.get();
     141}
    130142
    131143bool Navigator::cookieEnabled() const
  • trunk/WebCore/page/Navigator.h

    r64371 r64471  
    2828namespace WebCore {
    2929
     30class Accessibility;
    3031class DOMMimeTypeArray;
    3132class DOMPluginArray;
     
    4748    DOMPluginArray* plugins() const;
    4849    DOMMimeTypeArray* mimeTypes() const;
     50    Accessibility* accessibility() const;
    4951    bool cookieEnabled() const;
    5052    bool javaEnabled() const;
     
    6769    mutable RefPtr<DOMMimeTypeArray> m_mimeTypes;
    6870    mutable RefPtr<Geolocation> m_geolocation;
     71    mutable RefPtr<Accessibility> m_accessibility;
    6972};
    7073
  • trunk/WebCore/page/Navigator.idl

    r62834 r64471  
    3232        readonly attribute DOMPluginArray plugins;
    3333        readonly attribute DOMMimeTypeArray mimeTypes;
     34        readonly attribute Accessibility accessibility;
    3435        readonly attribute DOMString product;
    3536        readonly attribute DOMString productSub;
Note: See TracChangeset for help on using the changeset viewer.