Title: [178282] releases/WebKitGTK/webkit-2.6
- Revision
- 178282
- Author
- carlo...@webkit.org
- Date
- 2015-01-12 10:17:52 -0800 (Mon, 12 Jan 2015)
Log Message
Merge r176619 - Twitter avatar moves when hovering/unhovering the "follow" button.
https://bugs.webkit.org/show_bug.cgi?id=139147
rdar://problem/19096508
Reviewed by Simon Fraser.
This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
get repositioned when their inline box wrappers move.
Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
they are still part of the inline box tree.
This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().
Source/WebCore:
Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html
* rendering/InlineBox.cpp:
(WebCore::InlineBox::adjustPosition):
LayoutTests:
* fast/inline/out-of-flow-positioned-render-replaced-box-moves-expected.html: Added.
* fast/inline/out-of-flow-positioned-render-replaced-box-moves.html: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.6/LayoutTests/ChangeLog (178281 => 178282)
--- releases/WebKitGTK/webkit-2.6/LayoutTests/ChangeLog 2015-01-12 18:15:07 UTC (rev 178281)
+++ releases/WebKitGTK/webkit-2.6/LayoutTests/ChangeLog 2015-01-12 18:17:52 UTC (rev 178282)
@@ -1,3 +1,22 @@
+2014-12-01 Zalan Bujtas <za...@apple.com>
+
+ Twitter avatar moves when hovering/unhovering the "follow" button.
+ https://bugs.webkit.org/show_bug.cgi?id=139147
+ rdar://problem/19096508
+
+ Reviewed by Simon Fraser.
+
+ This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
+ get repositioned when their inline box wrappers move.
+ Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
+ placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
+ they are still part of the inline box tree.
+ This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
+ They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().
+
+ * fast/inline/out-of-flow-positioned-render-replaced-box-moves-expected.html: Added.
+ * fast/inline/out-of-flow-positioned-render-replaced-box-moves.html: Added.
+
2014-11-21 Chris Dumez <cdu...@apple.com>
Crash when setting 'transition-delay' CSS property to a calculated value
Added: releases/WebKitGTK/webkit-2.6/LayoutTests/fast/inline/out-of-flow-positioned-render-replaced-box-moves-expected.html (0 => 178282)
--- releases/WebKitGTK/webkit-2.6/LayoutTests/fast/inline/out-of-flow-positioned-render-replaced-box-moves-expected.html (rev 0)
+++ releases/WebKitGTK/webkit-2.6/LayoutTests/fast/inline/out-of-flow-positioned-render-replaced-box-moves-expected.html 2015-01-12 18:17:52 UTC (rev 178282)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>This tests that when inline content gets changed (width changes), the out of flow positioned element on the same line does not move.</title>
+<style>
+ h2 {
+ display: inline;
+ line-height: 300px;
+ }
+
+ img {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ }
+
+ button {
+ width: 100px;
+ }
+</style>
+</head>
+<body>
+ <h2>
+ <a><img src=""
+ </h2>
+ <button>button</button>
+</body>
+</html>
Added: releases/WebKitGTK/webkit-2.6/LayoutTests/fast/inline/out-of-flow-positioned-render-replaced-box-moves.html (0 => 178282)
--- releases/WebKitGTK/webkit-2.6/LayoutTests/fast/inline/out-of-flow-positioned-render-replaced-box-moves.html (rev 0)
+++ releases/WebKitGTK/webkit-2.6/LayoutTests/fast/inline/out-of-flow-positioned-render-replaced-box-moves.html 2015-01-12 18:17:52 UTC (rev 178282)
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>This tests that when inline content gets changed (width changes), the out of flow positioned element on the same line does not move.</title>
+<style>
+ h2 {
+ display: inline;
+ line-height: 300px;
+ }
+
+ img {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ }
+</style>
+</head>
+<body>
+ <h2>
+ <a><img src=""
+ </h2>
+ <button id=changethis>button</button>
+ <script>
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+ setTimeout(function() {
+ document.getElementById("changethis").style.width = "100px";
+ if (window.testRunner)
+ testRunner.notifyDone();
+ }, 10);
+ </script>
+</body>
+</html>
Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog (178281 => 178282)
--- releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog 2015-01-12 18:15:07 UTC (rev 178281)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog 2015-01-12 18:17:52 UTC (rev 178282)
@@ -1,3 +1,24 @@
+2014-12-01 Zalan Bujtas <za...@apple.com>
+
+ Twitter avatar moves when hovering/unhovering the "follow" button.
+ https://bugs.webkit.org/show_bug.cgi?id=139147
+ rdar://problem/19096508
+
+ Reviewed by Simon Fraser.
+
+ This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
+ get repositioned when their inline box wrappers move.
+ Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
+ placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
+ they are still part of the inline box tree.
+ This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
+ They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().
+
+ Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::adjustPosition):
+
2014-11-26 Philippe Normand <pnorm...@igalia.com>
[GStreamer] HTTP source element lacks SCHEDULING query support
Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/rendering/InlineBox.cpp (178281 => 178282)
--- releases/WebKitGTK/webkit-2.6/Source/WebCore/rendering/InlineBox.cpp 2015-01-12 18:15:07 UTC (rev 178281)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/rendering/InlineBox.cpp 2015-01-12 18:17:52 UTC (rev 178282)
@@ -176,6 +176,9 @@
{
m_topLeft.move(dx, dy);
+ if (m_renderer.isOutOfFlowPositioned())
+ return;
+
if (m_renderer.isReplaced())
toRenderBox(renderer()).move(dx, dy);
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes