| Index: Source/core/rendering/RenderReplaced.cpp | 
| diff --git a/Source/core/rendering/RenderReplaced.cpp b/Source/core/rendering/RenderReplaced.cpp | 
| index cf65f2f4a844a792be83d2a5fdb7ee432be1f4ed..158da9025cfb32fe783c7a71804d2e68dd5eb411 100644 | 
| --- a/Source/core/rendering/RenderReplaced.cpp | 
| +++ b/Source/core/rendering/RenderReplaced.cpp | 
| @@ -315,7 +315,7 @@ LayoutRect RenderReplaced::replacedContentRect(const LayoutSize* overriddenIntri | 
| { | 
| LayoutRect contentRect = contentBoxRect(); | 
| ObjectFit objectFit = style()->objectFit(); | 
| -    if (objectFit == ObjectFitFill) | 
| +    if (objectFit == ObjectFitFill && style()->objectPosition() == RenderStyle::initialObjectPosition()) | 
| return contentRect; | 
|  | 
| LayoutSize intrinsicSize = overriddenIntrinsicSize ? *overriddenIntrinsicSize : this->intrinsicSize(); | 
| @@ -335,13 +335,13 @@ LayoutRect RenderReplaced::replacedContentRect(const LayoutSize* overriddenIntri | 
| finalRect.setSize(intrinsicSize); | 
| break; | 
| case ObjectFitFill: | 
| +        break; | 
| +    default: | 
| ASSERT_NOT_REACHED(); | 
| } | 
|  | 
| -    // FIXME: This is where object-position should be taken into account, but since it's not | 
| -    // implemented yet, assume the initial value of "50% 50%". | 
| -    LayoutUnit xOffset = (contentRect.width() - finalRect.width()) / 2; | 
| -    LayoutUnit yOffset = (contentRect.height() - finalRect.height()) / 2; | 
| +    LayoutUnit xOffset = minimumValueForLength(style()->objectPosition().x(), contentRect.width() - finalRect.width(), view()); | 
| +    LayoutUnit yOffset = minimumValueForLength(style()->objectPosition().y(), contentRect.height() - finalRect.height(), view()); | 
| finalRect.move(xOffset, yOffset); | 
|  | 
| return finalRect; | 
|  |