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

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

Issue 2709153003: Fix repeat background position problem (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/backgrounds/background-position-repeat-rendering-2-expected.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp
diff --git a/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp b/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp
index 85cfd59807b1c23ebcbcd70b8d39bdd30037b0da..c6c2fb012185c9044f448af1ed6d33fde383bb05 100644
--- a/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp
+++ b/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp
@@ -225,23 +225,19 @@ void BackgroundImageGeometry::setRepeatX(const FillLayer& fillLayer,
roundedMinimumValueForLength(fillLayer.xPosition(),
unsnappedAvailableWidth) -
offsetForCell;
+ float numberOfTilesInPosition;
if (fillLayer.backgroundXOrigin() == RightEdge) {
- float numberOfTilesInPosition =
+ numberOfTilesInPosition =
(snappedAvailableWidth - computedXPosition + extraOffset).toFloat() /
unsnappedTileWidth.toFloat();
- float fractionalPositionWithinTile =
- numberOfTilesInPosition - truncf(numberOfTilesInPosition);
- setPhaseX(LayoutUnit(
- roundf(fractionalPositionWithinTile * tileSize().width())));
} else {
- float numberOfTilesInPosition =
- (computedXPosition + extraOffset).toFloat() /
- unsnappedTileWidth.toFloat();
- float fractionalPositionWithinTile =
- 1.0f - (numberOfTilesInPosition - truncf(numberOfTilesInPosition));
- setPhaseX(LayoutUnit(
- roundf(fractionalPositionWithinTile * tileSize().width())));
+ numberOfTilesInPosition = (computedXPosition + extraOffset).toFloat() /
+ unsnappedTileWidth.toFloat();
}
+ float fractionalPositionWithinTile =
+ 1.0f - (numberOfTilesInPosition - truncf(numberOfTilesInPosition));
+ setPhaseX(
+ LayoutUnit(roundf(fractionalPositionWithinTile * tileSize().width())));
} else {
setPhaseX(LayoutUnit());
}
@@ -262,23 +258,19 @@ void BackgroundImageGeometry::setRepeatY(const FillLayer& fillLayer,
roundedMinimumValueForLength(fillLayer.yPosition(),
unsnappedAvailableHeight) -
offsetForCell;
+ float numberOfTilesInPosition;
if (fillLayer.backgroundYOrigin() == BottomEdge) {
- float numberOfTilesInPosition =
+ numberOfTilesInPosition =
(snappedAvailableHeight - computedYPosition + extraOffset).toFloat() /
unsnappedTileHeight.toFloat();
- float fractionalPositionWithinTile =
- numberOfTilesInPosition - truncf(numberOfTilesInPosition);
- setPhaseY(LayoutUnit(
- roundf(fractionalPositionWithinTile * tileSize().height())));
} else {
- float numberOfTilesInPosition =
- (computedYPosition + extraOffset).toFloat() /
- unsnappedTileHeight.toFloat();
- float fractionalPositionWithinTile =
- 1.0f - (numberOfTilesInPosition - truncf(numberOfTilesInPosition));
- setPhaseY(LayoutUnit(
- roundf(fractionalPositionWithinTile * tileSize().height())));
+ numberOfTilesInPosition = (computedYPosition + extraOffset).toFloat() /
+ unsnappedTileHeight.toFloat();
}
+ float fractionalPositionWithinTile =
+ 1.0f - (numberOfTilesInPosition - truncf(numberOfTilesInPosition));
+ setPhaseY(
+ LayoutUnit(roundf(fractionalPositionWithinTile * tileSize().height())));
} else {
setPhaseY(LayoutUnit());
}
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/backgrounds/background-position-repeat-rendering-2-expected.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698