Changeset 35903 in webkit


Ignore:
Timestamp:
Aug 24, 2008 5:56:21 AM (16 years ago)
Author:
jhoneycutt@apple.com
Message:

2008-08-24 Jon Honeycutt <jhoneycutt@apple.com>

Initial support for accessibility layout tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=20497

Reviewed by Sam Weinig.

  • DumpRenderTree/AccessibilityController.h: Fix typos.
  • DumpRenderTree/AccessibilityUIElement.cpp: Change #import to #include.
  • DumpRenderTree/AccessibilityUIElement.h: Define _WINSOCKAPI_ to prevent oleacc.h, which includes windows.h, from including winsock.h. Fixed typos.
  • DumpRenderTree/win/AccessibilityControllerWin.cpp: Added. (AccessibilityController::AccessibilityController): (AccessibilityController::~AccessibilityController): (AccessibilityController::focusedElement): Get the root element, and request its focused object. (AccessibilityController::rootElement): Query Windows for the accessible client object for the WebView's window.
  • DumpRenderTree/win/AccessibilityUIElementWin.cpp: Added. (AccessibilityUIElement::AccessibilityUIElement): (AccessibilityUIElement::~AccessibilityUIElement): (AccessibilityUIElement::getLinkedUIElements): Not implemented. (AccessibilityUIElement::getChildren): Get the child count, and append each child. (AccessibilityUIElement::getChildAtIndex): Get the child at the given index offset by 1. In MSAA, child 0 is the object itself. (AccessibilityUIElement::allAttributes): Not implemented. (AccessibilityUIElement::attributesOfLinkedUIElements): Same. (AccessibilityUIElement::attributesOfChildren): Same. (AccessibilityUIElement::parameterizedAttributeNames): Same. (self): Return a VARIANT representing the "self" object. This is used when calling methods that require a child variant. (AccessibilityUIElement::role): Get the MSAA role, a long value, and convert it into a string with GetRoleText(). (AccessibilityUIElement::title): Get the element's title, and convert it to a JS String. (AccessibilityUIElement::description): Same, for description. (AccessibilityUIElement::width): (AccessibilityUIElement::height): (AccessibilityUIElement::intValue): Get the object's value as a string, and convert the string to a double. (AccessibilityUIElement::minValue): Not implemented. (AccessibilityUIElement::maxValue): Same. (AccessibilityUIElement::insertionPointLineNumber): Same. (AccessibilityUIElement::attributesOfColumnHeaders): Same. (AccessibilityUIElement::attributesOfRowHeaders): Same. (AccessibilityUIElement::attributesOfColumns): Same. (AccessibilityUIElement::attributesOfRows): Same. (AccessibilityUIElement::attributesOfVisibleCells): Same. (AccessibilityUIElement::attributesOfHeader): Same. (AccessibilityUIElement::indexInTable): Same. (AccessibilityUIElement::rowIndexRange): Same. (AccessibilityUIElement::columnIndexRange): Same. (AccessibilityUIElement::lineForIndex): Same. (AccessibilityUIElement::boundsForRange): Same. (AccessibilityUIElement::cellForColumnAndRow): Same.
  • DumpRenderTree/win/DumpRenderTree.vcproj: Add accessibility files to project. Link to oleacc.lib, the MSAA library.
  • DumpRenderTree/win/FrameLoadDelegate.cpp: (FrameLoadDelegate::FrameLoadDelegate): Initialize the accessibility controller. (FrameLoadDelegate::didClearWindowObject): Create a new window object for the accessibility controller.
  • DumpRenderTree/win/FrameLoadDelegate.h:
