Home | History | Annotate | Download | only in mac
      1 /*
      2  * Copyright (C) 2008, 2009, 2010 Apple Inc. All Rights Reserved.
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions
      6  * are met:
      7  * 1. Redistributions of source code must retain the above copyright
      8  *    notice, this list of conditions and the following disclaimer.
      9  * 2. Redistributions in binary form must reproduce the above copyright
     10  *    notice, this list of conditions and the following disclaimer in the
     11  *    documentation and/or other materials provided with the distribution.
     12  *
     13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
     14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
     17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     24  */
     25 
     26 #import "config.h"
     27 #import "DumpRenderTree.h"
     28 #import "AccessibilityController.h"
     29 
     30 #import "AccessibilityUIElement.h"
     31 #import <AppKit/NSColor.h>
     32 #import <Foundation/Foundation.h>
     33 #import <WebKit/WebFrame.h>
     34 #import <WebKit/WebFramePrivate.h>
     35 #import <WebKit/WebHTMLView.h>
     36 
     37 AccessibilityController::AccessibilityController()
     38 {
     39 }
     40 
     41 AccessibilityController::~AccessibilityController()
     42 {
     43 }
     44 
     45 AccessibilityUIElement AccessibilityController::elementAtPoint(int x, int y)
     46 {
     47     id accessibilityObject = [[[mainFrame frameView] documentView] accessibilityHitTest:NSMakePoint(x, y)];
     48     return AccessibilityUIElement(accessibilityObject);
     49 }
     50 
     51 AccessibilityUIElement AccessibilityController::focusedElement()
     52 {
     53     id accessibilityObject = [[mainFrame accessibilityRoot] accessibilityFocusedUIElement];
     54     return AccessibilityUIElement(accessibilityObject);
     55 }
     56 
     57 AccessibilityUIElement AccessibilityController::rootElement()
     58 {
     59     // FIXME: we could do some caching here.
     60 
     61     // Layout tests expect that the root element will be the scroll area
     62     // containing the web area object. That will be the parent of the accessibilityRoot on WK1.
     63 
     64     id accessibilityObject = [[mainFrame accessibilityRoot] accessibilityAttributeValue:NSAccessibilityParentAttribute];
     65     return AccessibilityUIElement(accessibilityObject);
     66 }
     67 
     68 void AccessibilityController::setLogFocusEvents(bool)
     69 {
     70 }
     71 
     72 void AccessibilityController::setLogScrollingStartEvents(bool)
     73 {
     74 }
     75 
     76 void AccessibilityController::setLogValueChangeEvents(bool)
     77 {
     78 }
     79 
     80 void AccessibilityController::setLogAccessibilityEvents(bool)
     81 {
     82 }
     83 
     84 void AccessibilityController::addNotificationListener(PlatformUIElement, JSObjectRef)
     85 {
     86 }
     87 
     88 void AccessibilityController::notificationReceived(PlatformUIElement, const std::string&)
     89 {
     90 }
     91