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

Unified Diff: third_party/WebKit/Source/core/paint/NinePieceImagePainter.cpp

Issue 1756763004: Merge image sizing algorithms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unused variable 'styleImage' in release Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/paint/NinePieceImagePainter.cpp
diff --git a/third_party/WebKit/Source/core/paint/NinePieceImagePainter.cpp b/third_party/WebKit/Source/core/paint/NinePieceImagePainter.cpp
index 65189174ef44689f96e5610c7e8e73e0672e32bc..bbc4941315410f7f29badc45edb018381dca59bf 100644
--- a/third_party/WebKit/Source/core/paint/NinePieceImagePainter.cpp
+++ b/third_party/WebKit/Source/core/paint/NinePieceImagePainter.cpp
@@ -49,8 +49,7 @@ bool NinePieceImagePainter::paint(GraphicsContext& graphicsContext, const Layout
rectWithOutsets.expand(style.imageOutsets(ninePieceImage));
LayoutRect borderImageRect = rectWithOutsets;
- IntSize imageSize = roundedIntSize(m_layoutObject.calculateImageIntrinsicDimensions(styleImage, borderImageRect.size(),
- LayoutBoxModelObject::DoNotScaleByEffectiveZoom));
+ IntSize imageSize = roundedIntSize(styleImage->imageSize(&m_layoutObject, 1, borderImageRect.size()));
IntRectOutsets borderWidths(style.borderTopWidth(), style.borderRightWidth(),
style.borderBottomWidth(), style.borderLeftWidth());
@@ -68,6 +67,10 @@ bool NinePieceImagePainter::paint(GraphicsContext& graphicsContext, const Layout
for (NinePiece piece = MinPiece; piece < MaxPiece; ++piece) {
NinePieceImageGrid::NinePieceDrawInfo drawInfo = grid.getNinePieceDrawInfo(piece);
+ // The nine piece grid is computed in unscaled image coordinates but must be drawn using
+ // scaled image coordinates.
+ drawInfo.source.scale(styleImage->imageScaleFactor());
+
if (drawInfo.isDrawable) {
if (drawInfo.isCornerPiece) {
graphicsContext.drawImage(image.get(), drawInfo.destination, drawInfo.source, op);
« no previous file with comments | « third_party/WebKit/Source/core/paint/NinePieceImageGrid.cpp ('k') | third_party/WebKit/Source/core/style/StyleFetchedImage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698