Location:
trunk/WebKitTools
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r35880 r35903  
     12008-08-24  Jon Honeycutt  <jhoneycutt@apple.com>
     2
     3        Initial support for accessibility layout tests on Windows.
     4        https://bugs.webkit.org/show_bug.cgi?id=20497
     5
     6        Reviewed by Sam Weinig.
     7
     8        * DumpRenderTree/AccessibilityController.h: Fix typos.
     9        * DumpRenderTree/AccessibilityUIElement.cpp: Change #import to #include.
     10        * DumpRenderTree/AccessibilityUIElement.h: Define _WINSOCKAPI_ to
     11        prevent oleacc.h, which includes windows.h, from including winsock.h.
     12        Fixed typos.
     13        * DumpRenderTree/win/AccessibilityControllerWin.cpp: Added.
     14        (AccessibilityController::AccessibilityController):
     15        (AccessibilityController::~AccessibilityController):
     16        (AccessibilityController::focusedElement): Get the root element, and
     17        request its focused object.
     18        (AccessibilityController::rootElement): Query Windows for the
     19        accessible client object for the WebView's window.
     20        * DumpRenderTree/win/AccessibilityUIElementWin.cpp: Added.
     21        (AccessibilityUIElement::AccessibilityUIElement):
     22        (AccessibilityUIElement::~AccessibilityUIElement):
     23        (AccessibilityUIElement::getLinkedUIElements): Not implemented.
     24        (AccessibilityUIElement::getChildren): Get the child count, and append
     25        each child.
     26        (AccessibilityUIElement::getChildAtIndex): Get the child at the given
     27        index offset by 1. In MSAA, child 0 is the object itself.
     28        (AccessibilityUIElement::allAttributes): Not implemented.
     29        (AccessibilityUIElement::attributesOfLinkedUIElements): Same.
     30        (AccessibilityUIElement::attributesOfChildren): Same.
     31        (AccessibilityUIElement::parameterizedAttributeNames): Same.
     32        (self): Return a VARIANT representing the "self" object. This is used
     33        when calling methods that require a child variant.
     34        (AccessibilityUIElement::role): Get the MSAA role, a long value, and
     35        convert it into a string with GetRoleText().
     36        (AccessibilityUIElement::title): Get the element's title, and convert
     37        it to a JS String.
     38        (AccessibilityUIElement::description): Same, for description.
     39        (AccessibilityUIElement::width):
     40        (AccessibilityUIElement::height):
     41        (AccessibilityUIElement::intValue): Get the object's value as a string,
     42        and convert the string to a double.
     43        (AccessibilityUIElement::minValue): Not implemented.
     44        (AccessibilityUIElement::maxValue): Same.
     45        (AccessibilityUIElement::insertionPointLineNumber): Same.
     46        (AccessibilityUIElement::attributesOfColumnHeaders): Same.
     47        (AccessibilityUIElement::attributesOfRowHeaders): Same.
     48        (AccessibilityUIElement::attributesOfColumns): Same.
     49        (AccessibilityUIElement::attributesOfRows): Same.
     50        (AccessibilityUIElement::attributesOfVisibleCells): Same.
     51        (AccessibilityUIElement::attributesOfHeader): Same.
     52        (AccessibilityUIElement::indexInTable): Same.
     53        (AccessibilityUIElement::rowIndexRange): Same.
     54        (AccessibilityUIElement::columnIndexRange): Same.
     55        (AccessibilityUIElement::lineForIndex): Same.
     56        (AccessibilityUIElement::boundsForRange): Same.
     57        (AccessibilityUIElement::cellForColumnAndRow): Same.
     58        * DumpRenderTree/win/DumpRenderTree.vcproj: Add accessibility files to
     59        project.  Link to oleacc.lib, the MSAA library.
     60        * DumpRenderTree/win/FrameLoadDelegate.cpp:
     61        (FrameLoadDelegate::FrameLoadDelegate): Initialize the accessibility
     62        controller.
     63        (FrameLoadDelegate::didClearWindowObject): Create a new window object
     64        for the accessibility controller.
     65        * DumpRenderTree/win/FrameLoadDelegate.h:
     66
    1672008-08-21  Simon Fraser  <simon.fraser@apple.com>
    268
  • trunk/WebKitTools/DumpRenderTree/AccessibilityController.h

    r35608 r35903  
    3838    void makeWindowObject(JSContextRef context, JSObjectRef windowObject, JSValueRef* exception);
    3939
    40     // Controller Methods - platfrom independant implementations
     40    // Controller Methods - platform-independent implementations
    4141    AccessibilityUIElement rootElement();
    4242    AccessibilityUIElement focusedElement();
  • trunk/WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp

    r35846 r35903  
    2626#include "AccessibilityUIElement.h"
    2727
    28 #import <JavaScriptCore/JSRetainPtr.h>
     28#include <JavaScriptCore/JSRetainPtr.h>
    2929
    3030// Static Functions
  • trunk/WebKitTools/DumpRenderTree/AccessibilityUIElement.h

    r35846 r35903  
    3737typedef struct objc_object* PlatformUIElement;
    3838#endif
     39#elif PLATFORM(WIN)
     40#undef _WINSOCKAPI_
     41#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
     42
     43#include <oleacc.h>
     44#include <WebCore/COMPtr.h>
     45
     46typedef COMPtr<IAccessible> PlatformUIElement;
    3947#else
    4048typedef void* PlatformUIElement;
     
    5563    AccessibilityUIElement getChildAtIndex(unsigned);
    5664   
    57     // Methods - platfrom independant implementations
     65    // Methods - platform-independent implementations
    5866    JSStringRef allAttributes();
    5967    JSStringRef attributesOfLinkedUIElements();
     
    6169    JSStringRef parameterizedAttributeNames();
    6270   
    63     // Attributes - platfrom independant implementations
     71    // Attributes - platform-independent implementations
    6472    JSStringRef role();
    6573    JSStringRef title();
     
    7280    int insertionPointLineNumber();
    7381   
    74     // table specific attributes
     82    // Table-specific attributes
    7583    JSStringRef attributesOfColumnHeaders();
    7684    JSStringRef attributesOfRowHeaders();
     
    8391    JSStringRef columnIndexRange();
    8492   
    85     // parameterized attributes
     93    // Parameterized attributes
    8694    int lineForIndex(int);
    8795    JSStringRef boundsForRange(unsigned location, unsigned length);
    8896   
    89     // table specific
     97    // Table-specific
    9098    AccessibilityUIElement cellForColumnAndRow(unsigned column, unsigned row);
    9199   
  • trunk/WebKitTools/DumpRenderTree/win/DumpRenderTree.vcproj

    r35453 r35903  
    5555                        <Tool
    5656                                Name="VCLinkerTool"
    57                                 AdditionalDependencies="WebKitGUID$(WebKitConfigSuffix).lib WebKit$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib CoreGraphics$(LibraryConfigSuffix).lib CoreFoundation$(LibraryConfigSuffix).lib CFNetwork$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib gdi32.lib ole32.lib oleaut32.lib user32.lib shlwapi.lib"
     57                                AdditionalDependencies="WebKitGUID$(WebKitConfigSuffix).lib WebKit$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib CoreGraphics$(LibraryConfigSuffix).lib CoreFoundation$(LibraryConfigSuffix).lib CFNetwork$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib gdi32.lib ole32.lib oleaut32.lib user32.lib shlwapi.lib oleacc.lib"
    5858                                AdditionalLibraryDirectories=""
    5959                                DelayLoadDLLs=""
     
    129129                        <Tool
    130130                                Name="VCLinkerTool"
    131                                 AdditionalDependencies="WebKitGUID$(WebKitConfigSuffix).lib WebKit$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib CoreGraphics$(LibraryConfigSuffix).lib CoreFoundation$(LibraryConfigSuffix).lib CFNetwork$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib gdi32.lib ole32.lib oleaut32.lib user32.lib shlwapi.lib"
     131                                AdditionalDependencies="WebKitGUID$(WebKitConfigSuffix).lib WebKit$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib CoreGraphics$(LibraryConfigSuffix).lib CoreFoundation$(LibraryConfigSuffix).lib CFNetwork$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib gdi32.lib ole32.lib oleaut32.lib user32.lib shlwapi.lib oleacc.lib"
    132132                                AdditionalLibraryDirectories=""
    133133                                DelayLoadDLLs=""
     
    202202                        <Tool
    203203                                Name="VCLinkerTool"
    204                                 AdditionalDependencies="WebKitGUID$(WebKitConfigSuffix).lib WebKit$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib CoreGraphics$(LibraryConfigSuffix).lib CoreFoundation$(LibraryConfigSuffix).lib CFNetwork$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib gdi32.lib ole32.lib oleaut32.lib user32.lib shlwapi.lib"
     204                                AdditionalDependencies="WebKitGUID$(WebKitConfigSuffix).lib WebKit$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib CoreGraphics$(LibraryConfigSuffix).lib CoreFoundation$(LibraryConfigSuffix).lib CFNetwork$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib gdi32.lib ole32.lib oleaut32.lib user32.lib shlwapi.lib oleacc.lib"
    205205                                AdditionalLibraryDirectories=""
    206206                                DelayLoadDLLs=""
     
    243243                        >
    244244                        <File
     245                                RelativePath="..\AccessibilityController.cpp"
     246                                >
     247                        </File>
     248                        <File
     249                                RelativePath="..\AccessibilityController.h"
     250                                >
     251                        </File>
     252                        <File
     253                                RelativePath=".\AccessibilityControllerWin.cpp"
     254                                >
     255                        </File>
     256                        <File
    245257                                RelativePath=".\EventSender.cpp"
    246258                                >
     
    319331                        </File>
    320332                </Filter>
     333                <File
     334                        RelativePath="..\AccessibilityUIElement.cpp"
     335                        >
     336                </File>
     337                <File
     338                        RelativePath="..\AccessibilityUIElement.h"
     339                        >
     340                </File>
     341                <File
     342                        RelativePath=".\AccessibilityUIElementWin.cpp"
     343                        >
     344                </File>
    321345                <File
    322346                        RelativePath=".\DraggingInfo.h"
  • trunk/WebKitTools/DumpRenderTree/win/FrameLoadDelegate.cpp

    r33549 r35903  
    3030#include "FrameLoadDelegate.h"
    3131
     32#include "AccessibilityController.h"
    3233#include "EventSender.h"
    3334#include "GCController.h"
     
    8384    : m_refCount(1)
    8485    , m_gcController(new GCController)
     86    , m_accessibilityController(new AccessibilityController)
    8587{
    8688}
     
    262264
    263265    m_gcController->makeWindowObject(context, windowObject, &exception);
     266    ASSERT(!exception);
     267
     268    m_accessibilityController->makeWindowObject(context, windowObject, &exception);
    264269    ASSERT(!exception);
    265270
  • trunk/WebKitTools/DumpRenderTree/win/FrameLoadDelegate.h

    r30181 r35903  
    3333#include <wtf/OwnPtr.h>
    3434
     35class AccessibilityController;
    3536class GCController;
    3637
     
    133134    ULONG m_refCount;
    134135    OwnPtr<GCController> m_gcController;
     136    OwnPtr<AccessibilityController> m_accessibilityController;
    135137};
    136138
Note: See TracChangeset for help on using the changeset viewer.