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 "AccessibilityUIElement.h"
     31 #include "DumpRenderTree.h"
     32 
     33 #include <atk/atk.h>
     34 #include <gtk/gtk.h>
     35 #include <webkit/webkit.h>
     36 
     37 extern "C" {
     38 extern AtkObject* webkit_web_frame_get_focused_accessible_element(WebKitWebFrame*);
     39 }
     40 
     41 AccessibilityController::AccessibilityController()
     42 {
     43 }
     44 
     45 AccessibilityController::~AccessibilityController()
     46 {
     47 }
     48 
     49 AccessibilityUIElement AccessibilityController::focusedElement()
     50 {
     51     AtkObject* accessible =  webkit_web_frame_get_focused_accessible_element(mainFrame);
     52     if (!accessible)
     53         return 0;
     54 
     55     return AccessibilityUIElement(accessible);
     56 }
     57 
     58 AccessibilityUIElement AccessibilityController::rootElement()
     59 {
     60     WebKitWebView* view = webkit_web_frame_get_web_view(mainFrame);
     61 
     62     // The presumed, desired rootElement is the parent of the web view.
     63     GtkWidget* webViewParent = gtk_widget_get_parent(GTK_WIDGET(view));
     64     AtkObject* axObject = gtk_widget_get_accessible(webViewParent);
     65 
     66     return AccessibilityUIElement(axObject);
     67 }
     68 
     69 void AccessibilityController::setLogFocusEvents(bool)
     70 {
     71 }
     72 
     73 void AccessibilityController::setLogScrollingStartEvents(bool)
     74 {
     75 }
     76 
     77 void AccessibilityController::setLogValueChangeEvents(bool)
     78 {
     79 }
     80 
     81 void AccessibilityController::addNotificationListener(PlatformUIElement, JSObjectRef)
     82 {
     83 }
     84 
     85 void AccessibilityController::notificationReceived(PlatformUIElement, const std::string&)
     86 {
     87 }
     88