Home | History | Annotate | Download | only in gtk
      1 /*
      2  * Copyright (C) 2008, 2009, 2010 Apple Inc. All Rights Reserved.
      3  * Copyright (C) 2009 Jan Michael Alonzo
      4  *
      5  * Redistribution and use in source and binary forms, with or without
      6  * modification, are permitted provided that the following conditions
      7  * are met:
      8  * 1. Redistributions of source code must retain the above copyright
      9  *    notice, this list of conditions and the following disclaimer.
     10  * 2. Redistributions in binary form must reproduce the above copyright
     11  *    notice, this list of conditions and the following disclaimer in the
     12  *    documentation and/or other materials provided with the distribution.
     13  *
     14  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
     15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     17  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
     18  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     19  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     20  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     21  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     22  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     25  */
     26 
     27 #include "config.h"
     28 #include "AccessibilityController.h"
     29 
     30 #include "AccessibilityCallbacks.h"
     31 #include "AccessibilityUIElement.h"
     32 #include "DumpRenderTree.h"
     33 #include "WebCoreSupport/DumpRenderTreeSupportGtk.h"
     34 
     35 #include <atk/atk.h>
     36 #include <gtk/gtk.h>
     37 #include <webkit/webkit.h>
     38 
     39 static bool loggingAccessibilityEvents = false;
     40 
     41 AccessibilityController::AccessibilityController()
     42 {
     43 }
     44 
     45 AccessibilityController::~AccessibilityController()
     46 {
     47 }
     48 
     49 AccessibilityUIElement AccessibilityController::elementAtPoint(int x, int y)
     50 {
     51     // FIXME: implement
     52     return 0;
     53 }
     54 
     55 AccessibilityUIElement AccessibilityController::focusedElement()
     56 {
     57     AtkObject* accessible =  DumpRenderTreeSupportGtk::getFocusedAccessibleElement(mainFrame);
     58     if (!accessible)
     59         return 0;
     60 
     61     return AccessibilityUIElement(accessible);
     62 }
     63 
     64 AccessibilityUIElement AccessibilityController::rootElement()
     65 {
     66     AtkObject* accessible = DumpRenderTreeSupportGtk::getRootAccessibleElement(mainFrame);
     67     if (!accessible)
     68         return 0;
     69 
     70     return AccessibilityUIElement(accessible);
     71 }
     72 
     73 void AccessibilityController::setLogFocusEvents(bool)
     74 {
     75 }
     76 
     77 void AccessibilityController::setLogScrollingStartEvents(bool)
     78 {
     79 }
     80 
     81 void AccessibilityController::setLogValueChangeEvents(bool)
     82 {
     83 }
     84 
     85 void AccessibilityController::setLogAccessibilityEvents(bool logAccessibilityEvents)
     86 {
     87     if (logAccessibilityEvents == loggingAccessibilityEvents)
     88         return;
     89 
     90     if (!logAccessibilityEvents) {
     91         disconnectAccessibilityCallbacks();
     92         loggingAccessibilityEvents = false;
     93         return;
     94     }
     95 
     96     connectAccessibilityCallbacks();
     97     loggingAccessibilityEvents = true;
     98 }
     99 
    100 void AccessibilityController::addNotificationListener(PlatformUIElement, JSObjectRef)
    101 {
    102 }
    103 
    104 void AccessibilityController::notificationReceived(PlatformUIElement, const std::string&)
    105 {
    106 }
    107