New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 782843 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

Valid caret bounds should be reported when the container containing the caret moves, not only when the caret offset changes

Project Member Reported by nek...@chromium.org, Nov 8 2017

Issue description

On Windows, we don't fire IA2_CARET_MOVED events and we don't report valid caret bounds when a text control or content editable containing the caret has moved, but the caret offset in that container hasn't changed.
This needs to be fixed by reporting valid caret bounds even when the container containing the caret has moved.
Probably firing IA2_CARET_MOVED should not happen in these cases.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dac5704fcb205975526a851224860137c03f17d1

commit dac5704fcb205975526a851224860137c03f17d1
Author: Nektarios Paisios <nektar@chromium.org>
Date: Wed Nov 15 02:09:15 2017

Changes AXSystemCaret bounds when the selection bounds change and not only when there is a text selection

On Windows, we report the location and size of the caret to screen magnifiers so that they can track it.
Until now, we were only updating the caret location when there was some text in the text field.
However, if a text field or content editable has no text inside it and it's location on screen has changed, we were not updating the caret location because the caret inside it hasn't actually moved but its container has.
R=dmazzoni@chromium.org, kenrb@chromium.org

Bug:  782843 
Change-Id: I56065da82067710f082ea788b60260d18cdd8706
Tested: manually by moving an iframe with an empty content editable around and checking caret bounds
Reviewed-on: https://chromium-review.googlesource.com/759161
Commit-Queue: Nektarios Paisios <nektar@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516559}
[modify] https://crrev.com/dac5704fcb205975526a851224860137c03f17d1/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/dac5704fcb205975526a851224860137c03f17d1/content/browser/renderer_host/render_widget_host_view_aura.h

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/607ad24f9067a2eed21724b6d54005b8f00aeffe

commit 607ad24f9067a2eed21724b6d54005b8f00aeffe
Author: mark a. foltz <mfoltz@chromium.org>
Date: Thu Dec 07 23:02:43 2017

Revert "Changes AXSystemCaret bounds when the selection bounds change and not only when there is a text selection"

This reverts commit dac5704fcb205975526a851224860137c03f17d1.

Reason for revert: Reproducible crash introduced: crbug.com/786317

Original change's description:
> Changes AXSystemCaret bounds when the selection bounds change and not only when there is a text selection
> 
> On Windows, we report the location and size of the caret to screen magnifiers so that they can track it.
> Until now, we were only updating the caret location when there was some text in the text field.
> However, if a text field or content editable has no text inside it and it's location on screen has changed, we were not updating the caret location because the caret inside it hasn't actually moved but its container has.
> R=​dmazzoni@chromium.org, kenrb@chromium.org
> 
> Bug:  782843 
> Change-Id: I56065da82067710f082ea788b60260d18cdd8706
> Tested: manually by moving an iframe with an empty content editable around and checking caret bounds
> Reviewed-on: https://chromium-review.googlesource.com/759161
> Commit-Queue: Nektarios Paisios <nektar@chromium.org>
> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
> Reviewed-by: Ken Buchanan <kenrb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#516559}

TBR=sadrul@chromium.org,dmazzoni@chromium.org,kenrb@chromium.org,nektar@chromium.org,aleventhal@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  782843 ,786317
Change-Id: Ia6cfb907fe65b9c78e7e8a1d1ec07b4cd9c03cab
Reviewed-on: https://chromium-review.googlesource.com/815459
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Commit-Queue: mark a. foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522594}
[modify] https://crrev.com/607ad24f9067a2eed21724b6d54005b8f00aeffe/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/607ad24f9067a2eed21724b6d54005b8f00aeffe/content/browser/renderer_host/render_widget_host_view_aura.h

Labels: a11y-secondary

Comment 4 by nek...@chromium.org, Dec 10 2017

Labels: -a11y-secondary win-a11y
Caret tracking.
The test for this bug is based on the steps in this other bug: https://bugs.chromium.org/p/chromium/issues/detail?id=786317

"Steps to reproduce:
1. Launch chrome, go to above link and install the extension.
2. On chrome://extension page click on 'option' link for PDF viewer.
3. Close the overlay and click again on 'option' link and observe.

Actual Result: Browser gets crashed.
Expected Result: Browser should not crash."
I tested using these steps:
# Launch Chrome with patch build
# Install this extension: https://chrome.google.com/webstore/detail/pdf-viewer/oemmndcbldboiebfnladdacbdfmadadm?utm_source=chrome-ntp-icon
# Go to Chrome://extension and click on 'option' for PDF viewer
# Close the overlay and click on option again 

Actual: blue loading circle surfaces but now crash. 

I am able to reproduce this bug behavior using the above steps and 
Google Chrome	64.0.3282.24 (Official Build) dev (64-bit) (cohort: Dev).

Therefore, the patch build corrected the problem I saw in Dev. 
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f3103f1c39c6b27af1dcefc7428326ba91301207

