summaryrefslogtreecommitdiffstats
path: root/WebCore/accessibility/gtk
diff options
context:
space:
mode:
authorIain Merrick <husky@google.com>2010-09-13 16:35:48 +0100
committerIain Merrick <husky@google.com>2010-09-16 12:10:42 +0100
commit5abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306 (patch)
treeddce1aa5e3b6967a69691892e500897558ff8ab6 /WebCore/accessibility/gtk
parent12bec63ec71e46baba27f0bd9bd9d8067683690a (diff)
downloadexternal_webkit-5abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306.zip
external_webkit-5abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306.tar.gz
external_webkit-5abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306.tar.bz2
Merge WebKit at r67178 : Initial merge by git.
Change-Id: I57e01163b6866cb029cdadf405a0394a3918bc18
Diffstat (limited to 'WebCore/accessibility/gtk')
-rw-r--r--WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp4
-rw-r--r--WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp12
2 files changed, 16 insertions, 0 deletions
diff --git a/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp b/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
index d00574b..b22a51e 100644
--- a/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
+++ b/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
@@ -71,6 +71,10 @@ AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesO
if (role == StaticTextRole)
return IgnoreObject;
+ // Bullets/numbers for list items shouldn't be exposed as AtkObjects.
+ if (roleValue() == ListMarkerRole)
+ return IgnoreObject;
+
return DefaultBehavior;
}
diff --git a/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp b/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
index b162346..90f363f 100644
--- a/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
+++ b/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
@@ -34,6 +34,7 @@
#if HAVE(ACCESSIBILITY)
#include "AXObjectCache.h"
+#include "AccessibilityList.h"
#include "AccessibilityListBox.h"
#include "AccessibilityListBoxOption.h"
#include "AccessibilityRenderObject.h"
@@ -54,6 +55,7 @@
#include "InlineTextBox.h"
#include "IntRect.h"
#include "NotImplemented.h"
+#include "RenderListMarker.h"
#include "RenderText.h"
#include "TextEncoding.h"
#include <wtf/text/CString.h>
@@ -933,6 +935,16 @@ static gchar* webkit_accessible_text_get_text(AtkText* text, gint startOffset, g
ret = ret.substring(start, endOffset - startOffset);
}
+ // Prefix a item number/bullet if needed
+ if (coreObject->roleValue() == ListItemRole) {
+ RenderObject* objRenderer = static_cast<AccessibilityRenderObject*>(coreObject)->renderer();
+ RenderObject* markerRenderer = objRenderer ? objRenderer->firstChild() : 0;
+ if (markerRenderer && markerRenderer->isListMarker()) {
+ String markerTxt = toRenderListMarker(markerRenderer)->text();
+ ret = markerTxt.length() > 0 ? markerTxt + " " + ret : ret;
+ }
+ }
+
return g_strdup(ret.utf8().data());
}