[ATK] Missing WTR AccessibilityUIElement::addNotificationListener implementation
[WebKit-https.git] / Tools / ChangeLog
index 5778333eb3f94dd006b5f4e72fa6781be8f7ea26..b18d632d44fdec64f80839a5a588b1fb2ace9ca5 100644 (file)
@@ -1,3 +1,75 @@
+2013-09-20  Denis Nomiyama  <d.nomiyama@samsung.com>
+
+        [ATK] Missing WTR AccessibilityUIElement::addNotificationListener implementation
+        https://bugs.webkit.org/show_bug.cgi?id=120421
+
+        Reviewed by Mario Sanchez Prada.
+
+        Implemented the notification listener for AccessibilityUIElement for
+        WebKitTestRunner. The signal is generated by
+        AXObjectCache::postPlatformNotification() and received by
+        axObjectEventListener(). axObjectEventListener() will then invoke
+        JSObjectCallAsFunction() with the respective callback function. The
+        notification handlers are stored in HashMap in
+        AccessibilityNotificationHandlerAtk.cpp.
+
+        Moved ATK signal handling (printAccessibilityEvent and
+        axObjectEventListener) to AccessibilityNotificationHandlerAtk.cpp.
+
+        * WebKitTestRunner/CMakeLists.txt: Added InjectedBundle/atk to the
+        include path.
+        * WebKitTestRunner/GNUmakefile.am:
+        Added AccessibilityNotificationHandlerAtk.cpp/h.
+        * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Moved
+        listener IDs to AccessibilityNotificationHandlerAtk.cpp.
+        * WebKitTestRunner/InjectedBundle/AccessibilityController.h: Moved
+        listener IDs to AccessibilityNotificationHandlerAtk.cpp.
+        * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: Added a
+        notification handler for GTK+ and EFL.
+        * WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
+        Moved printAccessibilityEvent and axObjectEventListener to
+        AccessibilityNotificationHandlerAtk.cpp.
+        (WTR::AccessibilityController::logAccessibilityEvents): Moved listener
+        IDs to AccessibilityNotificationHandlerAtk.cpp.
+        (WTR::AccessibilityController::resetToConsistentState): Moved listener
+        IDs to AccessibilityNotificationHandlerAtk.cpp.
+        * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: Added.
+        (WTR::printAccessibilityEvent): Prints accessibility events. This
+        function was moved from AccessibilityControllerAtk.cpp.
+        (WTR::axObjectEventListener): Callback for signals. This function was
+        moved from AccessibilityControllerAtk.cpp.
+        (WTR::AccessibilityNotificationHandler::AccessibilityNotificationHandler):
+        Initialize element and function callback.
+        (WTR::AccessibilityNotificationHandler::~AccessibilityNotificationHandler):
+        Removes handler from HashMap and disconnects callbacks if necessary.
+        (WTR::AccessibilityNotificationHandler::logAccessibilityEvents): Sets
+        logging mode and connects callbacks.
+        (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
+        Sets the notification callback and connects callback to signals.
+        (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):
+        Removes the notification callback from HashMap.
+        (WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
+        Connects axObjectEventListener to ATK signals.
+        (WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
+        Disconnects callback.
+        * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.h: Added.
+        (WTR::AccessibilityNotificationHandler::create): Creates a new instance
+        of AccessibilityNotificationHandler.
+        (WTR::AccessibilityNotificationHandler::setPlatformElement): Sets the
+        element.
+        (WTR::AccessibilityNotificationHandler::platformElement): Gets the
+        element.
+        (WTR::AccessibilityNotificationHandler::notificationFunctionCallback):
+        Gets the notification callback.
+        * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
+        (WTR::AccessibilityUIElement::addNotificationListener): Creates
+        notification handler, set the platform element and the notification
+        callback.
+        (WTR::AccessibilityUIElement::removeNotificationListener): Deletes the
+        notification handler.
+        * WebKitTestRunner/PlatformEfl.cmake:
+        Added AccessibilityNotificationHandlerAtk.cpp.
+
 2013-09-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
 
         Update features.pri