[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

abarth at webkit.org abarth at webkit.org
Wed Dec 22 13:25:02 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit ee2096782193db8fbf3e12ce4d8367ba7ae35218
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Sep 14 21:29:35 2010 +0000

    2010-09-14  Chris Guillory   <chris.guillory at google.com>
    
            Reviewed by Chris Fleizach.
    
            Send all accessibility notifications to Chromium.
            https://bugs.webkit.org/show_bug.cgi?id=45156
    
            Use postAccessibilityNotification to pass accessibility notifications
            to chromium.
    
            * WebKit.gyp:
            * public/WebAccessibilityNotification.h: Added.
            * public/WebViewClient.h:
            (WebKit::WebViewClient::postAccessibilityNotification):
            * src/AssertMatchingEnums.h: Added.
            * src/ChromeClientImpl.cpp:
            (WebKit::toWebAccessibilityNotification):
            (WebKit::ChromeClientImpl::didChangeAccessibilityObjectChildren):
            (WebKit::ChromeClientImpl::postAccessibilityNotification):
            * src/ChromeClientImpl.h:
    2010-09-14  Chris Guillory   <chris.guillory at google.com>
    
            Reviewed by Chris Fleizach.
    
            Send all accessibility notifications to Chromium.
            https://bugs.webkit.org/show_bug.cgi?id=45156
    
            Use postAccessibilityNotification to pass accessibility notifications
            to chromium.
    
            Tests: platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html
                   platform/chromium/accessibility/post-notification-CheckedStateChanged.html
                   platform/chromium/accessibility/post-notification-ChildrenChanged.html
                   platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html
                   platform/chromium/accessibility/post-notification-LayoutComplete.html
                   platform/chromium/accessibility/post-notification-LiveRegionChanged.html
                   platform/chromium/accessibility/post-notification-LoadComplete.html
                   platform/chromium/accessibility/post-notification-MenuListValueChanged.html
                   platform/chromium/accessibility/post-notification-RowCollapsed.html
                   platform/chromium/accessibility/post-notification-RowCountChanged.html
                   platform/chromium/accessibility/post-notification-RowExpanded.html
                   platform/chromium/accessibility/post-notification-ScrolledToAnchor.html
                   platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html
                   platform/chromium/accessibility/post-notification-SelectedTextChanged.html
                   platform/chromium/accessibility/post-notification-ValueChanged.html
    
            * accessibility/chromium/AXObjectCacheChromium.cpp:
            (WebCore::AXObjectCache::postPlatformNotification):
            * page/chromium/ChromeClientChromium.h:
    2010-09-14  Chris Guillory   <chris.guillory at google.com>
    
            Reviewed by Chris Fleizach.
    
            Send all accessibility notifications to Chromium.
            https://bugs.webkit.org/show_bug.cgi?id=45156
    
            * platform/chromium/accessibility/children-changed-notification-expected.txt: Removed.
            * platform/chromium/accessibility/children-changed-notification.html: Removed.
            * platform/chromium/accessibility/post-notification-ActiveDescendantChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html: Added.
            * platform/chromium/accessibility/post-notification-CheckedStateChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-CheckedStateChanged.html: Added.
            * platform/chromium/accessibility/post-notification-ChildrenChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-ChildrenChanged.html: Added.
            * platform/chromium/accessibility/post-notification-FocusedUIElementChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html: Added.
            * platform/chromium/accessibility/post-notification-LayoutComplete-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-LayoutComplete.html: Added.
            * platform/chromium/accessibility/post-notification-LiveRegionChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-LiveRegionChanged.html: Added.
            * platform/chromium/accessibility/post-notification-LoadComplete-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-LoadComplete.html: Added.
            * platform/chromium/accessibility/post-notification-MenuListValueChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-MenuListValueChanged.html: Added.
            * platform/chromium/accessibility/post-notification-RowCollapsed-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-RowCollapsed.html: Added.
            * platform/chromium/accessibility/post-notification-RowCountChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-RowCountChanged.html: Added.
            * platform/chromium/accessibility/post-notification-RowExpanded-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-RowExpanded.html: Added.
            * platform/chromium/accessibility/post-notification-ScrolledToAnchor-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-ScrolledToAnchor.html: Added.
            * platform/chromium/accessibility/post-notification-SelectedChildrenChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html: Added.
            * platform/chromium/accessibility/post-notification-SelectedTextChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-SelectedTextChanged.html: Added.
            * platform/chromium/accessibility/post-notification-ValueChanged-expected.txt: Added.
            * platform/chromium/accessibility/post-notification-ValueChanged.html: Added.
            * platform/chromium/accessibility/post-notification.js: Added.
            (enumAccessibilityObjects):
            (testDone):
            (test):
            * platform/chromium/drt_expectations.txt:
            * platform/chromium/test_expectations.txt:
    2010-09-14  Chris Guillory   <chris.guillory at google.com>
    
            Reviewed by Chris Fleizach.
    
            Send all accessibility notifications to Chromium.
            https://bugs.webkit.org/show_bug.cgi?id=45156
    
            * DumpRenderTree/chromium/WebViewHost.cpp:
            (WebViewHost::postAccessibilityNotification):
            * DumpRenderTree/chromium/WebViewHost.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67498 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 330d0e2..f3d787b 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,49 @@
+2010-09-14  Chris Guillory   <chris.guillory at google.com>
+
+        Reviewed by Chris Fleizach.
+
+        Send all accessibility notifications to Chromium.
+        https://bugs.webkit.org/show_bug.cgi?id=45156
+
+        * platform/chromium/accessibility/children-changed-notification-expected.txt: Removed.
+        * platform/chromium/accessibility/children-changed-notification.html: Removed.
+        * platform/chromium/accessibility/post-notification-ActiveDescendantChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html: Added.
+        * platform/chromium/accessibility/post-notification-CheckedStateChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-CheckedStateChanged.html: Added.
+        * platform/chromium/accessibility/post-notification-ChildrenChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-ChildrenChanged.html: Added.
+        * platform/chromium/accessibility/post-notification-FocusedUIElementChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html: Added.
+        * platform/chromium/accessibility/post-notification-LayoutComplete-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-LayoutComplete.html: Added.
+        * platform/chromium/accessibility/post-notification-LiveRegionChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-LiveRegionChanged.html: Added.
+        * platform/chromium/accessibility/post-notification-LoadComplete-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-LoadComplete.html: Added.
+        * platform/chromium/accessibility/post-notification-MenuListValueChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-MenuListValueChanged.html: Added.
+        * platform/chromium/accessibility/post-notification-RowCollapsed-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-RowCollapsed.html: Added.
+        * platform/chromium/accessibility/post-notification-RowCountChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-RowCountChanged.html: Added.
+        * platform/chromium/accessibility/post-notification-RowExpanded-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-RowExpanded.html: Added.
+        * platform/chromium/accessibility/post-notification-ScrolledToAnchor-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-ScrolledToAnchor.html: Added.
+        * platform/chromium/accessibility/post-notification-SelectedChildrenChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html: Added.
+        * platform/chromium/accessibility/post-notification-SelectedTextChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-SelectedTextChanged.html: Added.
+        * platform/chromium/accessibility/post-notification-ValueChanged-expected.txt: Added.
+        * platform/chromium/accessibility/post-notification-ValueChanged.html: Added.
+        * platform/chromium/accessibility/post-notification.js: Added.
+        (enumAccessibilityObjects):
+        (testDone):
+        (test):
+        * platform/chromium/drt_expectations.txt:
+        * platform/chromium/test_expectations.txt:
+
 2010-09-14  Darin Adler  <darin at apple.com>
 
         Reviewed by Geoffrey Garen.
diff --git a/LayoutTests/platform/chromium/accessibility/children-changed-notification-expected.txt b/LayoutTests/platform/chromium/accessibility/children-changed-notification-expected.txt
deleted file mode 100644
index 86c5d4a..0000000
--- a/LayoutTests/platform/chromium/accessibility/children-changed-notification-expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-didChangeAccessibilityObjectChildren - new count: 1
-This tests that chromium correctly recieves notifications when the children of an accessibility object change.
-text
diff --git a/LayoutTests/platform/chromium/accessibility/children-changed-notification.html b/LayoutTests/platform/chromium/accessibility/children-changed-notification.html
deleted file mode 100644
index e7f7f18..0000000
--- a/LayoutTests/platform/chromium/accessibility/children-changed-notification.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html>
-<body>
-This tests that chromium correctly recieves notifications when the children of an accessibility object change.
-<div></div>
-<script>
-    function testDone() {
-        layoutTestController.notifyDone();
-    }
-    
-    function test() {
-        if (!window.layoutTestController)
-            return;
-
-        layoutTestController.dumpAsText();
-
-        if (!accessibilityController || !accessibilityController.dumpAccessibilityNotifications)
-            return;
-
-        layoutTestController.waitUntilDone();
-        
-        // Access accessibility object that will be deleted.
-        document.body.focus();
-        accessibilityController.focusedElement.childAtIndex(0);
-        
-        accessibilityController.dumpAccessibilityNotifications();
-        
-        // Insert a child element on the div. This generates an accessibility childred changed notification.
-        document.body.children[0].innerHTML = "text";
-
-        // Use setTimeout so that asynchronous accessibility notifications can be processed.
-        setTimeout(testDone, 0);
-    }
-
-    test();
-</script>
-</body>
-</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-ActiveDescendantChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-ActiveDescendantChanged-expected.txt
new file mode 100644
index 0000000..2f9b708
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-ActiveDescendantChanged-expected.txt
@@ -0,0 +1,3 @@
+AccessibilityNotification - ActiveDescendantChanged - id:ul-for-ActiveDescendantChanged
+This tests that chromium correctly recieves the ActiveDescendantChanged notification.
+li1
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html
new file mode 100644
index 0000000..e116b20
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html
@@ -0,0 +1,21 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        var radiogroup = document.getElementById("ul-for-ActiveDescendantChanged");
+
+        radiogroup.focus();
+        radiogroup.setAttribute("aria-activedescendant", "r1");
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the ActiveDescendantChanged notification.
+
+<ul id="ul-for-ActiveDescendantChanged" aria-help="ul-for-ActiveDescendantChanged" tabindex="0" role="radiogroup">
+    <li id="r1">li1</li>
+</ul>
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-CheckedStateChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-CheckedStateChanged-expected.txt
new file mode 100644
index 0000000..27666e4
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-CheckedStateChanged-expected.txt
@@ -0,0 +1,2 @@
+AccessibilityNotification - CheckedStateChanged - id:checkbox-for-CheckedStateChanged
+This tests that chromium correctly recieves the CheckedStateChanged notification.  
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-CheckedStateChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-CheckedStateChanged.html
new file mode 100644
index 0000000..95a81e8
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-CheckedStateChanged.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        document.getElementById("checkbox-for-CheckedStateChanged").checked = true;
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the CheckedStateChanged notification.
+
+<input id="checkbox-for-CheckedStateChanged" aria-help="checkbox-for-CheckedStateChanged" type="checkbox" />
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-ChildrenChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-ChildrenChanged-expected.txt
new file mode 100644
index 0000000..64a23e3
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-ChildrenChanged-expected.txt
@@ -0,0 +1,3 @@
+AccessibilityNotification - ChildrenChanged - id:div-for-ChildrenChanged
+This tests that chromium correctly recieves the ChildrenChanged notification.
+text
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-ChildrenChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-ChildrenChanged.html
new file mode 100644
index 0000000..d465158
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-ChildrenChanged.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        document.getElementById("div-for-ChildrenChanged").innerHTML = "text";
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the ChildrenChanged notification.
+
+<div id="div-for-ChildrenChanged" aria-help="div-for-ChildrenChanged"></div>
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-FocusedUIElementChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-FocusedUIElementChanged-expected.txt
new file mode 100644
index 0000000..9dfe2a4
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-FocusedUIElementChanged-expected.txt
@@ -0,0 +1 @@
+This tests that chromium correctly recieves the FocusedUIElementChanged notification.
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html
new file mode 100644
index 0000000..4790849
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        // Not sent to the chromium port - see handleFocusedUIElementChanged
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the FocusedUIElementChanged notification.
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-LayoutComplete-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-LayoutComplete-expected.txt
new file mode 100644
index 0000000..da109f3
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-LayoutComplete-expected.txt
@@ -0,0 +1 @@
+This tests that chromium correctly recieves the LayoutComplete notification.
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-LayoutComplete.html b/LayoutTests/platform/chromium/accessibility/post-notification-LayoutComplete.html
new file mode 100644
index 0000000..10287f7
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-LayoutComplete.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        // Mac specific
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the LayoutComplete notification.
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-LiveRegionChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-LiveRegionChanged-expected.txt
new file mode 100644
index 0000000..e6a4c08
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-LiveRegionChanged-expected.txt
@@ -0,0 +1,2 @@
+AccessibilityNotification - LiveRegionChanged - id:ul-for-LiveRegionChanged
+This tests that chromium correctly recieves the LiveRegionChanged notification.
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-LiveRegionChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-LiveRegionChanged.html
new file mode 100644
index 0000000..d5c26d0
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-LiveRegionChanged.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        document.getElementById("ul-for-LiveRegionChanged").title = "title";
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the LiveRegionChanged notification.
+
+<ul id="ul-for-LiveRegionChanged" aria-help="ul-for-LiveRegionChanged" role="region" aria-live="polite" aria-relevant="additions removals"></ul>
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-LoadComplete-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-LoadComplete-expected.txt
new file mode 100644
index 0000000..082172b
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-LoadComplete-expected.txt
@@ -0,0 +1 @@
+This tests that chromium correctly recieves the LoadComplete notification.
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-LoadComplete.html b/LayoutTests/platform/chromium/accessibility/post-notification-LoadComplete.html
new file mode 100644
index 0000000..df68f19
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-LoadComplete.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        // Mac specific
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the LoadComplete notification.
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-MenuListValueChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-MenuListValueChanged-expected.txt
new file mode 100644
index 0000000..368b614
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-MenuListValueChanged-expected.txt
@@ -0,0 +1,2 @@
+AccessibilityNotification - MenuListValueChanged - id:select-for-MenuListValueChanged
+This tests that chromium correctly recieves the MenuListValueChanged notification.  
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-MenuListValueChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-MenuListValueChanged.html
new file mode 100644
index 0000000..ea1176a
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-MenuListValueChanged.html
@@ -0,0 +1,18 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        document.getElementById("select-for-MenuListValueChanged").selectedIndex = 0;
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the MenuListValueChanged notification.
+
+<select id="select-for-MenuListValueChanged" aria-help="select-for-MenuListValueChanged">
+<option></option> 
+</select>
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-RowCollapsed-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-RowCollapsed-expected.txt
new file mode 100644
index 0000000..e82794f
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-RowCollapsed-expected.txt
@@ -0,0 +1,2 @@
+AccessibilityNotification - RowCollapsed - id:div-for-RowCollapsed
+This tests that chromium correctly recieves the RowCollapsed notification.
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-RowCollapsed.html b/LayoutTests/platform/chromium/accessibility/post-notification-RowCollapsed.html
new file mode 100644
index 0000000..2e80147
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-RowCollapsed.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        document.getElementById("div-for-RowCollapsed").setAttribute("aria-expanded", false);
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the RowCollapsed notification.
+
+<div id="div-for-RowCollapsed" aria-help="div-for-RowCollapsed" role="treeitem"></div>
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-RowCountChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-RowCountChanged-expected.txt
new file mode 100644
index 0000000..3710548
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-RowCountChanged-expected.txt
@@ -0,0 +1,2 @@
+AccessibilityNotification - RowCountChanged - id:div-for-RowCountChanged
+This tests that chromium correctly recieves the RowCountChanged notification.
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-RowCountChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-RowCountChanged.html
new file mode 100644
index 0000000..3dabe3f
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-RowCountChanged.html
@@ -0,0 +1,20 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        var div = document.getElementById("div-for-RowCountChanged");
+
+        div.children[0].setAttribute("aria-expanded", true);
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the RowCountChanged notification.
+
+<div id="div-for-RowCountChanged" aria-help="div-for-RowCountChanged" role="grid">
+    <div></div>
+</div>
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-RowExpanded-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-RowExpanded-expected.txt
new file mode 100644
index 0000000..907d66c
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-RowExpanded-expected.txt
@@ -0,0 +1,2 @@
+AccessibilityNotification - RowExpanded - id:div-for-RowExpanded
+This tests that chromium correctly recieves the RowExpanded notification.
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-RowExpanded.html b/LayoutTests/platform/chromium/accessibility/post-notification-RowExpanded.html
new file mode 100644
index 0000000..8ad50d9
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-RowExpanded.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        document.getElementById("div-for-RowExpanded").setAttribute("aria-expanded", true);
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the RowExpanded notification.
+
+<div id="div-for-RowExpanded" aria-help="div-for-RowExpanded" role="treeitem"></div>
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-ScrolledToAnchor-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-ScrolledToAnchor-expected.txt
new file mode 100644
index 0000000..0499099
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-ScrolledToAnchor-expected.txt
@@ -0,0 +1 @@
+This tests that chromium correctly recieves the ScrolledToAnchor notification.
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-ScrolledToAnchor.html b/LayoutTests/platform/chromium/accessibility/post-notification-ScrolledToAnchor.html
new file mode 100644
index 0000000..c1f1c6f
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-ScrolledToAnchor.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        // Not sent to the chromium port - see handleScrolledToAnchor
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the ScrolledToAnchor notification.
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-SelectedChildrenChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-SelectedChildrenChanged-expected.txt
new file mode 100644
index 0000000..5fecca3
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-SelectedChildrenChanged-expected.txt
@@ -0,0 +1,2 @@
+AccessibilityNotification - SelectedChildrenChanged - id:select-for-SelectedChildrenChanged
+This tests that chromium correctly recieves the SelectedChildrenChanged notification.  
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html
new file mode 100644
index 0000000..b72c297
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html
@@ -0,0 +1,18 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        document.getElementById("select-for-SelectedChildrenChanged").selectedIndex = 0;
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the SelectedChildrenChanged notification.
+
+<select id="select-for-SelectedChildrenChanged" aria-help="select-for-SelectedChildrenChanged" size="4">
+    <option value="1">item 1</option>
+</select>
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-SelectedTextChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-SelectedTextChanged-expected.txt
new file mode 100644
index 0000000..c2e94fc
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-SelectedTextChanged-expected.txt
@@ -0,0 +1 @@
+This tests that chromium correctly recieves the SelectedTextChanged notification.
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-SelectedTextChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-SelectedTextChanged.html
new file mode 100644
index 0000000..60819bb
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-SelectedTextChanged.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        // Mac specific - see notifyAccessibilityForSelectionChange
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the SelectedTextChanged notification.
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-ValueChanged-expected.txt b/LayoutTests/platform/chromium/accessibility/post-notification-ValueChanged-expected.txt
new file mode 100644
index 0000000..e226cff
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-ValueChanged-expected.txt
@@ -0,0 +1,2 @@
+AccessibilityNotification - ValueChanged - id:text-for-ValueChanged
+This tests that chromium correctly recieves the ValueChanged notification.  
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification-ValueChanged.html b/LayoutTests/platform/chromium/accessibility/post-notification-ValueChanged.html
new file mode 100644
index 0000000..59c25f9
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification-ValueChanged.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<script>
+    function testNotification() {
+        document.getElementById("text-for-ValueChanged").value = "button"
+    }
+</script>
+</head>
+<body onload="test()">
+This tests that chromium correctly recieves the ValueChanged notification.
+
+<input id="text-for-ValueChanged" aria-help="text-for-ValueChanged" type="text" value="value" />
+
+<script type="text/javascript" src="post-notification.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/accessibility/post-notification.js b/LayoutTests/platform/chromium/accessibility/post-notification.js
new file mode 100644
index 0000000..af0336b
--- /dev/null
+++ b/LayoutTests/platform/chromium/accessibility/post-notification.js
@@ -0,0 +1,25 @@
+function enumAccessibilityObjects(accessibilityObject) {
+  var count = accessibilityObject.childrenCount;
+  for (var i = 0; i < count; ++i)
+    enumAccessibilityObjects(accessibilityObject.childAtIndex(i));
+}
+
+function testDone() {
+  layoutTestController.notifyDone();
+}
+
+function test() {
+  layoutTestController.dumpAsText();
+  layoutTestController.waitUntilDone();
+  
+  // Build accessibility tree.
+  document.body.focus();
+  enumAccessibilityObjects(accessibilityController.focusedElement);
+
+  // Test the accessibility notification.
+  accessibilityController.dumpAccessibilityNotifications();
+  testNotification();
+
+  // Use setTimeout so that asynchronous accessibility notifications can be processed.
+  setTimeout(testDone, 0);
+}
diff --git a/LayoutTests/platform/chromium/drt_expectations.txt b/LayoutTests/platform/chromium/drt_expectations.txt
index 91f346d..4b2ed70 100644
--- a/LayoutTests/platform/chromium/drt_expectations.txt
+++ b/LayoutTests/platform/chromium/drt_expectations.txt
@@ -161,4 +161,4 @@ BUG_DRT WIN : css2.1/t0905-c5526-flthw-00-c-g.html = IMAGE+TEXT
 
 
 // Pass with DRT though FAIL on test_shell
-BUG_DRT : platform/chromium/accessibility/children-changed-notification.html = PASS
+BUG_DRT : platform/chromium/accessibility = PASS
diff --git a/LayoutTests/platform/chromium/test_expectations.txt b/LayoutTests/platform/chromium/test_expectations.txt
index b385c97..602b9c7 100644
--- a/LayoutTests/platform/chromium/test_expectations.txt
+++ b/LayoutTests/platform/chromium/test_expectations.txt
@@ -954,7 +954,7 @@ BUG10322 DEFER SKIP : platform/mac/accessibility = PASS FAIL
 BUG10322 DEFER SKIP : platform/win/accessibility = PASS FAIL
 
 // Functionality is supported in DRT but not TestShell
-WONTFIX SKIP : platform/chromium/accessibility/children-changed-notification.html = FAIL
+WONTFIX SKIP : platform/chromium/accessibility = FAIL
 
 // -----------------------------------------------------------------
 // Other failures
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 73063aa..475fd31 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,33 @@
+2010-09-14  Chris Guillory   <chris.guillory at google.com>
+
+        Reviewed by Chris Fleizach.
+
+        Send all accessibility notifications to Chromium.
+        https://bugs.webkit.org/show_bug.cgi?id=45156
+        
+        Use postAccessibilityNotification to pass accessibility notifications
+        to chromium.
+
+        Tests: platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html
+               platform/chromium/accessibility/post-notification-CheckedStateChanged.html
+               platform/chromium/accessibility/post-notification-ChildrenChanged.html
+               platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html
+               platform/chromium/accessibility/post-notification-LayoutComplete.html
+               platform/chromium/accessibility/post-notification-LiveRegionChanged.html
+               platform/chromium/accessibility/post-notification-LoadComplete.html
+               platform/chromium/accessibility/post-notification-MenuListValueChanged.html
+               platform/chromium/accessibility/post-notification-RowCollapsed.html
+               platform/chromium/accessibility/post-notification-RowCountChanged.html
+               platform/chromium/accessibility/post-notification-RowExpanded.html
+               platform/chromium/accessibility/post-notification-ScrolledToAnchor.html
+               platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html
+               platform/chromium/accessibility/post-notification-SelectedTextChanged.html
+               platform/chromium/accessibility/post-notification-ValueChanged.html
+
+        * accessibility/chromium/AXObjectCacheChromium.cpp:
+        (WebCore::AXObjectCache::postPlatformNotification):
+        * page/chromium/ChromeClientChromium.h:
+
 2010-09-14  Darin Adler  <darin at apple.com>
 
         Reviewed by Geoffrey Garen.
diff --git a/WebCore/accessibility/chromium/AXObjectCacheChromium.cpp b/WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
index d906a91..3ff0837 100644
--- a/WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
+++ b/WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
@@ -60,30 +60,34 @@ void AXObjectCache::postPlatformNotification(AccessibilityObject* obj, AXNotific
         return;
 
     ChromeClientChromium* client = toChromeClientChromium(obj->documentFrameView());
-    if (client) {
-        switch (notification) {
-        case AXCheckedStateChanged:
-            client->didChangeAccessibilityObjectState(obj);
-            break;
-        case AXChildrenChanged:
-            client->didChangeAccessibilityObjectChildren(obj);
-            break;
-        case AXActiveDescendantChanged:
-        case AXFocusedUIElementChanged:
-        case AXLayoutComplete:
-        case AXLiveRegionChanged:
-        case AXLoadComplete:
-        case AXMenuListValueChanged:
-        case AXRowCollapsed:
-        case AXRowCountChanged:
-        case AXRowExpanded:
-        case AXScrolledToAnchor:
-        case AXSelectedChildrenChanged:
-        case AXSelectedTextChanged:
-        case AXValueChanged:
-            break;
-        }
+    if (!client)
+        return;
+
+    // TODO: Remove after the new postAccessibilityNotification is used downstream.
+    switch (notification) {
+    case AXCheckedStateChanged:
+        client->didChangeAccessibilityObjectState(obj);
+        break;
+    case AXChildrenChanged:
+        client->didChangeAccessibilityObjectChildren(obj);
+        break;
+    case AXActiveDescendantChanged:
+    case AXFocusedUIElementChanged:
+    case AXLayoutComplete:
+    case AXLiveRegionChanged:
+    case AXLoadComplete:
+    case AXMenuListValueChanged:
+    case AXRowCollapsed:
+    case AXRowCountChanged:
+    case AXRowExpanded:
+    case AXScrolledToAnchor:
+    case AXSelectedChildrenChanged:
+    case AXSelectedTextChanged:
+    case AXValueChanged:
+        break;
     }
+
+    client->postAccessibilityNotification(obj, notification);        
 }
 
 void AXObjectCache::handleFocusedUIElementChanged(RenderObject*, RenderObject*)
diff --git a/WebCore/page/chromium/ChromeClientChromium.h b/WebCore/page/chromium/ChromeClientChromium.h
index 7765472..44e005f 100644
--- a/WebCore/page/chromium/ChromeClientChromium.h
+++ b/WebCore/page/chromium/ChromeClientChromium.h
@@ -31,6 +31,7 @@
 #ifndef ChromeClientChromium_h
 #define ChromeClientChromium_h
 
+#include "AXObjectCache.h"
 #include "ChromeClient.h"
 #include <wtf/Forward.h>
 
@@ -58,6 +59,9 @@ public:
     
     // Notified embedder that the children of an accessibility object has changed.
     virtual void didChangeAccessibilityObjectChildren(AccessibilityObject*) = 0;
+    
+    // Notifies embedder about an accessibility notification.
+    virtual void postAccessibilityNotification(AccessibilityObject*, AXObjectCache::AXNotification) = 0;
 };
 
 } // namespace WebCore
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index ed3d3d3..486c6e3 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,24 @@
+2010-09-14  Chris Guillory   <chris.guillory at google.com>
+
+        Reviewed by Chris Fleizach.
+
+        Send all accessibility notifications to Chromium.
+        https://bugs.webkit.org/show_bug.cgi?id=45156
+        
+        Use postAccessibilityNotification to pass accessibility notifications
+        to chromium.
+
+        * WebKit.gyp:
+        * public/WebAccessibilityNotification.h: Added.
+        * public/WebViewClient.h:
+        (WebKit::WebViewClient::postAccessibilityNotification):
+        * src/AssertMatchingEnums.h: Added.
+        * src/ChromeClientImpl.cpp:
+        (WebKit::toWebAccessibilityNotification):
+        (WebKit::ChromeClientImpl::didChangeAccessibilityObjectChildren):
+        (WebKit::ChromeClientImpl::postAccessibilityNotification):
+        * src/ChromeClientImpl.h:
+
 2010-09-14  Tony Chang  <tony at chromium.org>
 
         Unreviewed, fix chromium win compile.
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index cd1ba28..7291327 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -98,6 +98,7 @@
                 'public/mac/WebSandboxSupport.h',
                 'public/mac/WebScreenInfoFactory.h',
                 'public/WebAccessibilityCache.h',
