New issue
Advanced search Search tips

Issue 601029 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug



Sign in to add a comment

tabCapture cursor rendering of carret inaccurate

Reported by thembr...@gmail.com, Apr 6 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36

Steps to reproduce the problem:
a) Position of mirrored caret cursor is inaccurate:
1. use tabCapture API to get a video stream of a tab
2. Move cursor over selectable text or input field on a website

Expected behavior: 
cursor should be in mirrored at the same position.

What went wrong:
See here for a side-by-side view on Linux (right window is the tabCapture API output)
https://www.youtube.com/watch?v=RIOjD68aZBk

The mirrored cursor is in in the wrong position (too much down by a few pixels)

Or here (cursor moving in a straight line, mirrored one jumps around):
https://youtu.be/NVnInx2TuHU

b) 
same setup as above, but now select text on the website (slowly).

Expected behavior: 
caret cursor should be mirrored while selecting text.

What went wrong:
See at 0:13 of the video https://youtu.be/RIOjD68aZBk?t=13s
Caret cursor is hidden while selecting text.

c) Cursor not mirrored while window has no focus
move cursor over website while an other window has focus

Expected behavior: cursor should be mirrored too and change when hovering links etc.

What went wrong:
cursor is not mirrored at all: See https://www.youtube.com/watch?v=rp7jQCRHvwI&feature=youtu.be
(developer tools have focus)

What is the expected behavior?

What went wrong?
see above

Did this work before? N/A 

Chrome version: 49.0.2623.110  Channel: stable
OS Version: 
Flash Version: Shockwave Flash 21.0 r0

Same behavior both on Linux and ChromeOS (I did not test this any other platforms)

Implementation Bug of the cursor mirroring:  https://crbug.com/550555 
 
Two more observations:
- 'progress' and 'wait' cursors are not mirrored: https://youtu.be/E1jImZGifbQ
- custom cursors cursor: url(...) are not mirrored: https://youtu.be/TUuZ3-uPUTg


Comment 2 by thembr...@gmail.com, Apr 25 2016

regarding #1:
custom cursors are now rendered in 52.0.2715.0 (tested on OSX).
Cc: rnimmagadda@chromium.org
Labels: Needs-Feedback
Unable to repro this issue on Ubuntu Trusty (14.04) for Google Chrome Stable Version - 50.0.2661.94

Screen-recordings are attached.

@thembrown: Could you please perform the steps mentioned beneath and let us know your observations.

