summaryrefslogtreecommitdiff
path: root/Source/WebKit/win/AccessibleBase.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
commit284837daa07b29d6a63a748544a90b1f5842ac5c (patch)
treeecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/WebKit/win/AccessibleBase.cpp
parent2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff)
downloadqtwebkit-284837daa07b29d6a63a748544a90b1f5842ac5c.tar.gz
Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073)
New snapshot
Diffstat (limited to 'Source/WebKit/win/AccessibleBase.cpp')
-rw-r--r--Source/WebKit/win/AccessibleBase.cpp41
1 files changed, 37 insertions, 4 deletions
diff --git a/Source/WebKit/win/AccessibleBase.cpp b/Source/WebKit/win/AccessibleBase.cpp
index e733141f2..bb31adbd5 100644
--- a/Source/WebKit/win/AccessibleBase.cpp
+++ b/Source/WebKit/win/AccessibleBase.cpp
@@ -362,18 +362,20 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accKeyboardShortcut(VARIANT vChild
static String accessKeyModifiers;
if (accessKeyModifiers.isNull()) {
+ StringBuilder accessKeyModifiersBuilder;
unsigned modifiers = EventHandler::accessKeyModifiers();
// Follow the same order as Mozilla MSAA implementation:
// Ctrl+Alt+Shift+Meta+key. MSDN states that keyboard shortcut strings
// should not be localized and defines the separator as "+".
if (modifiers & PlatformEvent::CtrlKey)
- accessKeyModifiers += "Ctrl+";
+ accessKeyModifiersBuilder.appendLiteral("Ctrl+");
if (modifiers & PlatformEvent::AltKey)
- accessKeyModifiers += "Alt+";
+ accessKeyModifiersBuilder.appendLiteral("Alt+");
if (modifiers & PlatformEvent::ShiftKey)
- accessKeyModifiers += "Shift+";
+ accessKeyModifiersBuilder.appendLiteral("Shift+");
if (modifiers & PlatformEvent::MetaKey)
- accessKeyModifiers += "Win+";
+ accessKeyModifiersBuilder.appendLiteral("Win+");
+ accessKeyModifiers = accessKeyModifiersBuilder.toString();
}
*shortcut = BString(String(accessKeyModifiers + accessKey)).release();
return S_OK;
@@ -657,6 +659,7 @@ static long MSAARole(AccessibilityRole role)
case WebCore::LinkRole:
case WebCore::WebCoreLinkRole:
return ROLE_SYSTEM_LINK;
+ case WebCore::CanvasRole:
case WebCore::ImageMapRole:
case WebCore::ImageRole:
return ROLE_SYSTEM_GRAPHIC;
@@ -666,6 +669,36 @@ static long MSAARole(AccessibilityRole role)
return ROLE_SYSTEM_LISTITEM;
case WebCore::PopUpButtonRole:
return ROLE_SYSTEM_COMBOBOX;
+ case WebCore::DivRole:
+ case WebCore::FormRole:
+ case WebCore::LabelRole:
+ case WebCore::ParagraphRole:
+ return ROLE_SYSTEM_GROUPING;
+ case WebCore::HorizontalRuleRole:
+ return ROLE_SYSTEM_SEPARATOR;
+ case WebCore::ApplicationAlertRole:
+ return ROLE_SYSTEM_ALERT;
+ case WebCore::ComboBoxRole:
+ return ROLE_SYSTEM_COMBOBOX;
+ case WebCore::SpinButtonRole:
+ return ROLE_SYSTEM_SPINBUTTON;
+ case WebCore::SpinButtonPartRole:
+ return ROLE_SYSTEM_PUSHBUTTON;
+ case WebCore::ToggleButtonRole:
+ return ROLE_SYSTEM_PUSHBUTTON;
+ case WebCore::ToolbarRole:
+ return ROLE_SYSTEM_TOOLBAR;
+ case WebCore::UserInterfaceTooltipRole:
+ return ROLE_SYSTEM_TOOLTIP;
+ case WebCore::TreeRole:
+ case WebCore::TreeGridRole:
+ return ROLE_SYSTEM_OUTLINE;
+ case WebCore::TreeItemRole:
+ return ROLE_SYSTEM_OUTLINEITEM;
+ case WebCore::TabListRole:
+ return ROLE_SYSTEM_PAGETABLIST;
+ case WebCore::TabPanelRole:
+ return ROLE_SYSTEM_PROPERTYPAGE;
default:
// This is the default role for MSAA.
return ROLE_SYSTEM_CLIENT;