+                'public/WebAccessibilityNotification.h',
                 'public/WebAccessibilityObject.h',
                 'public/WebAccessibilityRole.h',
                 'public/WebAnimationController.h',
diff --git a/WebKit/chromium/public/WebAccessibilityNotification.h b/WebKit/chromium/public/WebAccessibilityNotification.h
new file mode 100644
index 0000000..c4a9551
--- /dev/null
+++ b/WebKit/chromium/public/WebAccessibilityNotification.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebAccessibilityNotification_h
+#define WebAccessibilityNotification_h
+
+namespace WebKit {
+
+enum WebAccessibilityNotification {
+    WebAccessibilityNotificationActiveDescendantChanged,
+    WebAccessibilityNotificationCheckedStateChanged,
+    WebAccessibilityNotificationChildrenChanged,
+    WebAccessibilityNotificationFocusedUIElementChanged,
+    WebAccessibilityNotificationLayoutComplete,
+    WebAccessibilityNotificationLoadComplete,
+    WebAccessibilityNotificationSelectedChildrenChanged,
+    WebAccessibilityNotificationSelectedTextChanged,
+    WebAccessibilityNotificationValueChanged,
+    WebAccessibilityNotificationScrolledToAnchor,
+    WebAccessibilityNotificationLiveRegionChanged,
+    WebAccessibilityNotificationMenuListValueChanged,
+    WebAccessibilityNotificationRowCountChanged,
+    WebAccessibilityNotificationRowCollapsed,
+    WebAccessibilityNotificationRowExpanded,
+    WebAccessibilityNotificationInvalid
+};
+
+} // namespace WebKit
+
+#endif // WebAccessibilityNotification_h
diff --git a/WebKit/chromium/public/WebViewClient.h b/WebKit/chromium/public/WebViewClient.h
index 5c9a79b..f686419 100644
--- a/WebKit/chromium/public/WebViewClient.h
+++ b/WebKit/chromium/public/WebViewClient.h
@@ -31,6 +31,7 @@
 #ifndef WebViewClient_h
 #define WebViewClient_h
 