1. Update your Google Chrome to Latest Stable Version - 50.0.2661.94
2. Re-test the same on a clean profile [chrome://settings -> Add Person]

Thank you.

601029.ogv
2.7 MB Download
601029 - 1.ogv
1.5 MB Download
Hi, sorry. My description was a bit imprecise. The rendering in Chrome is fine in all cases - just the cursor rendered in the media stream obtained by the tabCapture API is broken.
An easy way to reproduce would be to cast the content of the tab to a Chromecast (using the Google Cast extension).

Just re-checked on 50.0.2661.75 with an mew/empty profile directory. Still able to reproduce:
https://youtu.be/ZYvzZhW_qIs

If you don't have a Chromecast at hand, you could also use 
https://chrome.google.com/webstore/detail/screencastify-screen-vide/mmeijimgabbpbgpdklnllpncmdofkcpn?hl=en with Tab recording.
It applies a workaround for this issue through a injected content-script in the meanwhile, but it'll still record chrome-internal pages like chrome://version AS-IS where content-scripts cannot be injected. That's what I used to record those videos. However I'm also able to reproduce it the same way with tab-mirroring using Google Cast.
Sidenote: It seems that the cursor mirroring implementation ( https://crbug.com/550555 ) always assumes that cursors are anchored at the to-right corner. Which causes non-arrow cursors like the caret to be positioned incorrectly and jump around.
Project Member

Comment 7 by sheriffbot@chromium.org, May 5 2016

Labels: -Needs-Feedback Needs-Review
Owner: rnimmagadda@chromium.org
Thank you for providing more feedback. Adding requester "rnimmagadda@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: isheriff@chromium.org
Labels: -Needs-Review Needs-Feedback
Owner: ----
@isheriff: Could you please look into this issue and let us know if this related to the issue - 550555 ?

Thank you.
"anchored at the to-right corner" should read:
anchored at the top-left corner (i.e. 0,0 in CSS "cursor:" coordinates)
Project Member

Comment 10 by sheriffbot@chromium.org, May 6 2016

Labels: -Needs-Feedback Needs-Review
Owner: rnimmagadda@chromium.org
Thank you for providing more feedback. Adding requester "rnimmagadda@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: -isheriff@chromium.org -rnimmagadda@chromium.org
Labels: -Via-Wizard -Needs-Review
Owner: isheriff@chromium.org
Status: (was: Unconfirmed)
What is the use case for mirroring cursor without the tab in focus ? I think that is intentional at this point.

Lets keep this bug to track the inaccurate carret display. 
I don't have a real use-case for this, I was just confused to see an accidentally un-focused tab repond to mouse (hover) events as usual without seeing the cursor mirrored.
Admittedly this is probably not very important in practice.
Owner: ----

Comment 14 by m...@chromium.org, Oct 22 2016

Cc: m...@chromium.org
Components: Blink>GetUserMedia>Tab
Labels: M-56 OS-Chrome OS-Mac OS-Windows
Owner: qiangchen@chromium.org
Status: Assigned
I see this at home on my Windows machine as well. I think comment #6 accurately explains the problem.

qiangchen: Since you recently worked on a mouse cursor rendering bug, would you be willing to take this on? Should be a simple math/position adjustment, taking into account the hot point coordinate of the cursor?
I can take a look. But I do not think #6 explains correctly, as by code reading, I found hot point processing explicitly. So there must be something else.
Labels: -M-56 M-57
Bumping to M57. Please update if that's wrong.
Cc: qiangchen@chromium.org
Owner: braveyao@chromium.org
Status: Fixed (was: Assigned)
With the fix to  issue 676687 , this issue should be fixed now. Please try with Canary on Win or Chromium ToT (M57 and later)on Linux. 

Comment 18 by m...@chromium.org, Jan 10 2017

Cc: braveyao@chromium.org
Owner: dbbrooks@chromium.org
dbbrooks: Can you please perform verification testing of tab mirroring cursor rendering with Chromecast? The following cursor issues (i.e., how the cursor is rendered on the Chromecast) should be gone on all of Win+Mac+CrOS:

1. The hot point of the cursor should be accounted for. That means for an arrow, the click point is the tip of the arrow; for the text caret, the click point is approx. the middle (vertically) of the text caret; for the pointy hand (over buttons), the click point should be at the tip (or a little bit underneath) the finger. You can determine this by slowly moving the mouse into and out of text boxes or buttons on a page.

2. The various cursors should be rendered correctly (i.e., correct graphics). On Windows, the text caret used to be semi-invisible; but that was a bug. It should look just like what the user sees on the local screen; or a suitable substitute.

3. The position of the cursor is correct regardless of the browser window size. So, please try resizing the browser window randomly and make sure the cursor on the Chromecast corresponds to what you see on the local machine (e.g., if pointing at the first letter of a sentence, it should be the same on the Chromecast).

4. The position of the cursor should be correct whether using a high-DPI (e.g., Retina) display or not, regardless of browser window size.

Thanks!
I still need to test retina and CrOS, but here's an update since I hit an issue.

The text caret is invisible on Win (well it's rendered in white I think). Win 57.0.2978.0 {#442756}


Just finished, CrOS and Mac (+ retina display) look good. It's just the issue mentioned in #19. So I can't mark this as verified yet.

Sign in to add a comment