[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