[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

cfleizach at apple.com cfleizach at apple.com
Thu Apr 8 00:58:34 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit b78195d7a59d352849d3fb4b055d1780c0b8a04e
Author: cfleizach at apple.com <cfleizach at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 8 17:24:11 2010 +0000

    REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
    https://bugs.webkit.org/show_bug.cgi?id=33300
    
    Reviewed by Eric Seidel.
    
    WebCore:
    
    * accessibility/mac/AccessibilityObjectWrapper.mm:
    (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
    (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
    
    WebKitTools:
    
    * DumpRenderTree/AccessibilityUIElement.h:
    * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
    (AccessibilityUIElement::AccessibilityUIElement):
    (AccessibilityUIElement::~AccessibilityUIElement):
    (_accessibilityNotificationCallback):
    (AccessibilityUIElement::addNotificationListener):
    
    LayoutTests:
    
    * platform/mac/Skipped:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52994 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 7ee9cfe..96fadea 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,12 @@
+2010-01-08  Chris Fleizach  <cfleizach at apple.com>
+
+        Reviewed by Eric Seidel.
+
+        REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
+        https://bugs.webkit.org/show_bug.cgi?id=33300
+
+        * platform/mac/Skipped:
+
 2010-01-08  Csaba Osztrogonác  <ossy at webkit.org>
 
         Rubber-stamped by Kenneth Rohde Christiansen.
diff --git a/LayoutTests/platform/mac/Skipped b/LayoutTests/platform/mac/Skipped
index a5c837e..ae54f8f 100644
--- a/LayoutTests/platform/mac/Skipped
+++ b/LayoutTests/platform/mac/Skipped
@@ -100,10 +100,6 @@ fast/events/basic-touch-events.html
 # https://bugs.webkit.org/show_bug.cgi?id=33256
 fast/websockets/websocket-event-target.html
 
-# This test is causing later tests to fail
-# https://bugs.webkit.org/show_bug.cgi?id=33300
-platform/mac/accessibility/aria-liveregions-notifications.html
-
 # This test changes the output of svg/W3C-SVG-1.1/filters-conv-01-f.svg for unknown reasons.
 # https://bugs.webkit.org/show_bug.cgi?id=32294
 http/tests/uri/escaped-entity.html
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 8a18dae..a327d22 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,14 @@
+2010-01-08  Chris Fleizach  <cfleizach at apple.com>
+
+        Reviewed by Eric Seidel.
+
+        REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
+        https://bugs.webkit.org/show_bug.cgi?id=33300
+
+        * accessibility/mac/AccessibilityObjectWrapper.mm:
+        (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
+        (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
+
 2010-01-08  Pavel Feldman  <pfeldman at chromium.org>
 
         Reviewed by Timothy Hatcher.
diff --git a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
index 2a5d118..1dc9538 100644
--- a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
+++ b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
@@ -2658,18 +2658,21 @@ static RenderObject* rendererForView(NSView* view)
 }
 
 // These are used by DRT so that it can know when notifications are sent.
-typedef void (*AXPostedNotificationCallback)(id element, NSString* notification);
+// Since they are static, only one callback can be installed at a time (that's all DRT should need).
+typedef void (*AXPostedNotificationCallback)(id element, NSString* notification, void* context);
 static AXPostedNotificationCallback AXNotificationCallback = 0;
+static void* AXPostedNotificationContext = 0;
 
-- (void)accessibilitySetPostedNotificationCallback:(AXPostedNotificationCallback)function
+- (void)accessibilitySetPostedNotificationCallback:(AXPostedNotificationCallback)function withContext:(void*)context
 {
     AXNotificationCallback = function;
+    AXPostedNotificationContext = context;
 }
 
 - (void)accessibilityPostedNotification:(NSString *)notification
 {
     if (AXNotificationCallback)
-        AXNotificationCallback(self, notification);
+        AXNotificationCallback(self, notification, AXPostedNotificationContext);
 }
 
 @end
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index b272067..c2417e1 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,17 @@
+2010-01-08  Chris Fleizach  <cfleizach at apple.com>
+
+        Reviewed by Eric Seidel.
+
+        REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
+        https://bugs.webkit.org/show_bug.cgi?id=33300
+
+        * DumpRenderTree/AccessibilityUIElement.h:
+        * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+        (AccessibilityUIElement::AccessibilityUIElement):
+        (AccessibilityUIElement::~AccessibilityUIElement):
+        (_accessibilityNotificationCallback):
+        (AccessibilityUIElement::addNotificationListener):
+
 2010-01-08  Eric Seidel  <eric at webkit.org>
 
         Reviewed by Simon Hausmann.
diff --git a/WebKitTools/DumpRenderTree/AccessibilityUIElement.h b/WebKitTools/DumpRenderTree/AccessibilityUIElement.h
index 7441ae7..b30379e 100644
--- a/WebKitTools/DumpRenderTree/AccessibilityUIElement.h
+++ b/WebKitTools/DumpRenderTree/AccessibilityUIElement.h
@@ -164,6 +164,7 @@ private:
     static JSClassRef getJSClass();
 
     PlatformUIElement m_element;
+    JSObjectRef m_notificationFunctionCallback;
 };
 
 #endif // AccessibilityUIElement_h
diff --git a/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm b/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
index e6dfaf5..e085c0e 100644
--- a/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
+++ b/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
@@ -53,28 +53,33 @@
 #define NSAccessibilityDropEffectsAttribute @"AXDropEffects"
 #endif
 
-typedef void (*AXPostedNotificationCallback)(id element, NSString* notification);
+typedef void (*AXPostedNotificationCallback)(id element, NSString* notification, void* context);
 
 @interface NSObject (WebKitAccessibilityAdditions)
 - (NSArray *)accessibilityArrayAttributeValues:(NSString *)attribute index:(NSUInteger)index maxCount:(NSUInteger)maxCount;
-- (void)accessibilitySetPostedNotificationCallback:(AXPostedNotificationCallback)function;
+- (void)accessibilitySetPostedNotificationCallback:(AXPostedNotificationCallback)function withContext:(void*)context;
 - (NSUInteger)accessibilityIndexOfChild:(id)child;
 @end
 
 AccessibilityUIElement::AccessibilityUIElement(PlatformUIElement element)
     : m_element(element)
+    , m_notificationFunctionCallback(0)
 {
     [m_element retain];
 }
 
 AccessibilityUIElement::AccessibilityUIElement(const AccessibilityUIElement& other)
     : m_element(other.m_element)
+    , m_notificationFunctionCallback(0)
 {
     [m_element retain];
 }
 
 AccessibilityUIElement::~AccessibilityUIElement()
 {
+    // Make sure that our notification callback does not stick around.
+    if (m_notificationFunctionCallback)
+        [m_element accessibilitySetPostedNotificationCallback:0 withContext:0];
     [m_element release];
 }
 
@@ -753,17 +758,16 @@ JSStringRef AccessibilityUIElement::url()
     return [[url absoluteString] createJSStringRef];    
 }
 
-// The JavaScript callback we'll use when we get a notification
-static JSObjectRef AXNotificationFunctionCallback = 0;
-
-static void _accessibilityNotificationCallback(id element, NSString* notification)
+static void _accessibilityNotificationCallback(id element, NSString* notification, void* context)
 {
-    if (!AXNotificationFunctionCallback)
+    if (!context)
         return;
 
+    JSObjectRef functionCallback = static_cast<JSObjectRef>(context);
+
     JSRetainPtr<JSStringRef> jsNotification(Adopt, [notification createJSStringRef]);
     JSValueRef argument = JSValueMakeString([mainFrame globalContext], jsNotification.get());
-    JSObjectCallAsFunction([mainFrame globalContext], AXNotificationFunctionCallback, NULL, 1, &argument, NULL);
+    JSObjectCallAsFunction([mainFrame globalContext], functionCallback, NULL, 1, &argument, NULL);
 }
 
 bool AccessibilityUIElement::addNotificationListener(JSObjectRef functionCallback)
@@ -771,8 +775,8 @@ bool AccessibilityUIElement::addNotificationListener(JSObjectRef functionCallbac
     if (!functionCallback)
         return false;
  
-    AXNotificationFunctionCallback = functionCallback;
-    [platformUIElement() accessibilitySetPostedNotificationCallback:_accessibilityNotificationCallback];
+    m_notificationFunctionCallback = functionCallback;
+    [platformUIElement() accessibilitySetPostedNotificationCallback:_accessibilityNotificationCallback withContext:reinterpret_cast<void*>(m_notificationFunctionCallback)];
     return true;
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list