Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Issue 625443002: Reset accessibility if it gets out of sync. (Closed)

Created:
6 years, 2 months ago by dmazzoni
Modified:
6 years, 2 months ago
Reviewers:
Tom Sepez, Mike West, nasko
CC:
chromium-reviews, creis+watch_chromium.org, plundblad+watch_chromium.org, aboxhall+watch_chromium.org, nasko+codewatch_chromium.org, jam, yuzo+watch_chromium.org, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

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} Committed: https://crrev.com/59ed1bba589383443823e35802775bee75c2ee9a Cr-Commit-Position: refs/heads/master@{#301106}

Patch Set 1 #

Patch Set 2 : Add new test #

Patch Set 3 : Finish test #

Total comments: 3

Patch Set 4 : Remove log #

Total comments: 12

Patch Set 5 : Rebase #

Patch Set 6 : Add reset token, test killing renderer too #

Total comments: 2

Patch Set 7 : Replace random accessibility token with sequential #

Total comments: 11

Patch Set 8 : Address feedback #

Patch Set 9 : Try to address win x64 failure #

Total comments: 6

Patch Set 10 : Address last feedback #

Patch Set 11 : Rebase, trying to fix flakiness #

Patch Set 12 : Removed flakiness #

Unified diffs Side-by-side diffs Delta from patch set Stats (+298 lines, -16 lines) Patch
A content/browser/accessibility/accessibility_ipc_error_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +191 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +24 lines, -1 line 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +42 lines, -9 lines 0 comments Download
M content/common/accessibility_messages.h View 1 2 3 4 5 6 1 chunk +19 lines, -3 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/accessibility/renderer_accessibility_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -2 lines 0 comments Download
M content/renderer/accessibility/renderer_accessibility_complete.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -0 lines 0 comments Download
M content/renderer/accessibility/renderer_accessibility_complete.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +14 lines, -1 line 0 comments Download

Messages

Total messages: 27 (4 generated)
dmazzoni
tsepez: this is based on our previous conversation about how to deal with these cases ...
6 years, 2 months ago (2014-10-02 05:19:11 UTC) #2
Mike West
Looks pretty reasonable, two drive-by comments below. https://codereview.chromium.org/625443002/diff/40001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/625443002/diff/40001/content/browser/frame_host/render_frame_host_impl.cc#newcode1053 content/browser/frame_host/render_frame_host_impl.cc:1053: LOG(ERROR) << ...
6 years, 2 months ago (2014-10-02 06:27:48 UTC) #4
dmazzoni
Thanks! https://codereview.chromium.org/625443002/diff/40001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/625443002/diff/40001/content/browser/frame_host/render_frame_host_impl.cc#newcode1053 content/browser/frame_host/render_frame_host_impl.cc:1053: LOG(ERROR) << " *** Browser skipping *** "; ...
6 years, 2 months ago (2014-10-02 06:40:18 UTC) #5
nasko
A few comments. https://codereview.chromium.org/625443002/diff/60001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc File content/browser/accessibility/accessibility_ipc_error_browsertest.cc (right): https://codereview.chromium.org/625443002/diff/60001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc#newcode77 content/browser/accessibility/accessibility_ipc_error_browsertest.cc:77: AccessibilityNotificationWaiter waiter2( Since you don't preserve ...
6 years, 2 months ago (2014-10-02 16:38:48 UTC) #6
Tom Sepez
https://codereview.chromium.org/625443002/diff/60001/content/common/accessibility_messages.h File content/common/accessibility_messages.h (right): https://codereview.chromium.org/625443002/diff/60001/content/common/accessibility_messages.h#newcode157 content/common/accessibility_messages.h:157: bool /* is_reset */) Are you sure you want ...
6 years, 2 months ago (2014-10-02 16:50:50 UTC) #7
dmazzoni
Ready for another look! https://codereview.chromium.org/625443002/diff/60001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc File content/browser/accessibility/accessibility_ipc_error_browsertest.cc (right): https://codereview.chromium.org/625443002/diff/60001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc#newcode77 content/browser/accessibility/accessibility_ipc_error_browsertest.cc:77: AccessibilityNotificationWaiter waiter2( On 2014/10/02 16:38:47, ...
6 years, 2 months ago (2014-10-02 21:51:13 UTC) #8
Tom Sepez
https://codereview.chromium.org/625443002/diff/100001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/625443002/diff/100001/content/browser/frame_host/render_frame_host_impl.cc#newcode494 content/browser/frame_host/render_frame_host_impl.cc:494: accessibility_reset_token_ = base::RandInt(1, INT_MAX); This is probably overkill, and ...
6 years, 2 months ago (2014-10-02 21:56:49 UTC) #9
dmazzoni
https://codereview.chromium.org/625443002/diff/100001/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/625443002/diff/100001/content/browser/frame_host/render_frame_host_impl.cc#newcode494 content/browser/frame_host/render_frame_host_impl.cc:494: accessibility_reset_token_ = base::RandInt(1, INT_MAX); On 2014/10/02 21:56:49, Tom Sepez ...
6 years, 2 months ago (2014-10-02 22:01:24 UTC) #10
Tom Sepez
lgtm
6 years, 2 months ago (2014-10-02 22:03:30 UTC) #11
nasko
Mostly nits. https://codereview.chromium.org/625443002/diff/120001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc File content/browser/accessibility/accessibility_ipc_error_browsertest.cc (right): https://codereview.chromium.org/625443002/diff/120001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc#newcode160 content/browser/accessibility/accessibility_ipc_error_browsertest.cc:160: for (int iteration = 0; iteration < ...
6 years, 2 months ago (2014-10-03 15:58:41 UTC) #12
dmazzoni
https://codereview.chromium.org/625443002/diff/120001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc File content/browser/accessibility/accessibility_ipc_error_browsertest.cc (right): https://codereview.chromium.org/625443002/diff/120001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc#newcode160 content/browser/accessibility/accessibility_ipc_error_browsertest.cc:160: for (int iteration = 0; iteration < 5; iteration++) ...
6 years, 2 months ago (2014-10-03 19:08:12 UTC) #13
nasko
LGTM with some nits. https://codereview.chromium.org/625443002/diff/120001/content/renderer/accessibility/renderer_accessibility_complete.cc File content/renderer/accessibility/renderer_accessibility_complete.cc (right): https://codereview.chromium.org/625443002/diff/120001/content/renderer/accessibility/renderer_accessibility_complete.cc#newcode233 content/renderer/accessibility/renderer_accessibility_complete.cc:233: reset_token_ = 0; On 2014/10/03 ...
6 years, 2 months ago (2014-10-06 16:39:03 UTC) #14
dmazzoni
https://codereview.chromium.org/625443002/diff/160001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc File content/browser/accessibility/accessibility_ipc_error_browsertest.cc (right): https://codereview.chromium.org/625443002/diff/160001/content/browser/accessibility/accessibility_ipc_error_browsertest.cc#newcode74 content/browser/accessibility/accessibility_ipc_error_browsertest.cc:74: ASSERT_TRUE(frame->GetOrCreateBrowserAccessibilityManager() != NULL); On 2014/10/06 16:39:02, nasko wrote: > ...
6 years, 2 months ago (2014-10-06 16:44:02 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/625443002/180001
6 years, 2 months ago (2014-10-06 16:45:41 UTC) #17
commit-bot: I haz the power
Committed patchset #10 (id:180001) as b9477777b4d0ba5574b8f5e36fa4557f7fa4c9f9
6 years, 2 months ago (2014-10-06 19:57:20 UTC) #18
commit-bot: I haz the power
Patchset 10 (id:??) landed as https://crrev.com/0c5e8d16661df7e08c708997f24c0a3070e58080 Cr-Commit-Position: refs/heads/master@{#298297}
6 years, 2 months ago (2014-10-06 19:58:23 UTC) #19
jackhou1
A revert of this CL (patchset #10 id:180001) has been created in https://codereview.chromium.org/629413002/ by jackhou@chromium.org. ...
6 years, 2 months ago (2014-10-07 00:23:48 UTC) #20
dmazzoni
Oops, forgot this got reverted. Reopening to fix test failure and re-land.
6 years, 2 months ago (2014-10-23 21:56:23 UTC) #21
Mike West
On 2014/10/23 21:56:23, dmazzoni wrote: > Oops, forgot this got reverted. Reopening to fix test ...
6 years, 2 months ago (2014-10-24 09:31:23 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/625443002/220001
6 years, 2 months ago (2014-10-24 15:01:18 UTC) #24
commit-bot: I haz the power
Committed patchset #12 (id:220001)
6 years, 2 months ago (2014-10-24 15:47:34 UTC) #25
commit-bot: I haz the power
Patchset 12 (id:??) landed as https://crrev.com/59ed1bba589383443823e35802775bee75c2ee9a Cr-Commit-Position: refs/heads/master@{#301106}
6 years, 2 months ago (2014-10-24 15:48:47 UTC) #26
dmazzoni
6 years, 2 months ago (2014-10-24 16:02:51 UTC) #27
Message was sent while issue was closed.
On Fri, Oct 24, 2014 at 2:31 AM, <mkwst@chromium.org> wrote:

> On 2014/10/23 21:56:23, dmazzoni wrote:
>
>> Oops, forgot this got reverted. Reopening to fix test failure and re-land.
>>
>
> I think we usualy just open a new issue. One commit, one review is a good
> rule
> of thumb.
>

There was a big debate on this on chromium-dev - I thought there was no
consensus reached, some people like the same issue, others like a new one?

To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698