| Index: ui/accessibility/platform/ax_platform_node_win.cc
|
| diff --git a/ui/accessibility/platform/ax_platform_node_win.cc b/ui/accessibility/platform/ax_platform_node_win.cc
|
| index 9aa621d744534c20dd673fb7bb182d82566a2a4c..45febe854b95fcef69d659740b6088c101864e0d 100644
|
| --- a/ui/accessibility/platform/ax_platform_node_win.cc
|
| +++ b/ui/accessibility/platform/ax_platform_node_win.cc
|
| @@ -474,7 +474,17 @@ STDMETHODIMP AXPlatformNodeWin::get_accName(
|
| AXPlatformNodeWin* target;
|
| COM_OBJECT_VALIDATE_VAR_ID_1_ARG_AND_GET_TARGET(var_id, name, target);
|
|
|
| - return target->GetStringAttributeAsBstr(ui::AX_ATTR_NAME, name);
|
| + HRESULT result = target->GetStringAttributeAsBstr(ui::AX_ATTR_NAME, name);
|
| + if (FAILED(result) && MSAARole() == ROLE_SYSTEM_DOCUMENT && GetParent()) {
|
| + // Hack: Some versions of JAWS crash if they get an empty name on
|
| + // a document that's the child of an iframe, so always return a
|
| + // nonempty string for this role. https://crbug.com/583057
|
| + base::string16 str = L" ";
|
| +
|
| + *name = SysAllocString(str.c_str());
|
| + DCHECK(*name);
|
| + }
|
| + return result;
|
| }
|
|
|
| STDMETHODIMP AXPlatformNodeWin::get_accParent(
|
|
|