Title: [156332] trunk
Revision
156332
Author
commit-qu...@webkit.org
Date
2013-09-24 07:24:07 -0700 (Tue, 24 Sep 2013)

Log Message

[ATK] Missing WTR AccessibilityController::addNotificationListener implementation
https://bugs.webkit.org/show_bug.cgi?id=121674

Patch by Denis Nomiyama <d.nomiy...@samsung.com> on 2013-09-24
Reviewed by Mario Sanchez Prada.

Tools:

Implemented the global notification listener for
AccessibilityController. The signal is generated by
AXObjectCache::postPlatformNotification() and received by
axObjectEventListener(). axObjectEventListener will then invoke
JSObjectCallAsFunction() with the respective callback function.

There is no additional test for this patch since its implementation will
be tested by an accessibility layout test that is currently failing
(accessibility/loading-iframe-sends-notification.html).

* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Removed
stub implementations of addNotificationListener and
removeNotificationListener for the GTK port.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
(WTR::AccessibilityController::addNotificationListener): Creates the
notification handler and sets the notification function callback.
(WTR::AccessibilityController::removeNotificationListener): Removes the
global handler.

LayoutTests:

Updated the expectation of loading-iframe-sends-notification.html test,
which was failing before this fix.

* platform/gtk-wk2/TestExpectations: Removed
loading-iframe-sends-notification.html because it now passes with this
fix.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (156331 => 156332)


--- trunk/LayoutTests/ChangeLog	2013-09-24 14:18:22 UTC (rev 156331)
+++ trunk/LayoutTests/ChangeLog	2013-09-24 14:24:07 UTC (rev 156332)
@@ -1,3 +1,17 @@
+2013-09-24  Denis Nomiyama  <d.nomiy...@samsung.com>
+
+        [ATK] Missing WTR AccessibilityController::addNotificationListener implementation
+        https://bugs.webkit.org/show_bug.cgi?id=121674
+
+        Reviewed by Mario Sanchez Prada.
+
+        Updated the expectation of loading-iframe-sends-notification.html test,
+        which was failing before this fix.
+
+        * platform/gtk-wk2/TestExpectations: Removed
+        loading-iframe-sends-notification.html because it now passes with this
+        fix.
+
 2013-09-24  Anton Obzhirov  <a.obzhi...@samsung.com>
 
         [GTK] fast/images/exif-orientation-composited.html is failing

Modified: trunk/LayoutTests/platform/gtk-wk2/TestExpectations (156331 => 156332)


--- trunk/LayoutTests/platform/gtk-wk2/TestExpectations	2013-09-24 14:18:22 UTC (rev 156331)
+++ trunk/LayoutTests/platform/gtk-wk2/TestExpectations	2013-09-24 14:24:07 UTC (rev 156332)
@@ -336,7 +336,6 @@
 webkit.org/b/106335 accessibility/accessibility-node-reparent.html [ Failure ]
 webkit.org/b/106338 accessibility/aria-hidden-updates-alldescendants.html [ Failure ]
 webkit.org/b/106340 accessibility/img-fallsback-to-title.html [ Failure ]
-webkit.org/b/106343 accessibility/loading-iframe-sends-notification.html [ Failure ]
 webkit.org/b/106345 platform/gtk/accessibility/input-slider.html [ Failure ]
 webkit.org/b/116970 accessibility/multiselect-list-reports-active-option.html [ Failure ]
 webkit.org/b/116971 accessibility/poorly-formed-aria-table.html [ Failure ]

Modified: trunk/Tools/ChangeLog (156331 => 156332)


--- trunk/Tools/ChangeLog	2013-09-24 14:18:22 UTC (rev 156331)
+++ trunk/Tools/ChangeLog	2013-09-24 14:24:07 UTC (rev 156332)
@@ -1,3 +1,29 @@
+2013-09-24  Denis Nomiyama  <d.nomiy...@samsung.com>
+
+        [ATK] Missing WTR AccessibilityController::addNotificationListener implementation
+        https://bugs.webkit.org/show_bug.cgi?id=121674
+
+        Reviewed by Mario Sanchez Prada.
+
+        Implemented the global notification listener for
+        AccessibilityController. The signal is generated by
+        AXObjectCache::postPlatformNotification() and received by
+        axObjectEventListener(). axObjectEventListener will then invoke
+        JSObjectCallAsFunction() with the respective callback function.
+
+        There is no additional test for this patch since its implementation will
+        be tested by an accessibility layout test that is currently failing
+        (accessibility/loading-iframe-sends-notification.html).
+
+        * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Removed
+        stub implementations of addNotificationListener and
+        removeNotificationListener for the GTK port.
+        * WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
+        (WTR::AccessibilityController::addNotificationListener): Creates the
+        notification handler and sets the notification function callback.
+        (WTR::AccessibilityController::removeNotificationListener): Removes the
+        global handler.
+
 2013-09-24  Anton Obzhirov  <a.obzhi...@samsung.com>
 
         [GTK] fast/images/exif-orientation-composited.html is failing

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp (156331 => 156332)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp	2013-09-24 14:18:22 UTC (rev 156331)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp	2013-09-24 14:24:07 UTC (rev 156332)
@@ -97,7 +97,7 @@
 
 // Unsupported methods on various platforms.
 // As they're implemented on other platforms this list should be modified.
-#if !PLATFORM(MAC)
+#if !PLATFORM(GTK) && !PLATFORM(MAC)
 bool AccessibilityController::addNotificationListener(JSValueRef) { return false; }
 bool AccessibilityController::removeNotificationListener() { return false; }
 #endif

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp (156331 => 156332)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp	2013-09-24 14:18:22 UTC (rev 156331)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp	2013-09-24 14:24:07 UTC (rev 156332)
@@ -128,4 +128,28 @@
     return AccessibilityUIElement::create(static_cast<AtkObject*>(root));
 }
 
+#if PLATFORM(GTK)
+bool AccessibilityController::addNotificationListener(JSValueRef functionCallback)
+{
+    if (!functionCallback)
+        return false;
+
+    // Only one global notification listener.
+    if (!m_globalNotificationHandler)
+        m_globalNotificationHandler = AccessibilityNotificationHandler::create();
+    m_globalNotificationHandler->setNotificationFunctionCallback(functionCallback);
+
+    return true;
+}
+
+bool AccessibilityController::removeNotificationListener()
+{
+    // Programmers should not be trying to remove a listener that's already removed.
+    ASSERT(m_globalNotificationHandler);
+
+    m_globalNotificationHandler = 0;
+    return false;
+}
+#endif
+
 } // namespace WTR
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to