Index: content/browser/accessibility/browser_accessibility_com_win.cc |
diff --git a/content/browser/accessibility/browser_accessibility_com_win.cc b/content/browser/accessibility/browser_accessibility_com_win.cc |
index 6b09cae3dbae3dedc133206a2135126ae3c299df..4695d7bfd0d1c5cdaf67519587a0fd8ebe46a6ae 100644 |
--- a/content/browser/accessibility/browser_accessibility_com_win.cc |
+++ b/content/browser/accessibility/browser_accessibility_com_win.cc |
@@ -670,46 +670,14 @@ STDMETHODIMP BrowserAccessibilityComWin::get_accValue(VARIANT var_id, |
if (!owner()) |
return E_FAIL; |
- if (!value) |
- return E_INVALIDARG; |
- |
- BrowserAccessibilityComWin* target = GetTargetFromChildID(var_id); |
- if (!target) |
- return E_INVALIDARG; |
- |
- if (target->IsRangeValueSupported()) { |
- base::string16 value_text = target->GetRangeValueText(); |
- *value = SysAllocString(value_text.c_str()); |
- DCHECK(*value); |
- return S_OK; |
- } |
- |
- // Expose color well value. |
- if (target->ia2_role() == IA2_ROLE_COLOR_CHOOSER) { |
- unsigned int color = static_cast<unsigned int>( |
- target->owner()->GetIntAttribute(ui::AX_ATTR_COLOR_VALUE)); |
- unsigned int red = SkColorGetR(color); |
- unsigned int green = SkColorGetG(color); |
- unsigned int blue = SkColorGetB(color); |
- base::string16 value_text; |
- value_text = base::UintToString16(red * 100 / 255) + L"% red " + |
- base::UintToString16(green * 100 / 255) + L"% green " + |
- base::UintToString16(blue * 100 / 255) + L"% blue"; |
- *value = SysAllocString(value_text.c_str()); |
- DCHECK(*value); |
- return S_OK; |
- } |
- |
- *value = SysAllocString(target->value().c_str()); |
- DCHECK(*value); |
- return S_OK; |
+ return AXPlatformNodeWin::get_accValue(var_id, value); |
} |
STDMETHODIMP BrowserAccessibilityComWin::get_accHelpTopic(BSTR* help_file, |
VARIANT var_id, |
LONG* topic_id) { |
WIN_ACCESSIBILITY_API_HISTOGRAM(UMA_API_GET_ACC_HELP_TOPIC); |
- return E_NOTIMPL; |
+ return AXPlatformNodeWin::get_accHelpTopic(help_file, var_id, topic_id); |
} |
STDMETHODIMP BrowserAccessibilityComWin::get_accSelection(VARIANT* selected) { |
@@ -774,11 +742,17 @@ STDMETHODIMP BrowserAccessibilityComWin::accSelect(LONG flags_sel, |
STDMETHODIMP |
BrowserAccessibilityComWin::put_accName(VARIANT var_id, BSTR put_name) { |
- return E_NOTIMPL; |
+ if (!owner()) |
+ return E_FAIL; |
+ |
+ return AXPlatformNodeWin::put_accName(var_id, put_name); |
} |
STDMETHODIMP |
BrowserAccessibilityComWin::put_accValue(VARIANT var_id, BSTR put_val) { |
- return E_NOTIMPL; |
+ if (!owner()) |
+ return E_FAIL; |
+ |
+ return AXPlatformNodeWin::put_accValue(var_id, put_val); |
} |
// |