+#include "WebAccessibilityNotification.h"
 #include "WebDragOperation.h"
 #include "WebEditingAction.h"
 #include "WebFileChooserCompletion.h"
@@ -280,6 +281,9 @@ public:
     
     // Notifies embedder that the children of an accessibility object has changed.
     virtual void didChangeAccessibilityObjectChildren(const WebAccessibilityObject&) { }
+    
+    // Notifies embedder about an accessibility notification.
+    virtual void postAccessibilityNotification(const WebAccessibilityObject&, WebAccessibilityNotification) { }
 
 
     // Developer tools -----------------------------------------------------
diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp
index c662e60..8c13cbb 100644
--- a/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -56,11 +56,10 @@
 #include "NotificationPresenterImpl.h"
 #include "Page.h"
 #include "PopupMenuChromium.h"
-#include "SearchPopupMenuChromium.h"
 #include "ScriptController.h"
+#include "SearchPopupMenuChromium.h"
 #include "SecurityOrigin.h"
 #include "SharedGraphicsContext3D.h"
-#include "WebGeolocationService.h"
 #if USE(V8)
 #include "V8Proxy.h"
 #endif
@@ -70,6 +69,7 @@
 #include "WebFileChooserCompletionImpl.h"
 #include "WebFrameClient.h"
 #include "WebFrameImpl.h"
