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

Issue 641963 link

Starred by 3 users

Issue metadata

Status: Archived
Owner: ----
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Feature



Sign in to add a comment

Pepper plugin cannot set a high DPI custom cursor

Reported by andrew.c...@googlemail.com, Aug 29 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36

Steps to reproduce the problem:
1. Create a 48x48 bitmap for your high DPI custom cursor (assuming 150% scaling).
2. Call pp::MouseCursor::SetCursor() with PP_MOUSECURSOR_TYPE_CUSTOM and the bitmap.

What is the expected behavior?
The bitmap is applied in the same way as a 32x32 custom cursor.

What went wrong?
The bitmap is rejected and the function returns false.

Did this work before? N/A 

Chrome version: 52.0.2743.116  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 22.0 r0

The documentation for pp::MouseCursor::SetCursor() states that "the image must be less than 32 pixels in each direction" (although 32x32 pixel cursors also work). The function is behaving as documented but this prevents high DPI custom cursors from being used.
 
May be related - the method PPB_Instance_Shared::ValidateSetCursorParams has the code:

// Validate the image size. A giant cursor can arbitrarily overwrite parts
  // of the screen resulting in potential spoofing attacks. So we force the
  // cursor to be a reasonably-sized image.
  PP_ImageDataDesc desc;
  if (!PP_ToBool(enter.object()->Describe(&desc)))
    return false;
  if (desc.size.width > 32 || desc.size.height > 32)
    return false;
Cc: durga.behera@chromium.org
Components: Internals>Plugins>Pepper
Labels: Needs-Feedback
Could you please help with a sample jsfidle or url and steps to triage further from Test Eng team.
@durga I cannot provide a jsfiddle or url as the problem is in the C (or C++) Pepper API. I do not know of a way of executing that without an example Pepper Plugin. I can create a Windows specific plugin if it will help?

For reference, the code @allan described is in chromium/src/ppapi/shared_impl/ppb_instance_shared.cc.
Project Member

Comment 4 by sheriffbot@chromium.org, Sep 8 2016

Labels: -Needs-Feedback Needs-Review
Owner: durga.behera@chromium.org
Thank you for providing more feedback. Adding requester "durga.behera@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
Labels: -Needs-Review Needs-Feedback TE-NeedsTriageHelp
Owner: ----
No sure if we can success from TE side, please help with the details as mentioned in comment# 3, if the related Dev folks could get an idea on it.
Project Member

Comment 6 by sheriffbot@chromium.org, Feb 14 2018

Status: Archived (was: Unconfirmed)
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment