Diff
Modified: trunk/LayoutTests/ChangeLog (169412 => 169413)
--- trunk/LayoutTests/ChangeLog 2014-05-28 04:46:18 UTC (rev 169412)
+++ trunk/LayoutTests/ChangeLog 2014-05-28 05:08:51 UTC (rev 169413)
@@ -1,3 +1,18 @@
+2014-05-27 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, rolling out r169400.
+ https://bugs.webkit.org/show_bug.cgi?id=133338
+
+ Broke the iOS build in
+ LocalizedDateCache::calculateMaximumWidth() (Requested by smfr
+ on #webkit).
+
+ Reverted changeset:
+
+ "SVG TextRuns do not always get RenderingContexts"
+ https://bugs.webkit.org/show_bug.cgi?id=133198
+ http://trac.webkit.org/changeset/169400
+
2014-05-27 Bem Jones-Bey <bjone...@adobe.com>
vw/vh units used as font/line-height values don't scale with the viewport
Deleted: trunk/LayoutTests/svg/custom/list-items-with-svg-font-family-expected.txt (169412 => 169413)
--- trunk/LayoutTests/svg/custom/list-items-with-svg-font-family-expected.txt 2014-05-28 04:46:18 UTC (rev 169412)
+++ trunk/LayoutTests/svg/custom/list-items-with-svg-font-family-expected.txt 2014-05-28 05:08:51 UTC (rev 169413)
@@ -1,5 +0,0 @@
-This test makes sure that styling list elements with an SVG font does not cause a crash.
-This test is successful if there is no crash.
-element
-element
-element
Deleted: trunk/LayoutTests/svg/custom/list-items-with-svg-font-family.html (169412 => 169413)
--- trunk/LayoutTests/svg/custom/list-items-with-svg-font-family.html 2014-05-28 04:46:18 UTC (rev 169412)
+++ trunk/LayoutTests/svg/custom/list-items-with-svg-font-family.html 2014-05-28 05:08:51 UTC (rev 169413)
@@ -1,28 +0,0 @@
-<style>
-@font-face {
- font-family: 'SVGraffiti';
- src: url("resources/graffiti.svg#SVGraffiti") format(svg)
-}
-li.a {
- font-size: 30px;
- font-family: SVGraffiti;
- list-style-type: lower-roman;
-}
-li.b {
- font-size: 30px;
- font-family: SVGraffiti;
- list-style-type: asterisks;
-}
-</style>
-This test makes sure that styling list elements with an SVG font does not cause a crash.
-<br>
-This test is successful if there is no crash.
-<ol>
-<li class="a">element</li>
-<li class="a">element</li>
-<li class="b">element</li>
-</ol>
-<script>
-if (window.testRunner)
- testRunner.dumpAsText();
-</script>
Modified: trunk/Source/WebCore/ChangeLog (169412 => 169413)
--- trunk/Source/WebCore/ChangeLog 2014-05-28 04:46:18 UTC (rev 169412)
+++ trunk/Source/WebCore/ChangeLog 2014-05-28 05:08:51 UTC (rev 169413)
@@ -1,3 +1,18 @@
+2014-05-27 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, rolling out r169400.
+ https://bugs.webkit.org/show_bug.cgi?id=133338
+
+ Broke the iOS build in
+ LocalizedDateCache::calculateMaximumWidth() (Requested by smfr
+ on #webkit).
+
+ Reverted changeset:
+
+ "SVG TextRuns do not always get RenderingContexts"
+ https://bugs.webkit.org/show_bug.cgi?id=133198
+ http://trac.webkit.org/changeset/169400
+
2014-05-27 Timothy Horton <timothy_hor...@apple.com>
REGRESSION (Margin tiles): Background gradient on dom.spec.whatwg.org is very slow to render
Modified: trunk/Source/WebCore/platform/graphics/TextRun.h (169412 => 169413)
--- trunk/Source/WebCore/platform/graphics/TextRun.h 2014-05-28 04:46:18 UTC (rev 169412)
+++ trunk/Source/WebCore/platform/graphics/TextRun.h 2014-05-28 05:08:51 UTC (rev 169413)
@@ -101,7 +101,7 @@
m_data.characters16 = c;
}
- explicit TextRun(const String& s, float xpos = 0, float expansion = 0, ExpansionBehavior expansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextDirection direction = LTR, bool directionalOverride = false, bool characterScanForCodePath = true, RoundingHacks roundingHacks = RunRounding | WordRounding)
+ TextRun(const String& s, float xpos = 0, float expansion = 0, ExpansionBehavior expansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextDirection direction = LTR, bool directionalOverride = false, bool characterScanForCodePath = true, RoundingHacks roundingHacks = RunRounding | WordRounding)
: m_charactersLength(s.length())
, m_len(s.length())
, m_xpos(xpos)
@@ -126,7 +126,7 @@
}
}
- explicit TextRun(StringView s, float xpos = 0, float expansion = 0, ExpansionBehavior expansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextDirection direction = LTR, bool directionalOverride = false, bool characterScanForCodePath = true, RoundingHacks roundingHacks = RunRounding | WordRounding)
+ TextRun(StringView s, float xpos = 0, float expansion = 0, ExpansionBehavior expansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextDirection direction = LTR, bool directionalOverride = false, bool characterScanForCodePath = true, RoundingHacks roundingHacks = RunRounding | WordRounding)
: m_charactersLength(s.length())
, m_len(s.length())
, m_xpos(xpos)
Modified: trunk/Source/WebCore/rendering/RenderListMarker.cpp (169412 => 169413)
--- trunk/Source/WebCore/rendering/RenderListMarker.cpp 2014-05-28 04:46:18 UTC (rev 169412)
+++ trunk/Source/WebCore/rendering/RenderListMarker.cpp 2014-05-28 05:08:51 UTC (rev 169413)
@@ -1536,10 +1536,8 @@
case NoneListStyle:
break;
case Asterisks:
- case Footnotes: {
- TextRun run = RenderBlock::constructTextRun(this, font, m_text, style(), TextRun::AllowTrailingExpansion | TextRun::ForbidLeadingExpansion, DefaultTextRunFlags);
- logicalWidth = font.width(run); // no suffix for these types
- }
+ case Footnotes:
+ logicalWidth = font.width(m_text); // no suffix for these types
break;
case Circle:
case Disc:
@@ -1624,8 +1622,7 @@
if (m_text.isEmpty())
logicalWidth = 0;
else {
- TextRun run = RenderBlock::constructTextRun(this, font, m_text, style(), TextRun::AllowTrailingExpansion | TextRun::ForbidLeadingExpansion, DefaultTextRunFlags);
- LayoutUnit itemWidth = font.width(run);
+ LayoutUnit itemWidth = font.width(m_text);
UChar suffixSpace[2] = { listMarkerSuffix(type, m_listItem.value()), ' ' };
LayoutUnit suffixSpaceWidth = font.width(RenderBlock::constructTextRun(this, font, suffixSpace, 2, style()));
logicalWidth = itemWidth + suffixSpaceWidth;
@@ -1757,8 +1754,7 @@
case Asterisks:
case Footnotes: {
const Font& font = style().font();
- TextRun run = RenderBlock::constructTextRun(this, font, m_text, style(), TextRun::AllowTrailingExpansion | TextRun::ForbidLeadingExpansion, DefaultTextRunFlags);
- relativeRect = IntRect(0, 0, font.width(run), font.fontMetrics().height());
+ relativeRect = IntRect(0, 0, font.width(m_text), font.fontMetrics().height());
break;
}
case Disc:
@@ -1851,8 +1847,7 @@
if (m_text.isEmpty())
return IntRect();
const Font& font = style().font();
- TextRun run = RenderBlock::constructTextRun(this, font, m_text, style(), TextRun::AllowTrailingExpansion | TextRun::ForbidLeadingExpansion, DefaultTextRunFlags);
- int itemWidth = font.width(run);
+ int itemWidth = font.width(m_text);
UChar suffixSpace[2] = { listMarkerSuffix(type, m_listItem.value()), ' ' };
int suffixSpaceWidth = font.width(RenderBlock::constructTextRun(this, font, suffixSpace, 2, style()));
relativeRect = IntRect(0, 0, itemWidth + suffixSpaceWidth, font.fontMetrics().height());
Modified: trunk/Source/WebCore/rendering/RenderMenuList.cpp (169412 => 169413)
--- trunk/Source/WebCore/rendering/RenderMenuList.cpp 2014-05-28 04:46:18 UTC (rev 169412)
+++ trunk/Source/WebCore/rendering/RenderMenuList.cpp 2014-05-28 05:08:51 UTC (rev 169413)
@@ -224,17 +224,11 @@
float optionWidth = 0;
if (RenderStyle* optionStyle = element->renderStyle())
optionWidth += minimumValueForLength(optionStyle->textIndent(), 0);
- if (!text.isEmpty()) {
- const Font& font = style().font();
- TextRun run = RenderBlock::constructTextRun(this, font, text, style(), TextRun::AllowTrailingExpansion | TextRun::ForbidLeadingExpansion, DefaultTextRunFlags);
- optionWidth += font.width(run);
- }
+ if (!text.isEmpty())
+ optionWidth += style().font().width(text);
maxOptionWidth = std::max(maxOptionWidth, optionWidth);
- } else if (!text.isEmpty()) {
- const Font& font = style().font();
- TextRun run = RenderBlock::constructTextRun(this, font, text, style(), TextRun::AllowTrailingExpansion | TextRun::ForbidLeadingExpansion, DefaultTextRunFlags);
- maxOptionWidth = std::max(maxOptionWidth, font.width(run));
- }
+ } else if (!text.isEmpty())
+ maxOptionWidth = std::max(maxOptionWidth, style().font().width(text));
}
int width = static_cast<int>(ceilf(maxOptionWidth));