commit f3103f1c39c6b27af1dcefc7428326ba91301207
Author: Nektarios Paisios <nektar@chromium.org>
Date: Wed Dec 13 21:49:54 2017

Reland "Changes AXSystemCaret bounds when the selection bounds change and not only when there is a text selection"

This is a reland of dac5704fcb205975526a851224860137c03f17d1
Original change's description:
> Changes AXSystemCaret bounds when the selection bounds change and not only when there is a text selection
> 
> On Windows, we report the location and size of the caret to screen magnifiers so that they can track it.
> Until now, we were only updating the caret location when there was some text in the text field.
> However, if a text field or content editable has no text inside it and it's location on screen has changed, we were not updating the caret location because the caret inside it hasn't actually moved but its container has.
> R=dmazzoni@chromium.org, kenrb@chromium.org
> 
> Bug:  782843 
> Change-Id: I56065da82067710f082ea788b60260d18cdd8706
> Tested: manually by moving an iframe with an empty content editable around and checking caret bounds
> Reviewed-on: https://chromium-review.googlesource.com/759161
> Commit-Queue: Nektarios Paisios <nektar@chromium.org>
> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
> Reviewed-by: Ken Buchanan <kenrb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#516559}

Bug:  782843 
Change-Id: Ie4a46190b7f5a4036c37a8300376178525189576
Reviewed-on: https://chromium-review.googlesource.com/818209
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523894}
[modify] https://crrev.com/f3103f1c39c6b27af1dcefc7428326ba91301207/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/f3103f1c39c6b27af1dcefc7428326ba91301207/content/browser/renderer_host/render_widget_host_view_aura.h

Comment 9 by nek...@chromium.org, Dec 13 2017

Labels: Merge-Request-64
Status: Fixed (was: Started)
Project Member

Comment 11 by sheriffbot@chromium.org, Dec 14 2017

Labels: -Merge-Request-64 Hotlist-Merge-Review Merge-Review-64
This bug requires manual review: Reverts referenced in bugdroid comments after merge request.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-64 Merge-Rejected-64
Can you please comment on why this fix is needed for M64 vs waiting for 65? Since we're already in Beta, we'd like to ensure that only critical and needed changes are merged. This is currently marked as P3. Rejecting merge for now, but if you think this is critical, please re-request with justification.
Project Member

Comment 13 by bugdroid1@chromium.org, Dec 19 2017

Labels: merge-merged-3282
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a894d6c84e979d3696209323a057ea546ee46210

commit a894d6c84e979d3696209323a057ea546ee46210
Author: mark a. foltz <mfoltz@chromium.org>
Date: Tue Dec 19 00:19:22 2017

Revert "Changes AXSystemCaret bounds when the selection bounds change and not only when there is a text selection"

This reverts commit dac5704fcb205975526a851224860137c03f17d1.

Reason for revert: Reproducible crash introduced: crbug.com/786317

Original change's description:
> Changes AXSystemCaret bounds when the selection bounds change and not only when there is a text selection
>
> On Windows, we report the location and size of the caret to screen magnifiers so that they can track it.
> Until now, we were only updating the caret location when there was some text in the text field.
> However, if a text field or content editable has no text inside it and it's location on screen has changed, we were not updating the caret location because the caret inside it hasn't actually moved but its container has.
> R=​dmazzoni@chromium.org, kenrb@chromium.org
>
> Bug:  782843 
> Change-Id: I56065da82067710f082ea788b60260d18cdd8706
> Tested: manually by moving an iframe with an empty content editable around and checking caret bounds
> Reviewed-on: https://chromium-review.googlesource.com/759161
> Commit-Queue: Nektarios Paisios <nektar@chromium.org>
> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
> Reviewed-by: Ken Buchanan <kenrb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#516559}

TBR=aleventhal@chromium.org, dmazzoni@chromium.org, kenrb@chromium.org, mfoltz@chromium.org, nektar@chromium.org, sadrul@chromium.org


(cherry picked from commit 607ad24f9067a2eed21724b6d54005b8f00aeffe)

Bug:  782843 ,786317
Change-Id: Ia6cfb907fe65b9c78e7e8a1d1ec07b4cd9c03cab
Reviewed-on: https://chromium-review.googlesource.com/815459
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Commit-Queue: mark a. foltz <mfoltz@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#522594}
Reviewed-on: https://chromium-review.googlesource.com/833342
Cr-Commit-Position: refs/branch-heads/3282@{#282}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/a894d6c84e979d3696209323a057ea546ee46210/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/a894d6c84e979d3696209323a057ea546ee46210/content/browser/renderer_host/render_widget_host_view_aura.h

Status: Verified (was: Fixed)
Status: Started (was: Verified)
Reopening because this was reverted.

Status: Fixed (was: Started)
Only reverted in previous Chrome version but still in master.

Sign in to add a comment