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

Issue 609894 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 543755



Sign in to add a comment

Stop overriding SkDevice::setMatrixClip()

Project Member Reported by tomhud...@chromium.org, May 6 2016

Issue description

setMatrixClip() is deprecated in Skia; we should be able to replace the implementations in Chrome (which stash copies of the values) with queries on the current canvas when we need those values.

 
Project Member

Comment 1 by bugdroid1@chromium.org, May 10 2016

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

commit af7b2b7b93c045996a5657ce74da10f9e251d621
Author: tomhudson <tomhudson@google.com>
Date: Tue May 10 14:36:44 2016

Crash on non-rectangular Windows clips

Windows is the only BitmapPlatformDevice which supports non-
rectangular clips, and appears to not actually use them.
Since the only way to *give* a non-rectangular clip to Windows
requires using long-deprecated functions in the Skia non-public
API, this CL asserts that the code in question is never triggered.

R=reed@google.com,fmalita@chromium.org
BUG= 609894 

Review-Url: https://codereview.chromium.org/1965453002
Cr-Commit-Position: refs/heads/master@{#392598}

[modify] https://crrev.com/af7b2b7b93c045996a5657ce74da10f9e251d621/skia/ext/bitmap_platform_device_win.cc

Project Member

Comment 2 by bugdroid1@chromium.org, May 19 2016

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

commit c7aaa19ef205902d338508cdf2697724c7b4872a
Author: tomhudson <tomhudson@google.com>
Date: Thu May 19 13:41:49 2016

Replace setMatrixClip() with BeginPlatformPaint() logic

Instead of storing the current transform and clip every time
SkCanvas::DeviceCM::setMatrixClip() is called, query the
current transform and clip in skia::BeginPlatformPaint() and
propagate them to the device subsequently.

Removes some state that was being stored on BitmapPlatformDevice
and a dependency on a to-be-deprected internal Skia function;
takes advantage of our recent discovery that no platform was
using complex clips and we can just use the clip bounds.

Gets rid of some lazy caching of unknown performance impact.

R=reed@google.com
BUG= 609894 

Review-Url: https://codereview.chromium.org/1963713002
Cr-Commit-Position: refs/heads/master@{#394757}

[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/bitmap_platform_device_cairo.cc
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/bitmap_platform_device_cairo.h
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/bitmap_platform_device_mac.cc
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/bitmap_platform_device_mac.h
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/bitmap_platform_device_mac_unittest.cc
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/bitmap_platform_device_skia.cc
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/bitmap_platform_device_skia.h
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/bitmap_platform_device_win.cc
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/bitmap_platform_device_win.h
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/platform_canvas.cc
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/platform_canvas.h
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/platform_device.h
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/platform_device_linux.cc
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/platform_device_mac.cc
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/platform_device_win.cc
[modify] https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a/skia/ext/skia_utils_mac.mm

Project Member

Comment 3 by bugdroid1@chromium.org, May 26 2016

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

commit e2c14d55a83e1e7b68a24a622e37c5926bf564cd
Author: tomhudson <tomhudson@google.com>
Date: Thu May 26 17:07:46 2016

Rule out new setMatrixClip() overrides via presubmit

Chrome is being migrated from SkDevice to new APIs; update the
global presubmit script now that we've *removed* the dependency
on onSetMatrixClip() so we don't have new instances added while
we fix up other Skia clients.

R=fmalita@chromium.org,cpu@chromium.org
BUG= 609894 

Review-Url: https://codereview.chromium.org/1996593002
Cr-Commit-Position: refs/heads/master@{#396208}

[modify] https://crrev.com/e2c14d55a83e1e7b68a24a622e37c5926bf564cd/PRESUBMIT.py

Status: Fixed (was: Started)
Cc: tomhud...@chromium.org fmalita@chromium.org
 Issue 598699  has been merged into this issue.
Blocking: 543755

Sign in to add a comment