+#include "WebGeolocationService.h"
 #include "WebInputEvent.h"
 #include "WebKit.h"
 #include "WebNode.h"
@@ -103,6 +103,46 @@ static WebPopupType convertPopupType(PopupContainer::PopupType type)
     }
 }
 
+// Converts a WebCore::AXObjectCache::AXNotification to a WebKit::WebAccessibilityNotification
+static WebAccessibilityNotification toWebAccessibilityNotification(AXObjectCache::AXNotification notification)
+{
+    switch (notification) {
+    case AXObjectCache::AXActiveDescendantChanged:
+        return WebAccessibilityNotificationActiveDescendantChanged;
+    case AXObjectCache::AXCheckedStateChanged:
+        return WebAccessibilityNotificationCheckedStateChanged;
+    case AXObjectCache::AXChildrenChanged:
+        return WebAccessibilityNotificationChildrenChanged;
+    case AXObjectCache::AXFocusedUIElementChanged:
+        return WebAccessibilityNotificationFocusedUIElementChanged;
+    case AXObjectCache::AXLayoutComplete:
+        return WebAccessibilityNotificationLayoutComplete;
+    case AXObjectCache::AXLoadComplete:
+        return WebAccessibilityNotificationLoadComplete;
+    case AXObjectCache::AXSelectedChildrenChanged:
+        return WebAccessibilityNotificationSelectedChildrenChanged;
+    case AXObjectCache::AXSelectedTextChanged:
+        return WebAccessibilityNotificationSelectedTextChanged;
+    case AXObjectCache::AXValueChanged:
+        return WebAccessibilityNotificationValueChanged;
+    case AXObjectCache::AXScrolledToAnchor:
+        return WebAccessibilityNotificationScrolledToAnchor;
+    case AXObjectCache::AXLiveRegionChanged:
+        return WebAccessibilityNotificationLiveRegionChanged;
+    case AXObjectCache::AXMenuListValueChanged:
+        return WebAccessibilityNotificationMenuListValueChanged;
+    case AXObjectCache::AXRowCountChanged:
+        return WebAccessibilityNotificationRowCountChanged;
+    case AXObjectCache::AXRowCollapsed:
+        return WebAccessibilityNotificationRowCollapsed;
+    case AXObjectCache::AXRowExpanded:
+        return WebAccessibilityNotificationRowExpanded;
+    default:
+        ASSERT_NOT_REACHED();
+        return WebAccessibilityNotificationInvalid;
+    }
+}
+
 ChromeClientImpl::ChromeClientImpl(WebViewImpl* webView)
     : m_webView(webView)
     , m_toolbarsVisible(true)
@@ -343,9 +383,9 @@ bool ChromeClientImpl::statusbarVisible()
 void ChromeClientImpl::setScrollbarsVisible(bool value)
 {
     m_scrollbarsVisible = value;
-    WebFrameImpl* web_frame = static_cast<WebFrameImpl*>(m_webView->mainFrame());
-    if (web_frame)
-        web_frame->setCanHaveScrollbars(value);
+    WebFrameImpl* webFrame = static_cast<WebFrameImpl*>(m_webView->mainFrame());
+    if (webFrame)
+        webFrame->setCanHaveScrollbars(value);
 }
 
 bool ChromeClientImpl::scrollbarsVisible()
@@ -734,6 +774,13 @@ void ChromeClientImpl::didChangeAccessibilityObjectChildren(WebCore::Accessibili
         m_webView->client()->didChangeAccessibilityObjectChildren(WebAccessibilityObject(obj));
 }
 
+void ChromeClientImpl::postAccessibilityNotification(AccessibilityObject* obj, AXObjectCache::AXNotification notification)
+{
+    // Alert assistive technology about the accessibility object notification.
+    if (obj)
+        m_webView->client()->postAccessibilityNotification(WebAccessibilityObject(obj), toWebAccessibilityNotification(notification));
+}
+
 #if ENABLE(NOTIFICATIONS)
 NotificationPresenter* ChromeClientImpl::notificationPresenter() const
 {
diff --git a/WebKit/chromium/src/ChromeClientImpl.h b/WebKit/chromium/src/ChromeClientImpl.h
index d16d8f6..fbaac87 100644
--- a/WebKit/chromium/src/ChromeClientImpl.h
+++ b/WebKit/chromium/src/ChromeClientImpl.h
@@ -168,6 +168,7 @@ public:
     virtual void popupClosed(WebCore::PopupContainer* popupContainer);
     virtual void didChangeAccessibilityObjectState(WebCore::AccessibilityObject*);
     virtual void didChangeAccessibilityObjectChildren(WebCore::AccessibilityObject*);
+    virtual void postAccessibilityNotification(WebCore::AccessibilityObject*, WebCore::AXObjectCache::AXNotification);
 
     // ChromeClientImpl:
     void setCursor(const WebCursorInfo& cursor);
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index dbc9486..af68085 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,14 @@
+2010-09-14  Chris Guillory   <chris.guillory at google.com>
+
+        Reviewed by Chris Fleizach.
+
+        Send all accessibility notifications to Chromium.
+        https://bugs.webkit.org/show_bug.cgi?id=45156
+
+        * DumpRenderTree/chromium/WebViewHost.cpp:
+        (WebViewHost::postAccessibilityNotification):
+        * DumpRenderTree/chromium/WebViewHost.h:
+
 2010-09-14  Adam Barth  <abarth at webkit.org>
 
         Reviewed by Eric Seidel.
diff --git a/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp b/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
index dbadea2..db81d56 100644
--- a/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
@@ -40,6 +40,7 @@
 #include "public/WebContextMenuData.h"
 #include "public/WebDataSource.h"
 #include "public/WebDragData.h"
+#include "public/WebElement.h"
 #include "public/WebFrame.h"
 #include "public/WebGeolocationServiceMock.h"
 #include "public/WebHistoryItem.h"
@@ -489,10 +490,68 @@ void WebViewHost::focusAccessibilityObject(const WebAccessibilityObject& object)
     m_shell->accessibilityController()->setFocusedElement(object);
 }
 
