Title: [148027] trunk
- Revision
- 148027
- Author
- [email protected]
- Date
- 2013-04-09 09:46:49 -0700 (Tue, 09 Apr 2013)
Log Message
Whitespace in particular source code changes rendering; does not in Firefox
https://bugs.webkit.org/show_bug.cgi?id=100943
Patch by Arnaud Renevier <[email protected]> on 2013-04-09
Reviewed by Darin Adler.
Source/WebCore:
A render inline which requires a line box is considered a possible
trailing object. So, ensureLineBoxInsideIgnoredSpaces will be called
for it, even if it is placed after a text render ending with a single
space.
Tests: fast/text/whitespace/trailing-space-before-empty-span-1.html
fast/text/whitespace/trailing-space-before-empty-span-2.html
* rendering/RenderBlockLineLayout.cpp:
(TrailingObjects):
(WebCore::TrailingObjects::appendBoxIfNeeded):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
LayoutTests:
* fast/text/whitespace/trailing-space-before-empty-span-1-expected.html: Added.
* fast/text/whitespace/trailing-space-before-empty-span-1.html: A test
with a span whose text ends with a single span. A following span
is empty but requires a line box (because it has some padding).
The second span should be rendered.
* fast/text/whitespace/trailing-space-before-empty-span-2-expected.html: Added.
* fast/text/whitespace/trailing-space-before-empty-span-2.html: Same
test as trailing-space-before-empty-span-1.html except that second
span contains whitespace only text.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (148026 => 148027)
--- trunk/LayoutTests/ChangeLog 2013-04-09 15:27:05 UTC (rev 148026)
+++ trunk/LayoutTests/ChangeLog 2013-04-09 16:46:49 UTC (rev 148027)
@@ -1,3 +1,20 @@
+2013-04-09 Arnaud Renevier <[email protected]>
+
+ Whitespace in particular source code changes rendering; does not in Firefox
+ https://bugs.webkit.org/show_bug.cgi?id=100943
+
+ Reviewed by Darin Adler.
+
+ * fast/text/whitespace/trailing-space-before-empty-span-1-expected.html: Added.
+ * fast/text/whitespace/trailing-space-before-empty-span-1.html: A test
+ with a span whose text ends with a single span. A following span
+ is empty but requires a line box (because it has some padding).
+ The second span should be rendered.
+ * fast/text/whitespace/trailing-space-before-empty-span-2-expected.html: Added.
+ * fast/text/whitespace/trailing-space-before-empty-span-2.html: Same
+ test as trailing-space-before-empty-span-1.html except that second
+ span contains whitespace only text.
+
2013-04-09 Andrei Bucur <[email protected]>
Use DOM ordering for list counts
Added: trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-1-expected.html (0 => 148027)
--- trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-1-expected.html (rev 0)
+++ trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-1-expected.html 2013-04-09 16:46:49 UTC (rev 148027)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+
+<style type="text/css">
+.colored {
+ background-color: yellow;
+ padding: 16px;
+}
+</style>
+</head>
+
+<div><span>AB</span><span class="colored"></span></div>
+
+</body>
+</html>
Added: trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-1.html (0 => 148027)
--- trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-1.html (rev 0)
+++ trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-1.html 2013-04-09 16:46:49 UTC (rev 148027)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+
+<style type="text/css">
+.colored {
+ background-color: yellow;
+ padding: 16px;
+}
+</style>
+</head>
+
+<div><span>AB </span><span class="colored"></span></div>
+
+</body>
+</html>
Added: trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-2-expected.html (0 => 148027)
--- trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-2-expected.html (rev 0)
+++ trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-2-expected.html 2013-04-09 16:46:49 UTC (rev 148027)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+
+<style type="text/css">
+.colored {
+ background-color: yellow;
+ padding: 16px;
+}
+</style>
+</head>
+
+<div><span>AB</span><span class="colored"></span></div>
+
+</body>
+</html>
Added: trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-2.html (0 => 148027)
--- trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-2.html (rev 0)
+++ trunk/LayoutTests/fast/text/whitespace/trailing-space-before-empty-span-2.html 2013-04-09 16:46:49 UTC (rev 148027)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+
+<style type="text/css">
+.colored {
+ background-color: yellow;
+ padding: 16px;
+}
+</style>
+</head>
+
+<div><span>AB </span><span class="colored"> </span></div>
+
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (148026 => 148027)
--- trunk/Source/WebCore/ChangeLog 2013-04-09 15:27:05 UTC (rev 148026)
+++ trunk/Source/WebCore/ChangeLog 2013-04-09 16:46:49 UTC (rev 148027)
@@ -1,3 +1,23 @@
+2013-04-09 Arnaud Renevier <[email protected]>
+
+ Whitespace in particular source code changes rendering; does not in Firefox
+ https://bugs.webkit.org/show_bug.cgi?id=100943
+
+ Reviewed by Darin Adler.
+
+ A render inline which requires a line box is considered a possible
+ trailing object. So, ensureLineBoxInsideIgnoredSpaces will be called
+ for it, even if it is placed after a text render ending with a single
+ space.
+
+ Tests: fast/text/whitespace/trailing-space-before-empty-span-1.html
+ fast/text/whitespace/trailing-space-before-empty-span-2.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (TrailingObjects):
+ (WebCore::TrailingObjects::appendBoxIfNeeded):
+ (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
+
2013-04-09 Andrei Bucur <[email protected]>
Use DOM ordering for list counts
Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (148026 => 148027)
--- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2013-04-09 15:27:05 UTC (rev 148026)
+++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2013-04-09 16:46:49 UTC (rev 148027)
@@ -2514,7 +2514,7 @@
TrailingObjects();
void setTrailingWhitespace(RenderText*);
void clear();
- void appendBoxIfNeeded(RenderBox*);
+ void appendBoxIfNeeded(RenderBoxModelObject*);
enum CollapseFirstSpaceOrNot { DoNotCollapseFirstSpace, CollapseFirstSpace };
@@ -2522,7 +2522,7 @@
private:
RenderText* m_whitespace;
- Vector<RenderBox*, 4> m_boxes;
+ Vector<RenderBoxModelObject*, 4> m_boxes;
};
TrailingObjects::TrailingObjects()
@@ -2542,7 +2542,7 @@
m_boxes.clear();
}
-inline void TrailingObjects::appendBoxIfNeeded(RenderBox* box)
+inline void TrailingObjects::appendBoxIfNeeded(RenderBoxModelObject* box)
{
if (m_whitespace)
m_boxes.append(box);
@@ -2813,6 +2813,8 @@
currentCharacterIsSpace = true;
currentCharacterIsWS = true;
ignoringSpaces = true;
+ } else {
+ trailingObjects.appendBoxIfNeeded(flowBox);
}
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes