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

Issue 1879223002: Support mask images for filter-based -webkit-box-reflect. (Closed)

Created:
4 years, 8 months ago by jbroman
Modified:
4 years, 8 months ago
Reviewers:
Stephen White
CC:
blink-reviews, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), Justin Novosad, kinuko+watch, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, slimming-paint-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@reflection-refactor
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support mask images for filter-based -webkit-box-reflect. This is implemented by having a SkPictureImageFilter which draws the provided mask image (e.g. a gradient), which is then applied to the reflection. A bunch of math is needed to make sure the mask is correctly sized and positioned, because the property is actually fairly flexible and allows a nine-piece image with insets for slicing and outsets for expanding. BUG=436475 Committed: https://crrev.com/98e094a1f352965d9ea46601f672b3555b56f330 Cr-Commit-Position: refs/heads/master@{#389151}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : experiment with kLow_SkFilterQuality #

Patch Set 6 : #

Patch Set 7 : backport mask image handling into SkiaImageFilterBuilder #

Patch Set 8 : #

Total comments: 7

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : add comment referring to skbug.com/5210 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+123 lines, -37 lines) Patch
M third_party/WebKit/Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/paint/BoxReflectionUtils.h View 1 chunk +20 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp View 1 2 3 4 5 6 7 8 1 chunk +81 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -33 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +15 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.cpp View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 17 (9 generated)
jbroman
The current patch set shows the layout test failures that would exist if this feature ...
4 years, 8 months ago (2016-04-19 17:23:35 UTC) #3
Stephen White
https://codereview.chromium.org/1879223002/diff/140001/third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp File third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp (right): https://codereview.chromium.org/1879223002/diff/140001/third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp#newcode22 third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp:22: const auto* reflectStyle = style.boxReflect(); This might be personal ...
4 years, 8 months ago (2016-04-20 21:33:57 UTC) #5
jbroman
https://codereview.chromium.org/1879223002/diff/140001/third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp File third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp (right): https://codereview.chromium.org/1879223002/diff/140001/third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp#newcode22 third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp:22: const auto* reflectStyle = style.boxReflect(); On 2016/04/20 at 21:33:56, ...
4 years, 8 months ago (2016-04-21 16:52:05 UTC) #6
Stephen White
LGTM w/skia bug reference added https://codereview.chromium.org/1879223002/diff/140001/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp File third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp (right): https://codereview.chromium.org/1879223002/diff/140001/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp#newcode192 third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp:192: SkImageFilter::CropRect cropRect(maskPicture->cullRect()); On 2016/04/21 ...
4 years, 8 months ago (2016-04-21 16:59:29 UTC) #7
jbroman
On 2016/04/21 at 16:59:29, senorblanco wrote: > LGTM w/skia bug reference added > > https://codereview.chromium.org/1879223002/diff/140001/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp ...
4 years, 8 months ago (2016-04-22 15:23:51 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1879223002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1879223002/200001
4 years, 8 months ago (2016-04-22 15:27:30 UTC) #14
commit-bot: I haz the power
Committed patchset #11 (id:200001)
4 years, 8 months ago (2016-04-22 17:23:55 UTC) #15
commit-bot: I haz the power
4 years, 8 months ago (2016-04-22 19:49:15 UTC) #17
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/98e094a1f352965d9ea46601f672b3555b56f330
Cr-Commit-Position: refs/heads/master@{#389151}

Powered by Google App Engine
This is Rietveld 408576698