-void WebViewHost::didChangeAccessibilityObjectChildren(const WebAccessibilityObject& object)
-{
-    if (m_shell->accessibilityController()->shouldDumpAccessibilityNotifications())
-        printf("didChangeAccessibilityObjectChildren - new count: %d\n", object.childCount());
+void WebViewHost::postAccessibilityNotification(const WebAccessibilityObject& obj, WebAccessibilityNotification notification)
+{
+    printf("AccessibilityNotification - ");
+    
+    if (m_shell->accessibilityController()->shouldDumpAccessibilityNotifications()) {
+        switch (notification) {
+        case WebAccessibilityNotificationActiveDescendantChanged:
+            printf("ActiveDescendantChanged");
+            break;
+        case WebAccessibilityNotificationCheckedStateChanged:
+            printf("CheckedStateChanged");
+            break;
+        case WebAccessibilityNotificationChildrenChanged:
+            printf("ChildrenChanged");
+            break;
+        case WebAccessibilityNotificationFocusedUIElementChanged:
+            printf("FocusedUIElementChanged");
+            break;
+        case WebAccessibilityNotificationLayoutComplete:
+            printf("LayoutComplete");
+            break;
+        case WebAccessibilityNotificationLoadComplete:
+            printf("LoadComplete");
+            break;
+        case WebAccessibilityNotificationSelectedChildrenChanged:
+            printf("SelectedChildrenChanged");
+            break;
+        case WebAccessibilityNotificationSelectedTextChanged:
+            printf("SelectedTextChanged");
+            break;
+        case WebAccessibilityNotificationValueChanged:
+            printf("ValueChanged");
+            break;
+        case WebAccessibilityNotificationScrolledToAnchor:
+            printf("ScrolledToAnchor");
+            break;
+        case WebAccessibilityNotificationLiveRegionChanged:
+            printf("LiveRegionChanged");
+            break;
+        case WebAccessibilityNotificationMenuListValueChanged:
+            printf("MenuListValueChanged");
+            break;
+        case WebAccessibilityNotificationRowCountChanged:
+            printf("RowCountChanged");
+            break;
+        case WebAccessibilityNotificationRowCollapsed:
+            printf("RowCollapsed");
+            break;
+        case WebAccessibilityNotificationRowExpanded:
+            printf("RowExpanded");
+            break;
+        }
+
+        WebKit::WebNode node = obj.node();
+        if (!node.isNull() && node.isElementNode()) {
+            WebKit::WebElement element = node.to<WebKit::WebElement>();
+            if (element.hasAttribute("id"))
+                printf(" - id:%s", element.getAttribute("id").utf8().data());
+        }
+
+        printf("\n");
+    }
 }
 
 WebNotificationPresenter* WebViewHost::notificationPresenter()
diff --git a/WebKitTools/DumpRenderTree/chromium/WebViewHost.h b/WebKitTools/DumpRenderTree/chromium/WebViewHost.h
index 3a84ebd..bbb132d 100644
--- a/WebKitTools/DumpRenderTree/chromium/WebViewHost.h
+++ b/WebKitTools/DumpRenderTree/chromium/WebViewHost.h
@@ -33,6 +33,7 @@
 
 #include "MockSpellCheck.h"
 #include "TestNavigationController.h"
+#include "public/WebAccessibilityNotification.h"
 #include "public/WebCursorInfo.h"
 #include "public/WebFrameClient.h"
 #include "public/WebViewClient.h"
@@ -127,7 +128,7 @@ class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient,
     virtual int historyBackListCount();
     virtual int historyForwardListCount();
     virtual void focusAccessibilityObject(const WebKit::WebAccessibilityObject&);
-    virtual void didChangeAccessibilityObjectChildren(const WebKit::WebAccessibilityObject&);
+    virtual void postAccessibilityNotification(const WebKit::WebAccessibilityObject&, WebKit::WebAccessibilityNotification);
     virtual WebKit::WebNotificationPresenter* notificationPresenter();
     virtual WebKit::WebGeolocationService* geolocationService();
     virtual WebKit::WebSpeechInputController* speechInputController(WebKit::WebSpeechInputListener*);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list