Reset accessibility if it gets out of sync.
commit59ed1bba589383443823e35802775bee75c2ee9a
authordmazzoni <dmazzoni@chromium.org>
Fri, 24 Oct 2014 15:47:22 +0000 (24 08:47 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 24 Oct 2014 15:48:12 +0000 (24 15:48 +0000)
treed910e9438a9a9794af97fc0670e602a0e3dfdb3b
parentc04fdebda718a7bb638500309f5dc96f67761215
Reset accessibility if it gets out of sync.

Previously if the browser got an accessibility IPC it was unable to
interpret, it killed the renderer. This change makes it reset the
accessibility state instead so we're tolerant of corner cases that
are very difficult to completely eliminate in practice.

The accessibility reset is designed to be safe, it throws away all
accessibility state on the browser side and waits for an IPC from
the renderer acknowledging the renderer reset as well.

BUG=372478

Committed: https://crrev.com/0c5e8d16661df7e08c708997f24c0a3070e58080
Cr-Commit-Position: refs/heads/master@{#298297}

Review URL: https://codereview.chromium.org/625443002

Cr-Commit-Position: refs/heads/master@{#301106}
content/browser/accessibility/accessibility_ipc_error_browsertest.cc [new file with mode: 0644]
content/browser/frame_host/render_frame_host_impl.cc
content/browser/frame_host/render_frame_host_impl.h
content/common/accessibility_messages.h
content/content_tests.gypi
content/renderer/accessibility/renderer_accessibility_browsertest.cc
content/renderer/accessibility/renderer_accessibility_complete.cc
content/renderer/accessibility/renderer_accessibility_complete.h