<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[198074] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/198074">198074</a></dd>
<dt>Author</dt> <dd>mmaxfield@apple.com</dd>
<dt>Date</dt> <dd>2016-03-12 16:36:59 -0800 (Sat, 12 Mar 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Delete dead SVG Font code
https://bugs.webkit.org/show_bug.cgi?id=154718

Reviewed by Antti Koivisto.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

All the ports have adopted the SVG -&gt; OTF Font Converter, so there will never
be an instantiation of a font backed by a DOM subtree. We can remove all the
infrastructure used to support that.

No new tests because there is no behavior change.

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* WebCore.order:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::CSSFontFaceSource): Deleted.
(WebCore::CSSFontFaceSource::font): Deleted.
* css/CSSFontFaceSource.h:
* loader/cache/CachedFont.cpp:
* loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::createFont): Deleted.
(WebCore::CachedSVGFont::ensureCustomFontData): Deleted.
* loader/cache/CachedSVGFont.h:
* platform/graphics/Font.cpp:
(WebCore::Font::Font):
(WebCore::fillGlyphPage):
(WebCore::Font::description): Deleted.
(WebCore::Font::createScaledFont): Deleted.
(WebCore::Font::applyTransforms): Deleted.
* platform/graphics/Font.h:
(WebCore::Font::widthForGlyph):
(WebCore::Font::SVGData::~SVGData): Deleted.
(WebCore::Font::create): Deleted.
(WebCore::Font::svgData): Deleted.
(WebCore::Font::isSVGFont): Deleted.
* platform/graphics/win/FontWin.cpp:
* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::drawText):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::glyphDataForCharacter):
(WebCore::FontCascade::adjustSelectionRectForText):
(WebCore::FontCascade::offsetForPosition):
(WebCore::FontCascade::drawEmphasisMarksForSimpleText):
(WebCore::FontCascade::drawGlyphBuffer):
(WebCore::isDrawnWithSVGFont): Deleted.
(WebCore::FontCascade::width): Deleted.
(WebCore::FontCascade::codePath): Deleted.
* platform/graphics/FontCascade.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/SVGGlyph.cpp: Removed.
(WebCore::processArabicFormDetection): Deleted.
(WebCore::charactersWithArabicForm): Deleted.
(WebCore::isCompatibleArabicForm): Deleted.
(WebCore::isCompatibleGlyph): Deleted.
* platform/graphics/SVGGlyph.h: Removed.
(WebCore::SVGGlyph::SVGGlyph): Deleted.
(WebCore::SVGGlyph::inheritedValue): Deleted.
(WebCore::SVGGlyph::operator==): Deleted.
* platform/graphics/TextRun.cpp:
* platform/graphics/TextRun.h:
(WebCore::TextRun::RenderingContext::~RenderingContext): Deleted.
(WebCore::TextRun::renderingContext): Deleted.
(WebCore::TextRun::setRenderingContext): Deleted.
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::glyphDataForCharacter): Deleted.
* platform/graphics/WidthIterator.h:
(WebCore::WidthIterator::lastGlyphName): Deleted.
(WebCore::WidthIterator::setLastGlyphName): Deleted.
(WebCore::WidthIterator::arabicForms): Deleted.
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::CairoGlyphToPathTranslator::advance):
(WebCore::FontCascade::dashesForIntersectionsWithRect):
(WebCore::CairoGlyphToPathTranslator::moveToNextValidGlyph): Deleted.
* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::MacGlyphToPathTranslator::advance):
(WebCore::FontCascade::dashesForIntersectionsWithRect):
(WebCore::FontCascade::primaryFontIsSystemFont):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
(WebCore::MacGlyphToPathTranslator::moveToNextValidGlyph): Deleted.
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Deleted.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::isNeeded):
(WebCore::TextLayout::TextLayout):
(WebCore::TextLayout::constructTextRun):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::selectionRect):
(WebCore::EllipsisBox::paintSelection):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
(WebCore::InlineTextBox::constructTextRun):
* rendering/InlineTextBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::stripTrailingSpace):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::checkLinesForTextOverflow):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
(WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::setImageSizeForAltText):
(WebCore::RenderImage::paintReplaced):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::getRelativeMarkerRect):
* rendering/RenderMenuList.cpp:
(RenderMenuList::updateOptionsWidth):
* rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::trimmedPrefWidths):
(WebCore::hyphenWidth):
(WebCore::maxWordFragmentWidth):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::width):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::getAverageCharWidth):
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeMeasureTextClient::RenderThemeMeasureTextClient):
(WebCore::adjustInputElementButtonStyle):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForFontAndText): Deleted.
* rendering/line/BreakingContext.h:
(WebCore::WordTrailingSpace::WordTrailingSpace):
(WebCore::WordTrailingSpace::width):
(WebCore::measureHyphenWidth):
(WebCore::textWidth):
(WebCore::tryHyphenating):
(WebCore::BreakingContext::handleText):
* rendering/svg/RenderSVGAllInOne.cpp:
* rendering/svg/RenderSVGText.cpp:
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):
(WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::constructTextRun): Deleted.
* rendering/svg/SVGInlineTextBox.h:
* rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
* rendering/svg/SVGTextLayoutEngineSpacing.cpp:
(WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning): Deleted.
* rendering/svg/SVGTextLayoutEngineSpacing.h:
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::SVGTextMetrics):
(WebCore::SVGTextMetrics::constructTextRun): Deleted.
* rendering/svg/SVGTextMetrics.h:
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::advanceSimpleText):
* rendering/svg/SVGTextRunRenderingContext.cpp: Removed.
(WebCore::svgFontAndFontFaceElementForFontData): Deleted.
(WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Deleted.
(WebCore::SVGTextRunRenderingContext::applySVGKerning): Deleted.
(WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator): Deleted.
(WebCore::SVGGlyphToPathTranslator::transform): Deleted.
(WebCore::SVGGlyphToPathTranslator::path): Deleted.
(WebCore::SVGGlyphToPathTranslator::extents): Deleted.
(WebCore::SVGGlyphToPathTranslator::moveToNextValidGlyph): Deleted.
(WebCore::SVGGlyphToPathTranslator::advance): Deleted.
(WebCore::SVGTextRunRenderingContext::createGlyphToPathTranslator): Deleted.
(WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Deleted.
(WebCore::missingGlyphForFont): Deleted.
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Deleted.
* rendering/svg/SVGTextRunRenderingContext.h: Removed.
* svg/SVGAllInOne.cpp:
* svg/SVGFontData.cpp: Removed.
(WebCore::SVGFontData::SVGFontData): Deleted.
(WebCore::SVGFontData::initializeFont): Deleted.
(WebCore::SVGFontData::widthForSVGGlyph): Deleted.
(WebCore::SVGFontData::applySVGGlyphSelection): Deleted.
(WebCore::SVGFontData::fillSVGGlyphPage): Deleted.
(WebCore::SVGFontData::fillBMPGlyphs): Deleted.
(WebCore::SVGFontData::fillNonBMPGlyphs): Deleted.
(WebCore::computeNormalizedSpaces): Deleted.
(WebCore::createStringWithMirroredCharacters): Deleted.
* svg/SVGFontData.h: Removed.
(WebCore::SVGFontData::~SVGFontData): Deleted.
(WebCore::SVGFontData::svgFontFaceElement): Deleted.
(WebCore::SVGFontData::horizontalOriginX): Deleted.
(WebCore::SVGFontData::horizontalOriginY): Deleted.
(WebCore::SVGFontData::horizontalAdvanceX): Deleted.
(WebCore::SVGFontData::verticalOriginX): Deleted.
(WebCore::SVGFontData::verticalOriginY): Deleted.
(WebCore::SVGFontData::verticalAdvanceY): Deleted.
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::SVGFontElement): Deleted.
(WebCore::SVGFontElement::invalidateGlyphCache): Deleted.
(WebCore::SVGFontElement::firstMissingGlyphElement): Deleted.
(WebCore::SVGFontElement::registerLigaturesInGlyphCache): Deleted.
(WebCore::SVGFontElement::ensureGlyphCache): Deleted.
(WebCore::SVGKerningMap::clear): Deleted.
(WebCore::SVGKerningMap::insert): Deleted.
(WebCore::stringMatchesUnicodeRange): Deleted.
(WebCore::stringMatchesGlyphName): Deleted.
(WebCore::stringMatchesUnicodeName): Deleted.
(WebCore::matches): Deleted.
(WebCore::kerningForPairOfStringsAndGlyphs): Deleted.
(WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs): Deleted.
(WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs): Deleted.
(WebCore::SVGFontElement::collectGlyphsForString): Deleted.
(WebCore::SVGFontElement::collectGlyphsForGlyphName): Deleted.
(WebCore::SVGFontElement::svgGlyphForGlyph): Deleted.
(WebCore::SVGFontElement::missingGlyph): Deleted.
* svg/SVGFontElement.h:
(WebCore::SVGKerning::SVGKerning): Deleted.
(WebCore::SVGKerningMap::isEmpty): Deleted.
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::invalidateGlyphCache): Deleted.
(WebCore::SVGGlyphElement::parseAttribute): Deleted.
(WebCore::SVGGlyphElement::insertedInto): Deleted.
(WebCore::SVGGlyphElement::removedFrom): Deleted.
(WebCore::parseArabicForm): Deleted.
(WebCore::parseOrientation): Deleted.
(WebCore::SVGGlyphElement::inheritUnspecifiedAttributes): Deleted.
(WebCore::parseSVGGlyphAttribute): Deleted.
(WebCore::SVGGlyphElement::buildGenericGlyphIdentifier): Deleted.
(WebCore::SVGGlyphElement::buildGlyphIdentifier): Deleted.
* svg/SVGGlyphElement.h:
* svg/SVGGlyphMap.h: Removed.
(WebCore::GlyphMapNode::GlyphMapNode): Deleted.
(WebCore::GlyphMapNode::create): Deleted.
(WebCore::SVGGlyphMap::SVGGlyphMap): Deleted.
(WebCore::SVGGlyphMap::addGlyph): Deleted.
(WebCore::SVGGlyphMap::appendToGlyphTable): Deleted.
(WebCore::SVGGlyphMap::compareGlyphPriority): Deleted.
(WebCore::SVGGlyphMap::collectGlyphsForString): Deleted.
(WebCore::SVGGlyphMap::clear): Deleted.
(WebCore::SVGGlyphMap::svgGlyphForGlyph): Deleted.
(WebCore::SVGGlyphMap::glyphIdentifierForGlyphName): Deleted.
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedInto): Deleted.
(WebCore::SVGHKernElement::removedFrom): Deleted.
* svg/SVGHKernElement.h:
* svg/SVGToOTFFontConversion.cpp:
* svg/SVGToOTFFontConversion.h:
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedInto): Deleted.
(WebCore::SVGVKernElement::removedFrom): Deleted.
* svg/SVGVKernElement.h:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig">trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreConfigurationsFeatureDefinesxcconfig">trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebCoreWebCoreorder">trunk/Source/WebCore/WebCore.order</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontFaceSourcecpp">trunk/Source/WebCore/css/CSSFontFaceSource.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontFaceSourceh">trunk/Source/WebCore/css/CSSFontFaceSource.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedFontcpp">trunk/Source/WebCore/loader/cache/CachedFont.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGFontcpp">trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGFonth">trunk/Source/WebCore/loader/cache/CachedSVGFont.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontcpp">trunk/Source/WebCore/platform/graphics/Font.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFonth">trunk/Source/WebCore/platform/graphics/Font.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontCascadecpp">trunk/Source/WebCore/platform/graphics/FontCascade.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontCascadeh">trunk/Source/WebCore/platform/graphics/FontCascade.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsContexth">trunk/Source/WebCore/platform/graphics/GraphicsContext.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsTextRuncpp">trunk/Source/WebCore/platform/graphics/TextRun.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsTextRunh">trunk/Source/WebCore/platform/graphics/TextRun.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsWidthIteratorcpp">trunk/Source/WebCore/platform/graphics/WidthIterator.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsWidthIteratorh">trunk/Source/WebCore/platform/graphics/WidthIterator.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscairoFontCairocpp">trunk/Source/WebCore/platform/graphics/cairo/FontCairo.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaFontCascadeCocoamm">trunk/Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsharfbuzzHarfBuzzShapercpp">trunk/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaper.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacComplexTextControllercpp">trunk/Source/WebCore/platform/graphics/mac/ComplexTextController.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinFontWincpp">trunk/Source/WebCore/platform/graphics/win/FontWin.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingEllipsisBoxcpp">trunk/Source/WebCore/rendering/EllipsisBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineTextBoxcpp">trunk/Source/WebCore/rendering/InlineTextBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineTextBoxh">trunk/Source/WebCore/rendering/InlineTextBox.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockcpp">trunk/Source/WebCore/rendering/RenderBlock.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockh">trunk/Source/WebCore/rendering/RenderBlock.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockFlowcpp">trunk/Source/WebCore/rendering/RenderBlockFlow.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockLineLayoutcpp">trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderDeprecatedFlexibleBoxcpp">trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFileUploadControlcpp">trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderImagecpp">trunk/Source/WebCore/rendering/RenderImage.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderListBoxcpp">trunk/Source/WebCore/rendering/RenderListBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderListMarkercpp">trunk/Source/WebCore/rendering/RenderListMarker.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMenuListcpp">trunk/Source/WebCore/rendering/RenderMenuList.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextcpp">trunk/Source/WebCore/rendering/RenderText.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextControlcpp">trunk/Source/WebCore/rendering/RenderTextControl.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeIOSmm">trunk/Source/WebCore/rendering/RenderThemeIOS.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingSimpleLineLayoutcpp">trunk/Source/WebCore/rendering/SimpleLineLayout.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderinglineBreakingContexth">trunk/Source/WebCore/rendering/line/BreakingContext.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGAllInOnecpp">trunk/Source/WebCore/rendering/svg/RenderSVGAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGTextcpp">trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGInlineTextBoxcpp">trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGInlineTextBoxh">trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGTextLayoutEnginecpp">trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGTextLayoutEngineSpacingcpp">trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGTextLayoutEngineSpacingh">trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGTextMetricscpp">trunk/Source/WebCore/rendering/svg/SVGTextMetrics.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGTextMetricsh">trunk/Source/WebCore/rendering/svg/SVGTextMetrics.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGTextMetricsBuildercpp">trunk/Source/WebCore/rendering/svg/SVGTextMetricsBuilder.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAllInOnecpp">trunk/Source/WebCore/svg/SVGAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontElementcpp">trunk/Source/WebCore/svg/SVGFontElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontElementh">trunk/Source/WebCore/svg/SVGFontElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGlyphElementcpp">trunk/Source/WebCore/svg/SVGGlyphElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGlyphElementh">trunk/Source/WebCore/svg/SVGGlyphElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGHKernElementcpp">trunk/Source/WebCore/svg/SVGHKernElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGHKernElementh">trunk/Source/WebCore/svg/SVGHKernElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGToOTFFontConversioncpp">trunk/Source/WebCore/svg/SVGToOTFFontConversion.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGToOTFFontConversionh">trunk/Source/WebCore/svg/SVGToOTFFontConversion.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGVKernElementcpp">trunk/Source/WebCore/svg/SVGVKernElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGVKernElementh">trunk/Source/WebCore/svg/SVGVKernElement.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacConfigurationsFeatureDefinesxcconfig">trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2ConfigurationsFeatureDefinesxcconfig">trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourcecmakeOptionsEflcmake">trunk/Source/cmake/OptionsEfl.cmake</a></li>
<li><a href="#trunkSourcecmakeOptionsWincmake">trunk/Source/cmake/OptionsWin.cmake</a></li>
<li><a href="#trunkSourcecmakeWebKitFeaturescmake">trunk/Source/cmake/WebKitFeatures.cmake</a></li>
<li><a href="#trunkSourcecmaketoolsvspropsFeatureDefinesprops">trunk/Source/cmake/tools/vsprops/FeatureDefines.props</a></li>
<li><a href="#trunkSourcecmaketoolsvspropsFeatureDefinesCairoprops">trunk/Source/cmake/tools/vsprops/FeatureDefinesCairo.props</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformgraphicsSVGGlyphcpp">trunk/Source/WebCore/platform/graphics/SVGGlyph.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsSVGGlyphh">trunk/Source/WebCore/platform/graphics/SVGGlyph.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGTextRunRenderingContextcpp">trunk/Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGTextRunRenderingContexth">trunk/Source/WebCore/rendering/svg/SVGTextRunRenderingContext.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontDatacpp">trunk/Source/WebCore/svg/SVGFontData.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontDatah">trunk/Source/WebCore/svg/SVGFontData.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGlyphMaph">trunk/Source/WebCore/svg/SVGGlyphMap.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/ChangeLog        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2016-03-12  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Delete dead SVG Font code
+        https://bugs.webkit.org/show_bug.cgi?id=154718
+
+        Reviewed by Antti Koivisto.
+
+        * Source/cmake/OptionsEfl.cmake:
+        * Source/cmake/OptionsWin.cmake:
+        * Source/cmake/WebKitFeatures.cmake:
+        * Source/cmake/tools/vsprops/FeatureDefines.props:
+        * Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
+
</ins><span class="cx"> 2016-03-12  Jeremy Huddleston Sequoia  &lt;jeremyhu@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GTK][Mac] Don't force ENABLE_INTROSPECTION=OFF on Mac
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-03-12  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Delete dead SVG Font code
+        https://bugs.webkit.org/show_bug.cgi?id=154718
+
+        Reviewed by Antti Koivisto.
+
+        * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2016-03-11  Benjamin Poulain  &lt;bpoulain@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [JSC] Remove a few jumps from DFG
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -151,7 +151,6 @@
</span><span class="cx"> ENABLE_STREAMS_API = ENABLE_STREAMS_API;
</span><span class="cx"> ENABLE_SUBTLE_CRYPTO = ENABLE_SUBTLE_CRYPTO;
</span><span class="cx"> ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
</span><del>-ENABLE_SVG_OTF_CONVERTER = ENABLE_SVG_OTF_CONVERTER;
</del><span class="cx"> 
</span><span class="cx"> ENABLE_TELEPHONE_NUMBER_DETECTION = ENABLE_TELEPHONE_NUMBER_DETECTION;
</span><span class="cx"> 
</span><span class="lines">@@ -197,4 +196,4 @@
</span><span class="cx"> ENABLE_SEPARATED_WX_HEAP[sdk=iphone*] = ENABLE_SEPARATED_WX_HEAP;
</span><span class="cx"> ENABLE_SEPARATED_WX_HEAP[sdk=macosx*] = ;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_GENERATORS) $(ENABLE_ES6_MODULES) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(E
 NABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE
 _EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK)
  $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SHADOW_DOM) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_SEPARATED_WX_HEAP);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_GENERATORS) $(ENABLE_ES6_MODULES) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(EN
 ABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_
 EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(EN
 ABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SHADOW_DOM) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_SEPARATED_WX_HEAP);
</ins></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -2234,7 +2234,6 @@
</span><span class="cx">     platform/graphics/PlatformTimeRanges.cpp
</span><span class="cx">     platform/graphics/Region.cpp
</span><span class="cx">     platform/graphics/RoundedRect.cpp
</span><del>-    platform/graphics/SVGGlyph.cpp
</del><span class="cx">     platform/graphics/ShadowBlur.cpp
</span><span class="cx">     platform/graphics/StringTruncator.cpp
</span><span class="cx">     platform/graphics/SurrogatePairAwareTextIterator.cpp
</span><span class="lines">@@ -2619,7 +2618,6 @@
</span><span class="cx">     rendering/svg/SVGTextMetrics.cpp
</span><span class="cx">     rendering/svg/SVGTextMetricsBuilder.cpp
</span><span class="cx">     rendering/svg/SVGTextQuery.cpp
</span><del>-    rendering/svg/SVGTextRunRenderingContext.cpp
</del><span class="cx"> 
</span><span class="cx">     replay/UserInputBridge.cpp
</span><span class="cx"> 
</span><span class="lines">@@ -2713,7 +2711,6 @@
</span><span class="cx">     svg/SVGFilterElement.cpp
</span><span class="cx">     svg/SVGFilterPrimitiveStandardAttributes.cpp
</span><span class="cx">     svg/SVGFitToViewBox.cpp
</span><del>-    svg/SVGFontData.cpp
</del><span class="cx">     svg/SVGFontElement.cpp
</span><span class="cx">     svg/SVGFontFaceElement.cpp
</span><span class="cx">     svg/SVGFontFaceFormatElement.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/ChangeLog        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,5 +1,264 @@
</span><span class="cx"> 2016-03-12  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Delete dead SVG Font code
+        https://bugs.webkit.org/show_bug.cgi?id=154718
+
+        Reviewed by Antti Koivisto.
+
+        All the ports have adopted the SVG -&gt; OTF Font Converter, so there will never
+        be an instantiation of a font backed by a DOM subtree. We can remove all the
+        infrastructure used to support that.
+
+        No new tests because there is no behavior change.
+
+        * CMakeLists.txt:
+        * Configurations/FeatureDefines.xcconfig:
+        * WebCore.order:
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/CSSFontFaceSource.cpp:
+        (WebCore::CSSFontFaceSource::CSSFontFaceSource): Deleted.
+        (WebCore::CSSFontFaceSource::font): Deleted.
+        * css/CSSFontFaceSource.h:
+        * loader/cache/CachedFont.cpp:
+        * loader/cache/CachedSVGFont.cpp:
+        (WebCore::CachedSVGFont::createFont): Deleted.
+        (WebCore::CachedSVGFont::ensureCustomFontData): Deleted.
+        * loader/cache/CachedSVGFont.h:
+        * platform/graphics/Font.cpp:
+        (WebCore::Font::Font):
+        (WebCore::fillGlyphPage):
+        (WebCore::Font::description): Deleted.
+        (WebCore::Font::createScaledFont): Deleted.
+        (WebCore::Font::applyTransforms): Deleted.
+        * platform/graphics/Font.h:
+        (WebCore::Font::widthForGlyph):
+        (WebCore::Font::SVGData::~SVGData): Deleted.
+        (WebCore::Font::create): Deleted.
+        (WebCore::Font::svgData): Deleted.
+        (WebCore::Font::isSVGFont): Deleted.
+        * platform/graphics/win/FontWin.cpp:
+        * platform/graphics/FontCascade.cpp:
+        (WebCore::FontCascade::drawText):
+        (WebCore::FontCascade::drawEmphasisMarks):
+        (WebCore::FontCascade::glyphDataForCharacter):
+        (WebCore::FontCascade::adjustSelectionRectForText):
+        (WebCore::FontCascade::offsetForPosition):
+        (WebCore::FontCascade::drawEmphasisMarksForSimpleText):
+        (WebCore::FontCascade::drawGlyphBuffer):
+        (WebCore::isDrawnWithSVGFont): Deleted.
+        (WebCore::FontCascade::width): Deleted.
+        (WebCore::FontCascade::codePath): Deleted.
+        * platform/graphics/FontCascade.h:
+        * platform/graphics/GraphicsContext.h:
+        * platform/graphics/SVGGlyph.cpp: Removed.
+        (WebCore::processArabicFormDetection): Deleted.
+        (WebCore::charactersWithArabicForm): Deleted.
+        (WebCore::isCompatibleArabicForm): Deleted.
+        (WebCore::isCompatibleGlyph): Deleted.
+        * platform/graphics/SVGGlyph.h: Removed.
+        (WebCore::SVGGlyph::SVGGlyph): Deleted.
+        (WebCore::SVGGlyph::inheritedValue): Deleted.
+        (WebCore::SVGGlyph::operator==): Deleted.
+        * platform/graphics/TextRun.cpp:
+        * platform/graphics/TextRun.h:
+        (WebCore::TextRun::RenderingContext::~RenderingContext): Deleted.
+        (WebCore::TextRun::renderingContext): Deleted.
+        (WebCore::TextRun::setRenderingContext): Deleted.
+        * platform/graphics/WidthIterator.cpp:
+        (WebCore::WidthIterator::applyFontTransforms):
+        (WebCore::WidthIterator::advanceInternal):
+        (WebCore::WidthIterator::glyphDataForCharacter): Deleted.
+        * platform/graphics/WidthIterator.h:
+        (WebCore::WidthIterator::lastGlyphName): Deleted.
+        (WebCore::WidthIterator::setLastGlyphName): Deleted.
+        (WebCore::WidthIterator::arabicForms): Deleted.
+        * platform/graphics/cairo/FontCairo.cpp:
+        (WebCore::CairoGlyphToPathTranslator::advance):
+        (WebCore::FontCascade::dashesForIntersectionsWithRect):
+        (WebCore::CairoGlyphToPathTranslator::moveToNextValidGlyph): Deleted.
+        * platform/graphics/cocoa/FontCascadeCocoa.mm:
+        (WebCore::MacGlyphToPathTranslator::advance):
+        (WebCore::FontCascade::dashesForIntersectionsWithRect):
+        (WebCore::FontCascade::primaryFontIsSystemFont):
+        (WebCore::FontCascade::drawEmphasisMarksForComplexText):
+        (WebCore::MacGlyphToPathTranslator::moveToNextValidGlyph): Deleted.
+        * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
+        (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Deleted.
+        * platform/graphics/mac/ComplexTextController.cpp:
+        (WebCore::TextLayout::isNeeded):
+        (WebCore::TextLayout::TextLayout):
+        (WebCore::TextLayout::constructTextRun):
+        * rendering/EllipsisBox.cpp:
+        (WebCore::EllipsisBox::paint):
+        (WebCore::EllipsisBox::selectionRect):
+        (WebCore::EllipsisBox::paintSelection):
+        * rendering/InlineTextBox.cpp:
+        (WebCore::InlineTextBox::localSelectionRect):
+        (WebCore::InlineTextBox::paint):
+        (WebCore::InlineTextBox::paintSelection):
+        (WebCore::InlineTextBox::paintCompositionBackground):
+        (WebCore::InlineTextBox::paintDocumentMarker):
+        (WebCore::InlineTextBox::paintTextMatchMarker):
+        (WebCore::InlineTextBox::offsetForPosition):
+        (WebCore::InlineTextBox::positionForOffset):
+        (WebCore::InlineTextBox::constructTextRun):
+        * rendering/InlineTextBox.h:
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::constructTextRun):
+        * rendering/RenderBlock.h:
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::stripTrailingSpace):
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlockFlow::checkLinesForTextOverflow):
+        * rendering/RenderDeprecatedFlexibleBox.cpp:
+        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
+        * rendering/RenderFileUploadControl.cpp:
+        (WebCore::RenderFileUploadControl::paintObject):
+        (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
+        * rendering/RenderImage.cpp:
+        (WebCore::RenderImage::setImageSizeForAltText):
+        (WebCore::RenderImage::paintReplaced):
+        * rendering/RenderListBox.cpp:
+        (WebCore::RenderListBox::updateFromElement):
+        * rendering/RenderListMarker.cpp:
+        (WebCore::RenderListMarker::paint):
+        (WebCore::RenderListMarker::computePreferredLogicalWidths):
+        (WebCore::RenderListMarker::getRelativeMarkerRect):
+        * rendering/RenderMenuList.cpp:
+        (RenderMenuList::updateOptionsWidth):
+        * rendering/RenderText.cpp:
+        (WebCore::RenderText::widthFromCache):
+        (WebCore::RenderText::trimmedPrefWidths):
+        (WebCore::hyphenWidth):
+        (WebCore::maxWordFragmentWidth):
+        (WebCore::RenderText::computePreferredLogicalWidths):
+        (WebCore::RenderText::width):
+        * rendering/RenderTextControl.cpp:
+        (WebCore::RenderTextControl::getAverageCharWidth):
+        * rendering/RenderThemeIOS.mm:
+        (WebCore::RenderThemeMeasureTextClient::RenderThemeMeasureTextClient):
+        (WebCore::adjustInputElementButtonStyle):
+        * rendering/SimpleLineLayout.cpp:
+        (WebCore::SimpleLineLayout::canUseForFontAndText): Deleted.
+        * rendering/line/BreakingContext.h:
+        (WebCore::WordTrailingSpace::WordTrailingSpace):
+        (WebCore::WordTrailingSpace::width):
+        (WebCore::measureHyphenWidth):
+        (WebCore::textWidth):
+        (WebCore::tryHyphenating):
+        (WebCore::BreakingContext::handleText):
+        * rendering/svg/RenderSVGAllInOne.cpp:
+        * rendering/svg/RenderSVGText.cpp:
+        * rendering/svg/SVGInlineTextBox.cpp:
+        (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):
+        (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
+        (WebCore::SVGInlineTextBox::paintTextWithShadows):
+        (WebCore::SVGInlineTextBox::constructTextRun): Deleted.
+        * rendering/svg/SVGInlineTextBox.h:
+        * rendering/svg/SVGTextLayoutEngine.cpp:
+        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
+        * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
+        (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning): Deleted.
+        * rendering/svg/SVGTextLayoutEngineSpacing.h:
+        * rendering/svg/SVGTextMetrics.cpp:
+        (WebCore::SVGTextMetrics::SVGTextMetrics):
+        (WebCore::SVGTextMetrics::constructTextRun): Deleted.
+        * rendering/svg/SVGTextMetrics.h:
+        * rendering/svg/SVGTextMetricsBuilder.cpp:
+        (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
+        * rendering/svg/SVGTextRunRenderingContext.cpp: Removed.
+        (WebCore::svgFontAndFontFaceElementForFontData): Deleted.
+        (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Deleted.
+        (WebCore::SVGTextRunRenderingContext::applySVGKerning): Deleted.
+        (WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator): Deleted.
+        (WebCore::SVGGlyphToPathTranslator::transform): Deleted.
+        (WebCore::SVGGlyphToPathTranslator::path): Deleted.
+        (WebCore::SVGGlyphToPathTranslator::extents): Deleted.
+        (WebCore::SVGGlyphToPathTranslator::moveToNextValidGlyph): Deleted.
+        (WebCore::SVGGlyphToPathTranslator::advance): Deleted.
+        (WebCore::SVGTextRunRenderingContext::createGlyphToPathTranslator): Deleted.
+        (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Deleted.
+        (WebCore::missingGlyphForFont): Deleted.
+        (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Deleted.
+        * rendering/svg/SVGTextRunRenderingContext.h: Removed.
+        * svg/SVGAllInOne.cpp:
+        * svg/SVGFontData.cpp: Removed.
+        (WebCore::SVGFontData::SVGFontData): Deleted.
+        (WebCore::SVGFontData::initializeFont): Deleted.
+        (WebCore::SVGFontData::widthForSVGGlyph): Deleted.
+        (WebCore::SVGFontData::applySVGGlyphSelection): Deleted.
+        (WebCore::SVGFontData::fillSVGGlyphPage): Deleted.
+        (WebCore::SVGFontData::fillBMPGlyphs): Deleted.
+        (WebCore::SVGFontData::fillNonBMPGlyphs): Deleted.
+        (WebCore::computeNormalizedSpaces): Deleted.
+        (WebCore::createStringWithMirroredCharacters): Deleted.
+        * svg/SVGFontData.h: Removed.
+        (WebCore::SVGFontData::~SVGFontData): Deleted.
+        (WebCore::SVGFontData::svgFontFaceElement): Deleted.
+        (WebCore::SVGFontData::horizontalOriginX): Deleted.
+        (WebCore::SVGFontData::horizontalOriginY): Deleted.
+        (WebCore::SVGFontData::horizontalAdvanceX): Deleted.
+        (WebCore::SVGFontData::verticalOriginX): Deleted.
+        (WebCore::SVGFontData::verticalOriginY): Deleted.
+        (WebCore::SVGFontData::verticalAdvanceY): Deleted.
+        * svg/SVGFontElement.cpp:
+        (WebCore::SVGFontElement::SVGFontElement): Deleted.
+        (WebCore::SVGFontElement::invalidateGlyphCache): Deleted.
+        (WebCore::SVGFontElement::firstMissingGlyphElement): Deleted.
+        (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Deleted.
+        (WebCore::SVGFontElement::ensureGlyphCache): Deleted.
+        (WebCore::SVGKerningMap::clear): Deleted.
+        (WebCore::SVGKerningMap::insert): Deleted.
+        (WebCore::stringMatchesUnicodeRange): Deleted.
+        (WebCore::stringMatchesGlyphName): Deleted.
+        (WebCore::stringMatchesUnicodeName): Deleted.
+        (WebCore::matches): Deleted.
+        (WebCore::kerningForPairOfStringsAndGlyphs): Deleted.
+        (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs): Deleted.
+        (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs): Deleted.
+        (WebCore::SVGFontElement::collectGlyphsForString): Deleted.
+        (WebCore::SVGFontElement::collectGlyphsForGlyphName): Deleted.
+        (WebCore::SVGFontElement::svgGlyphForGlyph): Deleted.
+        (WebCore::SVGFontElement::missingGlyph): Deleted.
+        * svg/SVGFontElement.h:
+        (WebCore::SVGKerning::SVGKerning): Deleted.
+        (WebCore::SVGKerningMap::isEmpty): Deleted.
+        * svg/SVGGlyphElement.cpp:
+        (WebCore::SVGGlyphElement::invalidateGlyphCache): Deleted.
+        (WebCore::SVGGlyphElement::parseAttribute): Deleted.
+        (WebCore::SVGGlyphElement::insertedInto): Deleted.
+        (WebCore::SVGGlyphElement::removedFrom): Deleted.
+        (WebCore::parseArabicForm): Deleted.
+        (WebCore::parseOrientation): Deleted.
+        (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes): Deleted.
+        (WebCore::parseSVGGlyphAttribute): Deleted.
+        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier): Deleted.
+        (WebCore::SVGGlyphElement::buildGlyphIdentifier): Deleted.
+        * svg/SVGGlyphElement.h:
+        * svg/SVGGlyphMap.h: Removed.
+        (WebCore::GlyphMapNode::GlyphMapNode): Deleted.
+        (WebCore::GlyphMapNode::create): Deleted.
+        (WebCore::SVGGlyphMap::SVGGlyphMap): Deleted.
+        (WebCore::SVGGlyphMap::addGlyph): Deleted.
+        (WebCore::SVGGlyphMap::appendToGlyphTable): Deleted.
+        (WebCore::SVGGlyphMap::compareGlyphPriority): Deleted.
+        (WebCore::SVGGlyphMap::collectGlyphsForString): Deleted.
+        (WebCore::SVGGlyphMap::clear): Deleted.
+        (WebCore::SVGGlyphMap::svgGlyphForGlyph): Deleted.
+        (WebCore::SVGGlyphMap::glyphIdentifierForGlyphName): Deleted.
+        * svg/SVGHKernElement.cpp:
+        (WebCore::SVGHKernElement::insertedInto): Deleted.
+        (WebCore::SVGHKernElement::removedFrom): Deleted.
+        * svg/SVGHKernElement.h:
+        * svg/SVGToOTFFontConversion.cpp:
+        * svg/SVGToOTFFontConversion.h:
+        * svg/SVGVKernElement.cpp:
+        (WebCore::SVGVKernElement::insertedInto): Deleted.
+        (WebCore::SVGVKernElement::removedFrom): Deleted.
+        * svg/SVGVKernElement.h:
+
+2016-03-12  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
</ins><span class="cx">         [OS X] Scrollbars of overflow:scroll divs should appear on the left on RTL systems
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=155385
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -151,7 +151,6 @@
</span><span class="cx"> ENABLE_STREAMS_API = ENABLE_STREAMS_API;
</span><span class="cx"> ENABLE_SUBTLE_CRYPTO = ENABLE_SUBTLE_CRYPTO;
</span><span class="cx"> ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
</span><del>-ENABLE_SVG_OTF_CONVERTER = ENABLE_SVG_OTF_CONVERTER;
</del><span class="cx"> 
</span><span class="cx"> ENABLE_TELEPHONE_NUMBER_DETECTION = ENABLE_TELEPHONE_NUMBER_DETECTION;
</span><span class="cx"> 
</span><span class="lines">@@ -197,4 +196,4 @@
</span><span class="cx"> ENABLE_SEPARATED_WX_HEAP[sdk=iphone*] = ENABLE_SEPARATED_WX_HEAP;
</span><span class="cx"> ENABLE_SEPARATED_WX_HEAP[sdk=macosx*] = ;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_GENERATORS) $(ENABLE_ES6_MODULES) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(E
 NABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE
 _EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK)
  $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SHADOW_DOM) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_SEPARATED_WX_HEAP);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_GENERATORS) $(ENABLE_ES6_MODULES) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(EN
 ABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_
 EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(EN
 ABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SHADOW_DOM) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_SEPARATED_WX_HEAP);
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCoreorder"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.order (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.order        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/WebCore.order        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -18220,7 +18220,6 @@
</span><span class="cx"> __ZN7WebCore9DOMWindow18canShowModalDialogEPKNS_5FrameE
</span><span class="cx"> __ZNK7WebCore6Chrome11canRunModalEv
</span><span class="cx"> __ZN7WebCore31jsXMLHttpRequestWithCredentialsEPN3JSC9ExecStateENS0_7JSValueENS0_12PropertyNameE
</span><del>-__ZN7WebCore10CachedFont17ensureSVGFontDataEv
</del><span class="cx"> __ZN7WebCore8Document16setXMLStandaloneEbRi
</span><span class="cx"> __ZN7WebCoreL19metadataConstructorERKNS_13QualifiedNameEPNS_8DocumentEb
</span><span class="cx"> __ZN7WebCore18SVGMetadataElement6createERKNS_13QualifiedNameEPNS_8DocumentE
</span><span class="lines">@@ -18262,7 +18261,6 @@
</span><span class="cx"> __ZN7WebCore10JSLocation19getOwnPropertyNamesEPN3JSC8JSObjectEPNS1_9ExecStateERNS1_17PropertyNameArrayENS1_15EnumerationModeE
</span><span class="cx"> __ZN3JSC18getStaticValueSlotIN7WebCore15JSDOMStringListENS1_12JSDOMWrapperEEEbPNS_9ExecStateEPKNS_9HashTableEPT_NS_12PropertyNameERNS_12PropertySlotE
</span><span class="cx"> __ZN7WebCore24JSDOMStringListPrototype18getOwnPropertySlotEPN3JSC6JSCellEPNS1_9ExecStateENS1_12PropertyNameERNS1_12PropertySlotE
</span><del>-__ZN7WebCore11SVGFontDataC1EPNS_18SVGFontFaceElementE
</del><span class="cx"> __ZNK7WebCore18SVGFontFaceElement17horizontalOriginXEv
</span><span class="cx"> __ZNK7WebCore18SVGFontFaceElement17horizontalOriginYEv
</span><span class="cx"> __ZNK7WebCore18SVGFontFaceElement18horizontalAdvanceXEv
</span><span class="lines">@@ -18271,19 +18269,16 @@
</span><span class="cx"> __ZNK7WebCore18SVGFontFaceElement6ascentEv
</span><span class="cx"> __ZNK7WebCore18SVGFontFaceElement16verticalAdvanceYEv
</span><span class="cx"> __ZN7WebCore14SimpleFontDataC1EN3WTF10PassOwnPtrINS0_18AdditionalFontDataEEEfbb
</span><del>-__ZN7WebCore11SVGFontData18initializeFontDataEPNS_14SimpleFontDataEf
</del><span class="cx"> __ZNK7WebCore18SVGFontFaceElement21associatedFontElementEv
</span><span class="cx"> __ZN7WebCore14SVGFontElement12missingGlyphEv
</span><span class="cx"> __ZN7WebCore14SVGFontElement16ensureGlyphCacheEv
</span><span class="cx"> __ZNK7WebCore15SVGGlyphElement20buildGlyphIdentifierEv
</span><span class="cx"> __ZN7WebCore15SVGGlyphElement27buildGenericGlyphIdentifierEPKNS_10SVGElementE
</span><span class="cx"> __ZN7WebCore19buildPathFromStringERKN3WTF6StringERNS_4PathE
</span><del>-__ZN7WebCore11SVGGlyphMap8addGlyphERKN3WTF6StringES4_NS_8SVGGlyphE
</del><span class="cx"> __ZN3WTF6VectorIN7WebCore8SVGGlyphELm0ENS_15CrashOnOverflowEE14appendSlowCaseIS2_EEvRKT_
</span><span class="cx"> __ZN3WTF6VectorIN7WebCore8SVGGlyphELm0ENS_15CrashOnOverflowEE14expandCapacityEmPKS2_
</span><span class="cx"> __ZN3WTF6VectorIN7WebCore8SVGGlyphELm0ENS_15CrashOnOverflowEE15reserveCapacityEm
</span><span class="cx"> __ZN3WTF20VectorTypeOperationsIN7WebCore8SVGGlyphEE4moveEPKS2_S5_PS2_
</span><del>-__ZN7WebCore11SVGGlyphMap18appendToGlyphTableERNS_8SVGGlyphE
</del><span class="cx"> __ZN7WebCore13SVGPathParser28parseCurveToQuadraticSegmentEv
</span><span class="cx"> __ZN7WebCore19SVGPathStringSource28parseCurveToQuadraticSegmentERNS_10FloatPointES2_
</span><span class="cx"> __ZN3WTF6VectorIN7WebCore8SVGGlyphELm256ENS_15CrashOnOverflowEE14appendSlowCaseIS2_EEvRKT_
</span><span class="lines">@@ -18292,25 +18287,15 @@
</span><span class="cx"> __ZNK7WebCore18SVGFontFaceElement10unitsPerEmEv
</span><span class="cx"> __ZNK7WebCore18SVGFontFaceElement7xHeightEv
</span><span class="cx"> __ZNK7WebCore18SVGFontFaceElement7descentEv
</span><del>-__ZNK7WebCore11SVGFontData16fillSVGGlyphPageEPNS_9GlyphPageEjjPtjPKNS_14SimpleFontDataE
-__ZNK7WebCore11SVGFontData13fillBMPGlyphsEPNS_14SVGFontElementEPNS_9GlyphPageEjjPtPKNS_14SimpleFontDataE
</del><span class="cx"> __ZN7WebCore14SVGFontElement22collectGlyphsForStringERKN3WTF6StringERNS1_6VectorINS_8SVGGlyphELm0ENS1_15CrashOnOverflowEEE
</span><del>-__ZN7WebCore11SVGGlyphMap22collectGlyphsForStringERKN3WTF6StringERNS1_6VectorINS_8SVGGlyphELm0ENS1_15CrashOnOverflowEEE
</del><span class="cx"> __ZNSt3__16__sortIRPFbRKN7WebCore8SVGGlyphES4_EPS2_EEvT0_S9_T_
</span><span class="cx"> __ZN3WTF6VectorIN7WebCore8SVGGlyphELm0ENS_15CrashOnOverflowEE6appendIS2_EEvPKT_m
</span><span class="cx"> __ZN3WTF6VectorIN7WebCore8SVGGlyphELm0ENS_15CrashOnOverflowEE14shrinkCapacityEm
</span><span class="cx"> __ZN3WTF6VectorIN7WebCore8SVGGlyphELm0ENS_15CrashOnOverflowEED1Ev
</span><del>-__ZNK7WebCore11SVGFontData16widthForSVGGlyphEtf
</del><span class="cx"> __ZN7WebCore14SVGFontElement16svgGlyphForGlyphEt
</span><del>-__ZNK7WebCore11SVGGlyphMap16svgGlyphForGlyphEt
-__ZN7WebCore15SVGGlyphElement28inheritUnspecifiedAttributesERNS_8SVGGlyphEPKNS_11SVGFontDataE
-__ZN7WebCore26SVGTextRunRenderingContext21glyphDataForCharacterERKNS_4FontERKNS_7TextRunERNS_13WidthIteratorEibiRj
-__ZNK7WebCore11SVGFontData22applySVGGlyphSelectionERNS_13WidthIteratorERNS_9GlyphDataEbiRj
</del><span class="cx"> __ZN7WebCore4Font15normalizeSpacesEPKtj
</span><span class="cx"> __ZN7WebCore24charactersWithArabicFormERKN3WTF6StringEb
</span><span class="cx"> __ZN7WebCore17isCompatibleGlyphERKNS_8SVGGlyphEbRKN3WTF6StringERKNS3_6VectorINS0_10ArabicFormELm0ENS3_15CrashOnOverflowEEEjj
</span><del>-__ZN7WebCore26SVGTextRunRenderingContextD0Ev
-__ZNK7WebCore26SVGTextRunRenderingContext13drawSVGGlyphsEPNS_15GraphicsContextERKNS_7TextRunEPKNS_14SimpleFontDataERKNS_11GlyphBufferEiiRKNS_10FloatPointE
</del><span class="cx"> __ZNK7WebCore11RenderLayer36convertFromContainingViewToScrollbarEPKNS_9ScrollbarERKNS_8IntPointE
</span><span class="cx"> __ZN7WebCore34jsDOMWindowFloat32ArrayConstructorEPN3JSC9ExecStateENS0_7JSValueENS0_12PropertyNameE
</span><span class="cx"> __ZN7WebCore14JSFloat32Array14getConstructorEPN3JSC9ExecStateEPNS1_14JSGlobalObjectE
</span><span class="lines">@@ -23452,7 +23437,6 @@
</span><span class="cx"> __ZTVN7WebCore16SVGInlineFlowBoxE
</span><span class="cx"> __ZTVN7WebCore16SVGRootInlineBoxE
</span><span class="cx"> __ZTVN7WebCore32RenderSVGResourceFilterPrimitiveE
</span><del>-__ZTVN7WebCore26SVGTextRunRenderingContextE
</del><span class="cx"> __ZTVN7WebCore11RenderTableE
</span><span class="cx"> __ZTVN7WebCore18RenderTableCaptionE
</span><span class="cx"> __ZTVN7WebCore15RenderTableCellE
</span><span class="lines">@@ -23635,7 +23619,6 @@
</span><span class="cx"> __ZTVN7WebCore9SVGFilterE
</span><span class="cx"> __ZTVN7WebCore16SVGFilterElementE
</span><span class="cx"> __ZTVN7WebCore36SVGFilterPrimitiveStandardAttributesE
</span><del>-__ZTVN7WebCore11SVGFontDataE
</del><span class="cx"> __ZTVN7WebCore18SVGFontFaceElementE
</span><span class="cx"> __ZTVN7WebCore24SVGFontFaceFormatElementE
</span><span class="cx"> __ZTVN7WebCore21SVGFontFaceSrcElementE
</span><span class="lines">@@ -26294,8 +26277,6 @@
</span><span class="cx"> __ZTVN7WebCore17SVGFEFuncBElementE
</span><span class="cx"> __ZTVN7WebCore17SVGFEFuncGElementE
</span><span class="cx"> __ZTVN7WebCore17SVGFEFuncRElementE
</span><del>-__ZZNK7WebCore11SVGGlyphMap16svgGlyphForGlyphEtE12defaultGlyph
-__ZGVZNK7WebCore11SVGGlyphMap16svgGlyphForGlyphEtE12defaultGlyph
</del><span class="cx"> __ZTVN7WebCore14SVGFontElementE
</span><span class="cx"> __ZTVN7WebCore22SVGFontFaceNameElementE
</span><span class="cx"> __ZTVN7WebCore28SVGExternalResourcesRequiredE
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -374,7 +374,6 @@
</span><span class="cx">                 085A15931289A8DD002710E3 /* SVGAnimatedTransformListPropertyTearOff.h in Headers */ = {isa = PBXBuildFile; fileRef = 085A15921289A8DD002710E3 /* SVGAnimatedTransformListPropertyTearOff.h */; };
</span><span class="cx">                 085B92BA0EFDE73D00E6123C /* FormDataBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 085B92B80EFDE73D00E6123C /* FormDataBuilder.cpp */; };
</span><span class="cx">                 085B92BB0EFDE73D00E6123C /* FormDataBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 085B92B90EFDE73D00E6123C /* FormDataBuilder.h */; settings = {ATTRIBUTES = (); }; };
</span><del>-                085CD275138BB8E000907F2D /* SVGTextRunRenderingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 085CD274138BB8E000907F2D /* SVGTextRunRenderingContext.h */; };
</del><span class="cx">                 0863951613B5FE5700BB344D /* SVGAnimatedPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 0863951413B5FE5700BB344D /* SVGAnimatedPath.h */; };
</span><span class="cx">                 08641D4712142F7D008DE9F6 /* RenderImageResourceStyleImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08641D4512142F7D008DE9F6 /* RenderImageResourceStyleImage.cpp */; };
</span><span class="cx">                 08641D4812142F7D008DE9F6 /* RenderImageResourceStyleImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 08641D4612142F7D008DE9F6 /* RenderImageResourceStyleImage.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -383,8 +382,6 @@
</span><span class="cx">                 087558C513B4A57D00F49307 /* SurrogatePairAwareTextIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 087558C313B4A57D00F49307 /* SurrogatePairAwareTextIterator.cpp */; };
</span><span class="cx">                 087558C613B4A57D00F49307 /* SurrogatePairAwareTextIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = 087558C413B4A57D00F49307 /* SurrogatePairAwareTextIterator.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 087B84961272CEC800A14417 /* SVGAnimatedAngle.h in Headers */ = {isa = PBXBuildFile; fileRef = 087B84951272CEC700A14417 /* SVGAnimatedAngle.h */; };
</span><del>-                087E0AF613606D0B00FA4BA8 /* SVGGlyph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 087E0AF413606D0B00FA4BA8 /* SVGGlyph.cpp */; };
-                087E0AF713606D0B00FA4BA8 /* SVGGlyph.h in Headers */ = {isa = PBXBuildFile; fileRef = 087E0AF513606D0B00FA4BA8 /* SVGGlyph.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 0880F70E1282B46D00948505 /* SVGStaticListPropertyTearOff.h in Headers */ = {isa = PBXBuildFile; fileRef = 0880F70D1282B46D00948505 /* SVGStaticListPropertyTearOff.h */; };
</span><span class="cx">                 0885067F11DA045B00182B98 /* PaintInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0885067D11DA045B00182B98 /* PaintInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 0885068011DA045B00182B98 /* PaintPhase.h in Headers */ = {isa = PBXBuildFile; fileRef = 0885067E11DA045B00182B98 /* PaintPhase.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -1434,7 +1431,6 @@
</span><span class="cx">                 372ADA3B197F687600FC501E /* ProtectionSpaceCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 372ADA39197F687600FC501E /* ProtectionSpaceCocoa.mm */; };
</span><span class="cx">                 372C00C4129611F1005C9575 /* TextBoundaries.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 372C00C3129611F1005C9575 /* TextBoundaries.cpp */; };
</span><span class="cx">                 372C00D9129619F8005C9575 /* FindOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 372C00D8129619F8005C9575 /* FindOptions.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                3744570F0DB05FA500AE0992 /* SVGGlyphMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3744570E0DB05FA500AE0992 /* SVGGlyphMap.h */; };
</del><span class="cx">                 375CD232119D43C800A2A859 /* Hyphenation.h in Headers */ = {isa = PBXBuildFile; fileRef = 375CD231119D43C800A2A859 /* Hyphenation.h */; };
</span><span class="cx">                 376DCCE113B4F966002EBEFC /* TextRun.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 376DCCE013B4F966002EBEFC /* TextRun.cpp */; };
</span><span class="cx">                 3774ABA50FA21EB400AD7DE9 /* OverlapTestRequestClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 3774ABA30FA21EB400AD7DE9 /* OverlapTestRequestClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -4988,8 +4984,6 @@
</span><span class="cx">                 B22362290C3AF04A0008CA9B /* JSSVGTextPathElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B22362270C3AF04A0008CA9B /* JSSVGTextPathElement.h */; };
</span><span class="cx">                 B23540F20D00782E002382FA /* StringTruncator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B23540F00D00782E002382FA /* StringTruncator.cpp */; };
</span><span class="cx">                 B23540F30D00782E002382FA /* StringTruncator.h in Headers */ = {isa = PBXBuildFile; fileRef = B23540F10D00782E002382FA /* StringTruncator.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                B237C8A70D344D110013F707 /* SVGFontData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B237C8A50D344D110013F707 /* SVGFontData.cpp */; };
-                B237C8A80D344D110013F707 /* SVGFontData.h in Headers */ = {isa = PBXBuildFile; fileRef = B237C8A60D344D110013F707 /* SVGFontData.h */; };
</del><span class="cx">                 B25599840D00D8BA00BB825C /* SVGFEImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B25598EA0D00D8B900BB825C /* SVGFEImage.cpp */; };
</span><span class="cx">                 B25599850D00D8BA00BB825C /* SVGFEImage.h in Headers */ = {isa = PBXBuildFile; fileRef = B25598EB0D00D8B900BB825C /* SVGFEImage.h */; };
</span><span class="cx">                 B25599A30D00D8BA00BB825C /* SVGImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B255990B0D00D8B900BB825C /* SVGImage.cpp */; };
</span><span class="lines">@@ -7781,7 +7775,6 @@
</span><span class="cx">                 085A15921289A8DD002710E3 /* SVGAnimatedTransformListPropertyTearOff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedTransformListPropertyTearOff.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 085B92B80EFDE73D00E6123C /* FormDataBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormDataBuilder.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 085B92B90EFDE73D00E6123C /* FormDataBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormDataBuilder.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                085CD274138BB8E000907F2D /* SVGTextRunRenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGTextRunRenderingContext.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 0863951313B5FE5700BB344D /* SVGAnimatedPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedPath.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0863951413B5FE5700BB344D /* SVGAnimatedPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedPath.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 08641D4512142F7D008DE9F6 /* RenderImageResourceStyleImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderImageResourceStyleImage.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -7791,8 +7784,6 @@
</span><span class="cx">                 087558C313B4A57D00F49307 /* SurrogatePairAwareTextIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurrogatePairAwareTextIterator.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 087558C413B4A57D00F49307 /* SurrogatePairAwareTextIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurrogatePairAwareTextIterator.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 087B84951272CEC700A14417 /* SVGAnimatedAngle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedAngle.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                087E0AF413606D0B00FA4BA8 /* SVGGlyph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGGlyph.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                087E0AF513606D0B00FA4BA8 /* SVGGlyph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGGlyph.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 0880F70D1282B46D00948505 /* SVGStaticListPropertyTearOff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGStaticListPropertyTearOff.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0885067D11DA045B00182B98 /* PaintInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PaintInfo.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0885067E11DA045B00182B98 /* PaintPhase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PaintPhase.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -7821,7 +7812,6 @@
</span><span class="cx">                 08C925170FCC7C4A00480DEC /* FilterEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FilterEffect.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 08C925180FCC7C4A00480DEC /* FilterEffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FilterEffect.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 08CA3D4312894A3800FFF260 /* SVGMatrixTearOff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGMatrixTearOff.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                08D29440138669E40097C89B /* SVGTextRunRenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGTextRunRenderingContext.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 08D46CE2127AD5FC0089694B /* SVGAnimatedEnumeration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedEnumeration.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 08E4FE450E2BD41400F4CAE0 /* JSSVGLengthCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGLengthCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 08EDE19E12A50B8E00B95797 /* SVGRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGRect.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -8932,7 +8922,6 @@
</span><span class="cx">                 372ADA39197F687600FC501E /* ProtectionSpaceCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ProtectionSpaceCocoa.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 372C00C3129611F1005C9575 /* TextBoundaries.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextBoundaries.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 372C00D8129619F8005C9575 /* FindOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FindOptions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                3744570E0DB05FA500AE0992 /* SVGGlyphMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGGlyphMap.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 37569E0013AF172C00CDBA8E /* SharedBufferChunkReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedBufferChunkReader.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 37569E0213AF172C00CDBA8E /* SharedBufferChunkReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SharedBufferChunkReader.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 375CD231119D43C800A2A859 /* Hyphenation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Hyphenation.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -12891,8 +12880,6 @@
</span><span class="cx">                 B22362270C3AF04A0008CA9B /* JSSVGTextPathElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGTextPathElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 B23540F00D00782E002382FA /* StringTruncator.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StringTruncator.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 B23540F10D00782E002382FA /* StringTruncator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StringTruncator.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                B237C8A50D344D110013F707 /* SVGFontData.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGFontData.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                B237C8A60D344D110013F707 /* SVGFontData.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGFontData.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 B25598EA0D00D8B900BB825C /* SVGFEImage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGFEImage.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 B25598EB0D00D8B900BB825C /* SVGFEImage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGFEImage.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 B255990B0D00D8B900BB825C /* SVGImage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGImage.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -15883,8 +15870,6 @@
</span><span class="cx">                                 7117445714BC34E200EE5FC8 /* SVGTextMetricsBuilder.h */,
</span><span class="cx">                                 0854B0121255E4E600B9CDD0 /* SVGTextQuery.cpp */,
</span><span class="cx">                                 0854B0131255E4E600B9CDD0 /* SVGTextQuery.h */,
</span><del>-                                08D29440138669E40097C89B /* SVGTextRunRenderingContext.cpp */,
-                                085CD274138BB8E000907F2D /* SVGTextRunRenderingContext.h */,
</del><span class="cx">                         );
</span><span class="cx">                         path = svg;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -21502,8 +21487,6 @@
</span><span class="cx">                                 B222787B0D00BF200071B782 /* SVGFitToViewBox.cpp */,
</span><span class="cx">                                 B222787C0D00BF200071B782 /* SVGFitToViewBox.h */,
</span><span class="cx">                                 B222787D0D00BF200071B782 /* SVGFitToViewBox.idl */,
</span><del>-                                B237C8A50D344D110013F707 /* SVGFontData.cpp */,
-                                B237C8A60D344D110013F707 /* SVGFontData.h */,
</del><span class="cx">                                 B2A1F2A10CEF0ABF00442F6A /* SVGFontElement.cpp */,
</span><span class="cx">                                 B2A1F2A20CEF0ABF00442F6A /* SVGFontElement.h */,
</span><span class="cx">                                 B2A1F2A30CEF0ABF00442F6A /* SVGFontElement.idl */,
</span><span class="lines">@@ -21531,7 +21514,6 @@
</span><span class="cx">                                 B2A1F2A40CEF0ABF00442F6A /* SVGGlyphElement.cpp */,
</span><span class="cx">                                 B2A1F2A50CEF0ABF00442F6A /* SVGGlyphElement.h */,
</span><span class="cx">                                 B2A1F2A60CEF0ABF00442F6A /* SVGGlyphElement.idl */,
</span><del>-                                3744570E0DB05FA500AE0992 /* SVGGlyphMap.h */,
</del><span class="cx">                                 24D912BA13CA9A9700D21915 /* SVGGlyphRefElement.cpp */,
</span><span class="cx">                                 24D912BB13CA9A9700D21915 /* SVGGlyphRefElement.h */,
</span><span class="cx">                                 24D912BC13CA9A9700D21915 /* SVGGlyphRefElement.idl */,
</span><span class="lines">@@ -22062,8 +22044,6 @@
</span><span class="cx">                                 849F77750EFEC6200090849D /* StrokeStyleApplier.h */,
</span><span class="cx">                                 087558C313B4A57D00F49307 /* SurrogatePairAwareTextIterator.cpp */,
</span><span class="cx">                                 087558C413B4A57D00F49307 /* SurrogatePairAwareTextIterator.h */,
</span><del>-                                087E0AF413606D0B00FA4BA8 /* SVGGlyph.cpp */,
-                                087E0AF513606D0B00FA4BA8 /* SVGGlyph.h */,
</del><span class="cx">                                 376DCCE013B4F966002EBEFC /* TextRun.cpp */,
</span><span class="cx">                                 A824B4640E2EF2EA0081A7B7 /* TextRun.h */,
</span><span class="cx">                                 CD1E7346167BC78E009A885D /* TextTrackRepresentation.cpp */,
</span><span class="lines">@@ -28129,7 +28109,6 @@
</span><span class="cx">                                 B2227A0C0D00BF220071B782 /* SVGFilterElement.h in Headers */,
</span><span class="cx">                                 B2227A0F0D00BF220071B782 /* SVGFilterPrimitiveStandardAttributes.h in Headers */,
</span><span class="cx">                                 B2227A120D00BF220071B782 /* SVGFitToViewBox.h in Headers */,
</span><del>-                                B237C8A80D344D110013F707 /* SVGFontData.h in Headers */,
</del><span class="cx">                                 B2A1F2AB0CEF0ABF00442F6A /* SVGFontElement.h in Headers */,
</span><span class="cx">                                 B2227A150D00BF220071B782 /* SVGFontFaceElement.h in Headers */,
</span><span class="cx">                                 B2227A180D00BF220071B782 /* SVGFontFaceFormatElement.h in Headers */,
</span><span class="lines">@@ -28138,9 +28117,7 @@
</span><span class="cx">                                 B2227A210D00BF220071B782 /* SVGFontFaceUriElement.h in Headers */,
</span><span class="cx">                                 B2227A240D00BF220071B782 /* SVGForeignObjectElement.h in Headers */,
</span><span class="cx">                                 B2227A270D00BF220071B782 /* SVGGElement.h in Headers */,
</span><del>-                                087E0AF713606D0B00FA4BA8 /* SVGGlyph.h in Headers */,
</del><span class="cx">                                 B2A1F2AE0CEF0ABF00442F6A /* SVGGlyphElement.h in Headers */,
</span><del>-                                3744570F0DB05FA500AE0992 /* SVGGlyphMap.h in Headers */,
</del><span class="cx">                                 24D912BE13CA9A9700D21915 /* SVGGlyphRefElement.h in Headers */,
</span><span class="cx">                                 B2227A2A0D00BF220071B782 /* SVGGradientElement.h in Headers */,
</span><span class="cx">                                 B2227AB60D00BF220071B782 /* SVGGraphicsElement.h in Headers */,
</span><span class="lines">@@ -28268,7 +28245,6 @@
</span><span class="cx">                                 B2227ACE0D00BF220071B782 /* SVGTextPathElement.h in Headers */,
</span><span class="cx">                                 B2227AD10D00BF220071B782 /* SVGTextPositioningElement.h in Headers */,
</span><span class="cx">                                 0854B0251255E4E600B9CDD0 /* SVGTextQuery.h in Headers */,
</span><del>-                                085CD275138BB8E000907F2D /* SVGTextRunRenderingContext.h in Headers */,
</del><span class="cx">                                 B2227AD40D00BF220071B782 /* SVGTitleElement.h in Headers */,
</span><span class="cx">                                 1CCDF5BE1990332400BCEBAD /* SVGToOTFFontConversion.h in Headers */,
</span><span class="cx">                                 B2227AD70D00BF220071B782 /* SVGTransform.h in Headers */,
</span><span class="lines">@@ -31712,7 +31688,6 @@
</span><span class="cx">                                 B2227A0B0D00BF220071B782 /* SVGFilterElement.cpp in Sources */,
</span><span class="cx">                                 B2227A0E0D00BF220071B782 /* SVGFilterPrimitiveStandardAttributes.cpp in Sources */,
</span><span class="cx">                                 B2227A110D00BF220071B782 /* SVGFitToViewBox.cpp in Sources */,
</span><del>-                                B237C8A70D344D110013F707 /* SVGFontData.cpp in Sources */,
</del><span class="cx">                                 B2A1F2AA0CEF0ABF00442F6A /* SVGFontElement.cpp in Sources */,
</span><span class="cx">                                 B2227A140D00BF220071B782 /* SVGFontFaceElement.cpp in Sources */,
</span><span class="cx">                                 B2227A170D00BF220071B782 /* SVGFontFaceFormatElement.cpp in Sources */,
</span><span class="lines">@@ -31721,7 +31696,6 @@
</span><span class="cx">                                 B2227A200D00BF220071B782 /* SVGFontFaceUriElement.cpp in Sources */,
</span><span class="cx">                                 B2227A230D00BF220071B782 /* SVGForeignObjectElement.cpp in Sources */,
</span><span class="cx">                                 B2227A260D00BF220071B782 /* SVGGElement.cpp in Sources */,
</span><del>-                                087E0AF613606D0B00FA4BA8 /* SVGGlyph.cpp in Sources */,
</del><span class="cx">                                 B2A1F2AD0CEF0ABF00442F6A /* SVGGlyphElement.cpp in Sources */,
</span><span class="cx">                                 24D912BD13CA9A9700D21915 /* SVGGlyphRefElement.cpp in Sources */,
</span><span class="cx">                                 B2227A290D00BF220071B782 /* SVGGradientElement.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontFaceSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontFaceSource.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontFaceSource.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/css/CSSFontFaceSource.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -36,15 +36,12 @@
</span><span class="cx"> #include &quot;FontCache.h&quot;
</span><span class="cx"> #include &quot;FontDescription.h&quot;
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx"> #include &quot;FontCustomPlatformData.h&quot;
</span><span class="cx"> #include &quot;SVGToOTFFontConversion.h&quot;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx"> #include &quot;CachedSVGFont.h&quot;
</span><span class="cx"> #include &quot;FontCustomPlatformData.h&quot;
</span><del>-#include &quot;SVGFontData.h&quot;
</del><span class="cx"> #include &quot;SVGFontElement.h&quot;
</span><span class="cx"> #include &quot;SVGFontFaceElement.h&quot;
</span><span class="cx"> #include &quot;SVGNames.h&quot;
</span><span class="lines">@@ -76,14 +73,8 @@
</span><span class="cx">     : m_familyNameOrURI(familyNameOrURI)
</span><span class="cx">     , m_font(font)
</span><span class="cx">     , m_face(owner)
</span><del>-#if ENABLE(SVG_FONTS) || ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx">     , m_svgFontFaceElement(fontFace)
</span><del>-#endif
</del><span class="cx"> {
</span><del>-#if !(ENABLE(SVG_FONTS) || ENABLE(SVG_OTF_CONVERTER))
-    UNUSED_PARAM(fontFace);
-#endif
-
</del><span class="cx">     // This may synchronously call fontLoaded().
</span><span class="cx">     if (m_font)
</span><span class="cx">         m_font-&gt;addClient(this);
</span><span class="lines">@@ -157,7 +148,6 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><del>-#if ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx">     if (!is&lt;SVGFontElement&gt;(m_svgFontFaceElement-&gt;parentNode()))
</span><span class="cx">         return nullptr;
</span><span class="cx">     if (!m_inDocumentCustomPlatformData) {
</span><span class="lines">@@ -175,10 +165,7 @@
</span><span class="cx"> #else
</span><span class="cx">     return Font::create(m_inDocumentCustomPlatformData-&gt;fontPlatformData(fontDescription, syntheticBold, syntheticItalic), true, false);
</span><span class="cx"> #endif
</span><del>-#else
-    return Font::create(std::make_unique&lt;SVGFontData&gt;(m_svgFontFaceElement.get()), fontDescription.computedPixelSize(), syntheticBold, syntheticItalic);
</del><span class="cx"> #endif
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontFaceSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontFaceSource.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontFaceSource.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/css/CSSFontFaceSource.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -79,14 +79,10 @@
</span><span class="cx">     CachedResourceHandle&lt;CachedFont&gt; m_font; // For remote fonts, a pointer to our cached resource.
</span><span class="cx">     CSSFontFace&amp; m_face; // Our owning font face.
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx">     RefPtr&lt;SharedBuffer&gt; m_generatedOTFBuffer;
</span><del>-#endif
</del><span class="cx"> 
</span><del>-#if ENABLE(SVG_FONTS) || ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx">     RefPtr&lt;SVGFontFaceElement&gt; m_svgFontFaceElement;
</span><span class="cx">     std::unique_ptr&lt;FontCustomPlatformData&gt; m_inDocumentCustomPlatformData;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     Status m_status { Status::Pending };
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedFont.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedFont.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/loader/cache/CachedFont.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -40,15 +40,6 @@
</span><span class="cx"> #include &quot;WOFFFileFormat.h&quot;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_FONTS)
-#include &quot;NodeList.h&quot;
-#include &quot;SVGDocument.h&quot;
-#include &quot;SVGElement.h&quot;
-#include &quot;SVGFontElement.h&quot;
-#include &quot;SVGGElement.h&quot;
-#include &quot;SVGNames.h&quot;
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> CachedFont::CachedFont(const ResourceRequest&amp; resourceRequest, SessionID sessionID, Type type)
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -32,16 +32,12 @@
</span><span class="cx"> #include &quot;FontDescription.h&quot;
</span><span class="cx"> #include &quot;FontPlatformData.h&quot;
</span><span class="cx"> #include &quot;SVGDocument.h&quot;
</span><del>-#include &quot;SVGFontData.h&quot;
</del><span class="cx"> #include &quot;SVGFontElement.h&quot;
</span><span class="cx"> #include &quot;SVGFontFaceElement.h&quot;
</span><span class="cx"> #include &quot;SharedBuffer.h&quot;
</span><span class="cx"> #include &quot;TextResourceDecoder.h&quot;
</span><span class="cx"> #include &quot;TypedElementDescendantIterator.h&quot;
</span><del>-
-#if ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx"> #include &quot;SVGToOTFFontConversion.h&quot;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -53,15 +49,8 @@
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;Font&gt; CachedSVGFont::createFont(const FontDescription&amp; fontDescription, const AtomicString&amp; remoteURI, bool syntheticBold, bool syntheticItalic, const FontFeatureSettings&amp; fontFaceFeatures, const FontVariantSettings&amp; fontFaceVariantSettings)
</span><span class="cx"> {
</span><del>-#if ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx">     if (firstFontFace(remoteURI))
</span><span class="cx">         return CachedFont::createFont(fontDescription, remoteURI, syntheticBold, syntheticItalic, fontFaceFeatures, fontFaceVariantSettings);
</span><del>-#else
-    UNUSED_PARAM(fontFaceFeatures);
-    UNUSED_PARAM(fontFaceVariantSettings);
-    if (SVGFontFaceElement* firstFontFace = this-&gt;firstFontFace(remoteURI))
-        return Font::create(std::make_unique&lt;SVGFontData&gt;(firstFontFace), fontDescription.computedPixelSize(), syntheticBold, syntheticItalic);
-#endif
</del><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -80,7 +69,6 @@
</span><span class="cx">         m_externalSVGDocument-&gt;setContent(decoder-&gt;decodeAndFlush(m_data-&gt;data(), m_data-&gt;size()));
</span><span class="cx">         if (decoder-&gt;sawError())
</span><span class="cx">             m_externalSVGDocument = nullptr;
</span><del>-#if ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx">         if (m_externalSVGDocument)
</span><span class="cx">             maybeInitializeExternalSVGFontElement(remoteURI);
</span><span class="cx">         if (!m_externalSVGFontElement)
</span><span class="lines">@@ -91,16 +79,9 @@
</span><span class="cx">             m_externalSVGDocument = nullptr;
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><del>-#else
-        UNUSED_PARAM(remoteURI);
-#endif
</del><span class="cx">     }
</span><span class="cx"> 
</span><del>-#if !ENABLE(SVG_OTF_CONVERTER)
-    return m_externalSVGDocument;
-#else
</del><span class="cx">     return m_externalSVGDocument &amp;&amp; CachedFont::ensureCustomFontData(m_convertedFont.get());
</span><del>-#endif
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SVGFontElement* CachedSVGFont::getSVGFontById(const String&amp; fontName) const
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGFonth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGFont.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGFont.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/loader/cache/CachedSVGFont.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -50,9 +50,7 @@
</span><span class="cx">     SVGFontElement* maybeInitializeExternalSVGFontElement(const AtomicString&amp; remoteURI);
</span><span class="cx">     SVGFontFaceElement* firstFontFace(const AtomicString&amp; remoteURI);
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx">     RefPtr&lt;SharedBuffer&gt; m_convertedFont;
</span><del>-#endif
</del><span class="cx">     RefPtr&lt;SVGDocument&gt; m_externalSVGDocument;
</span><span class="cx">     SVGFontElement* m_externalSVGFontElement;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Font.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Font.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/Font.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -51,11 +51,10 @@
</span><span class="cx"> const float smallCapsFontSizeMultiplier = 0.7f;
</span><span class="cx"> const float emphasisMarkFontSizeMultiplier = 0.5f;
</span><span class="cx"> 
</span><del>-Font::Font(const FontPlatformData&amp; platformData, std::unique_ptr&lt;SVGData&gt;&amp;&amp; svgData, bool isCustomFont, bool isLoading, bool isTextOrientationFallback)
</del><ins>+Font::Font(const FontPlatformData&amp; platformData, bool isCustomFont, bool isLoading, bool isTextOrientationFallback)
</ins><span class="cx">     : m_maxCharWidth(-1)
</span><span class="cx">     , m_avgCharWidth(-1)
</span><span class="cx">     , m_platformData(platformData)
</span><del>-    , m_svgData(WTFMove(svgData))
</del><span class="cx">     , m_mathData(nullptr)
</span><span class="cx">     , m_treatAsFixedPitch(false)
</span><span class="cx">     , m_isCustomFont(isCustomFont)
</span><span class="lines">@@ -68,11 +67,6 @@
</span><span class="cx">     , m_shouldNotBeUsedForArabic(false)
</span><span class="cx"> #endif
</span><span class="cx"> {
</span><del>-}
-
-Font::Font(const FontPlatformData&amp; platformData, bool isCustomFont, bool isLoading, bool isTextOrientationFallback)
-    : Font(platformData, std::unique_ptr&lt;SVGData&gt;(), isCustomFont, isLoading, isTextOrientationFallback)
-{
</del><span class="cx">     platformInit();
</span><span class="cx">     platformGlyphInit();
</span><span class="cx">     platformCharWidthInit();
</span><span class="lines">@@ -84,12 +78,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Font::Font(std::unique_ptr&lt;SVGData&gt; svgData, float fontSize, bool syntheticBold, bool syntheticItalic)
-    : Font(FontPlatformData(fontSize, syntheticBold, syntheticItalic), WTFMove(svgData), true, false, false)
-{
-    m_svgData-&gt;initializeFont(this, fontSize);
-}
-
</del><span class="cx"> // Estimates of avgCharWidth and maxCharWidth for platforms that don't support accessing these values from the font.
</span><span class="cx"> void Font::initCharWidths()
</span><span class="cx"> {
</span><span class="lines">@@ -148,14 +136,12 @@
</span><span class="cx"> 
</span><span class="cx"> static bool fillGlyphPage(GlyphPage&amp; pageToFill, UChar* buffer, unsigned bufferLength, const Font&amp; font)
</span><span class="cx"> {
</span><del>-#if ENABLE(SVG_FONTS)
-    if (auto* svgData = font.svgData())
-        return svgData-&gt;fillSVGGlyphPage(&amp;pageToFill, buffer, bufferLength);
-#endif
</del><span class="cx">     bool hasGlyphs = pageToFill.fill(buffer, bufferLength);
</span><span class="cx"> #if ENABLE(OPENTYPE_VERTICAL)
</span><span class="cx">     if (hasGlyphs &amp;&amp; font.verticalData())
</span><span class="cx">         font.verticalData()-&gt;substituteWithVerticalGlyphs(&amp;font, &amp;pageToFill);
</span><ins>+#else
+    UNUSED_PARAM(font);
</ins><span class="cx"> #endif
</span><span class="cx">     return hasGlyphs;
</span><span class="cx"> }
</span><span class="lines">@@ -347,8 +333,6 @@
</span><span class="cx"> #ifndef NDEBUG
</span><span class="cx"> String Font::description() const
</span><span class="cx"> {
</span><del>-    if (isSVGFont())
-        return &quot;[SVG font]&quot;;
</del><span class="cx">     if (isCustomFont())
</span><span class="cx">         return &quot;[custom font]&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -374,16 +358,12 @@
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;Font&gt; Font::createScaledFont(const FontDescription&amp; fontDescription, float scaleFactor) const
</span><span class="cx"> {
</span><del>-    if (isSVGFont())
-        return nullptr;
-
</del><span class="cx">     return platformCreateScaledFont(fontDescription, scaleFactor);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Font::applyTransforms(GlyphBufferGlyph* glyphs, GlyphBufferAdvance* advances, size_t glyphCount, bool enableKerning, bool requiresShaping) const
</span><span class="cx"> {
</span><span class="cx">     // We need to handle transforms on SVG fonts internally, since they are rendered internally.
</span><del>-    ASSERT(!isSVGFont());
</del><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     CTFontTransformOptions options = (enableKerning ? kCTFontTransformApplyPositioning : 0) | (requiresShaping ? kCTFontTransformApplyShaping : 0);
</span><span class="cx">     return CTFontTransformGlyphs(m_platformData.ctFont(), glyphs, reinterpret_cast&lt;CGSize*&gt;(advances), glyphCount, options);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFonth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Font.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Font.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/Font.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -70,28 +70,12 @@
</span><span class="cx"> 
</span><span class="cx"> class Font : public RefCounted&lt;Font&gt; {
</span><span class="cx"> public:
</span><del>-    class SVGData {
-        WTF_MAKE_FAST_ALLOCATED;
-    public:
-        virtual ~SVGData() { }
-
-        virtual void initializeFont(Font*, float fontSize) = 0;
-        virtual float widthForSVGGlyph(Glyph, float fontSize) const = 0;
-        virtual bool fillSVGGlyphPage(GlyphPage*, UChar* buffer, unsigned bufferLength) const = 0;
-    };
-
</del><span class="cx">     // Used to create platform fonts.
</span><span class="cx">     static Ref&lt;Font&gt; create(const FontPlatformData&amp; platformData, bool isCustomFont = false, bool isLoading = false, bool isTextOrientationFallback = false)
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new Font(platformData, isCustomFont, isLoading, isTextOrientationFallback));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // Used to create SVG Fonts.
-    static Ref&lt;Font&gt; create(std::unique_ptr&lt;SVGData&gt; svgData, float fontSize, bool syntheticBold, bool syntheticItalic)
-    {
-        return adoptRef(*new Font(WTFMove(svgData), fontSize, syntheticBold, syntheticItalic));
-    }
-
</del><span class="cx">     WEBCORE_EXPORT ~Font();
</span><span class="cx"> 
</span><span class="cx">     static const Font* systemFallback() { return reinterpret_cast&lt;const Font*&gt;(-1); }
</span><span class="lines">@@ -181,9 +165,6 @@
</span><span class="cx">     void determinePitch();
</span><span class="cx">     Pitch pitch() const { return m_treatAsFixedPitch ? FixedPitch : VariablePitch; }
</span><span class="cx"> 
</span><del>-    const SVGData* svgData() const { return m_svgData.get(); }
-    bool isSVGFont() const { return !!m_svgData; }
-
</del><span class="cx">     bool isCustomFont() const { return m_isCustomFont; }
</span><span class="cx">     bool isLoading() const { return m_isLoading; }
</span><span class="cx"> 
</span><span class="lines">@@ -224,10 +205,6 @@
</span><span class="cx"> private:
</span><span class="cx">     Font(const FontPlatformData&amp;, bool isCustomFont = false, bool isLoading = false, bool isTextOrientationFallback = false);
</span><span class="cx"> 
</span><del>-    Font(std::unique_ptr&lt;SVGData&gt;, float fontSize, bool syntheticBold, bool syntheticItalic);
-
-    Font(const FontPlatformData&amp;, std::unique_ptr&lt;SVGData&gt;&amp;&amp;, bool isCustomFont = false, bool isLoading = false, bool isTextOrientationFallback = false);
-
</del><span class="cx">     void platformInit();
</span><span class="cx">     void platformGlyphInit();
</span><span class="cx">     void platformCharWidthInit();
</span><span class="lines">@@ -253,7 +230,6 @@
</span><span class="cx">     float m_avgCharWidth;
</span><span class="cx"> 
</span><span class="cx">     FontPlatformData m_platformData;
</span><del>-    std::unique_ptr&lt;SVGData&gt; m_svgData;
</del><span class="cx"> 
</span><span class="cx">     mutable RefPtr&lt;GlyphPage&gt; m_glyphPageZero;
</span><span class="cx">     mutable HashMap&lt;unsigned, RefPtr&lt;GlyphPage&gt;&gt; m_glyphPages;
</span><span class="lines">@@ -363,17 +339,15 @@
</span><span class="cx">     if (width != cGlyphSizeUnknown)
</span><span class="cx">         return width;
</span><span class="cx"> 
</span><del>-    if (isSVGFont())
-        width = m_svgData-&gt;widthForSVGGlyph(glyph, m_platformData.size());
</del><span class="cx"> #if ENABLE(OPENTYPE_VERTICAL)
</span><del>-    else if (m_verticalData)
</del><ins>+    if (m_verticalData)
</ins><span class="cx"> #if USE(CG) || USE(CAIRO)
</span><span class="cx">         width = m_verticalData-&gt;advanceHeight(this, glyph) + m_syntheticBoldOffset;
</span><span class="cx"> #else
</span><span class="cx">         width = m_verticalData-&gt;advanceHeight(this, glyph);
</span><span class="cx"> #endif
</span><del>-#endif
</del><span class="cx">     else
</span><ins>+#endif
</ins><span class="cx">         width = platformWidthForGlyph(glyph);
</span><span class="cx"> 
</span><span class="cx">     m_glyphToWidthMap.setMetricsForGlyph(glyph, width);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontCascadecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontCascade.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontCascade.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/FontCascade.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -46,11 +46,6 @@
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;FontCascadeFonts&gt; retrieveOrAddCachedFonts(const FontCascadeDescription&amp;, RefPtr&lt;FontSelector&gt;&amp;&amp;);
</span><span class="cx"> 
</span><del>-static bool isDrawnWithSVGFont(const TextRun&amp; run)
-{
-    return run.renderingContext();
-}
-
</del><span class="cx"> static bool useBackslashAsYenSignForFamily(const AtomicString&amp; family)
</span><span class="cx"> {
</span><span class="cx">     if (family.isEmpty())
</span><span class="lines">@@ -318,7 +313,7 @@
</span><span class="cx"> 
</span><span class="cx">     CodePath codePathToUse = codePath(run);
</span><span class="cx">     // FIXME: Use the fast code path once it handles partial runs with kerning and ligatures. See http://webkit.org/b/100050
</span><del>-    if (codePathToUse != Complex &amp;&amp; (enableKerning() || requiresShaping()) &amp;&amp; (from || static_cast&lt;unsigned&gt;(to) != run.length()) &amp;&amp; !isDrawnWithSVGFont(run))
</del><ins>+    if (codePathToUse != Complex &amp;&amp; (enableKerning() || requiresShaping()) &amp;&amp; (from || static_cast&lt;unsigned&gt;(to) != run.length()))
</ins><span class="cx">         codePathToUse = Complex;
</span><span class="cx"> 
</span><span class="cx">     GlyphBuffer glyphBuffer;
</span><span class="lines">@@ -328,7 +323,7 @@
</span><span class="cx">         return 0;
</span><span class="cx">     // Draw the glyph buffer now at the starting point returned in startX.
</span><span class="cx">     FloatPoint startPoint(startX, point.y());
</span><del>-    drawGlyphBuffer(context, run, glyphBuffer, startPoint);
</del><ins>+    drawGlyphBuffer(context, glyphBuffer, startPoint);
</ins><span class="cx">     return startPoint.x() - startX;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -342,7 +337,7 @@
</span><span class="cx"> 
</span><span class="cx">     CodePath codePathToUse = codePath(run);
</span><span class="cx">     // FIXME: Use the fast code path once it handles partial runs with kerning and ligatures. See http://webkit.org/b/100050
</span><del>-    if (codePathToUse != Complex &amp;&amp; (enableKerning() || requiresShaping()) &amp;&amp; (from || static_cast&lt;unsigned&gt;(to) != run.length()) &amp;&amp; !isDrawnWithSVGFont(run))
</del><ins>+    if (codePathToUse != Complex &amp;&amp; (enableKerning() || requiresShaping()) &amp;&amp; (from || static_cast&lt;unsigned&gt;(to) != run.length()))
</ins><span class="cx">         codePathToUse = Complex;
</span><span class="cx"> 
</span><span class="cx">     if (codePathToUse != Complex)
</span><span class="lines">@@ -383,22 +378,10 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-float FontCascade::width(const TextRun&amp; run, int&amp; charsConsumed, String&amp; glyphName) const
-{
-#if ENABLE(SVG_FONTS)
-    if (isDrawnWithSVGFont(run))
-        return run.renderingContext()-&gt;floatWidthUsingSVGFont(*this, run, charsConsumed, glyphName);
-#endif
-
-    charsConsumed = run.length();
-    glyphName = &quot;&quot;;
-    return width(run);
-}
-
</del><span class="cx"> GlyphData FontCascade::glyphDataForCharacter(UChar32 c, bool mirror, FontVariant variant) const
</span><span class="cx"> {
</span><span class="cx">     if (variant == AutoVariant) {
</span><del>-        if (m_fontDescription.variantCaps() == FontVariantCaps::Small &amp;&amp; !primaryFont().isSVGFont()) {
</del><ins>+        if (m_fontDescription.variantCaps() == FontVariantCaps::Small) {
</ins><span class="cx">             UChar32 upperC = u_toupper(c);
</span><span class="cx">             if (upperC != c) {
</span><span class="cx">                 c = upperC;
</span><span class="lines">@@ -514,7 +497,7 @@
</span><span class="cx"> 
</span><span class="cx">     CodePath codePathToUse = codePath(run);
</span><span class="cx">     // FIXME: Use the fast code path once it handles partial runs with kerning and ligatures. See http://webkit.org/b/100050
</span><del>-    if (codePathToUse != Complex &amp;&amp; (enableKerning() || requiresShaping()) &amp;&amp; (from || static_cast&lt;unsigned&gt;(to) != run.length()) &amp;&amp; !isDrawnWithSVGFont(run))
</del><ins>+    if (codePathToUse != Complex &amp;&amp; (enableKerning() || requiresShaping()) &amp;&amp; (from || static_cast&lt;unsigned&gt;(to) != run.length()))
</ins><span class="cx">         codePathToUse = Complex;
</span><span class="cx"> 
</span><span class="cx">     if (codePathToUse != Complex)
</span><span class="lines">@@ -526,7 +509,7 @@
</span><span class="cx"> int FontCascade::offsetForPosition(const TextRun&amp; run, float x, bool includePartialGlyphs) const
</span><span class="cx"> {
</span><span class="cx">     // FIXME: Use the fast code path once it handles partial runs with kerning and ligatures. See http://webkit.org/b/100050
</span><del>-    if (codePath(run) != Complex &amp;&amp; (!(enableKerning() || requiresShaping()) || isDrawnWithSVGFont(run)))
</del><ins>+    if (codePath(run) != Complex &amp;&amp; (!(enableKerning() || requiresShaping())))
</ins><span class="cx">         return offsetForPositionForSimpleText(run, x, includePartialGlyphs);
</span><span class="cx"> 
</span><span class="cx">     return offsetForPositionForComplexText(run, x, includePartialGlyphs);
</span><span class="lines">@@ -582,11 +565,6 @@
</span><span class="cx">     if (s_codePath != Auto)
</span><span class="cx">         return s_codePath;
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_FONTS)
-    if (isDrawnWithSVGFont(run))
-        return Simple;
-#endif
-
</del><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     // Because Font::applyTransforms() doesn't know which features to enable/disable in the simple code path, it can't properly handle feature or variant settings.
</span><span class="cx">     // FIXME: https://bugs.webkit.org/show_bug.cgi?id=150791: @font-face features should also cause this to be complex.
</span><span class="lines">@@ -1293,10 +1271,10 @@
</span><span class="cx">     if (glyphBuffer.isEmpty())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    drawEmphasisMarks(context, run, glyphBuffer, mark, FloatPoint(point.x() + initialAdvance, point.y()));
</del><ins>+    drawEmphasisMarks(context, glyphBuffer, mark, FloatPoint(point.x() + initialAdvance, point.y()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FontCascade::drawGlyphBuffer(GraphicsContext&amp; context, const TextRun&amp; run, const GlyphBuffer&amp; glyphBuffer, FloatPoint&amp; point) const
</del><ins>+void FontCascade::drawGlyphBuffer(GraphicsContext&amp; context, const GlyphBuffer&amp; glyphBuffer, FloatPoint&amp; point) const
</ins><span class="cx"> {
</span><span class="cx"> #if !ENABLE(SVG_FONTS)
</span><span class="cx">     UNUSED_PARAM(run);
</span><span class="lines">@@ -1310,20 +1288,12 @@
</span><span class="cx">     float nextY = startPoint.y() + glyphBuffer.advanceAt(0).height();
</span><span class="cx">     int lastFrom = 0;
</span><span class="cx">     int nextGlyph = 1;
</span><del>-#if ENABLE(SVG_FONTS)
-    TextRun::RenderingContext* renderingContext = run.renderingContext();
-#endif
</del><span class="cx">     while (nextGlyph &lt; glyphBuffer.size()) {
</span><span class="cx">         const Font* nextFontData = glyphBuffer.fontAt(nextGlyph);
</span><span class="cx">         FloatSize nextOffset = glyphBuffer.offsetAt(nextGlyph);
</span><span class="cx"> 
</span><span class="cx">         if (nextFontData != fontData || nextOffset != offset) {
</span><del>-#if ENABLE(SVG_FONTS)
-            if (renderingContext &amp;&amp; fontData-&gt;isSVGFont())
-                renderingContext-&gt;drawSVGGlyphs(context, *fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint);
-            else
-#endif
-                context.drawGlyphs(*this, *fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint);
</del><ins>+            context.drawGlyphs(*this, *fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint);
</ins><span class="cx"> 
</span><span class="cx">             lastFrom = nextGlyph;
</span><span class="cx">             fontData = nextFontData;
</span><span class="lines">@@ -1336,15 +1306,8 @@
</span><span class="cx">         nextGlyph++;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_FONTS)
-    if (renderingContext &amp;&amp; fontData-&gt;isSVGFont())
-        renderingContext-&gt;drawSVGGlyphs(context, *fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint);
-    else
-#endif
-    {
-        context.drawGlyphs(*this, *fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint);
-        point.setX(nextX);
-    }
</del><ins>+    context.drawGlyphs(*this, *fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint);
+    point.setX(nextX);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> inline static float offsetToMiddleOfGlyph(const Font* fontData, Glyph glyph)
</span><span class="lines">@@ -1362,7 +1325,7 @@
</span><span class="cx">     return offsetToMiddleOfGlyph(glyphBuffer.fontAt(i), glyphBuffer.glyphAt(i));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FontCascade::drawEmphasisMarks(GraphicsContext&amp; context, const TextRun&amp; run, const GlyphBuffer&amp; glyphBuffer, const AtomicString&amp; mark, const FloatPoint&amp; point) const
</del><ins>+void FontCascade::drawEmphasisMarks(GraphicsContext&amp; context, const GlyphBuffer&amp; glyphBuffer, const AtomicString&amp; mark, const FloatPoint&amp; point) const
</ins><span class="cx"> {
</span><span class="cx">     Optional&lt;GlyphData&gt; markGlyphData = getEmphasisMarkGlyphData(mark);
</span><span class="cx">     if (!markGlyphData)
</span><span class="lines">@@ -1388,7 +1351,7 @@
</span><span class="cx">     }
</span><span class="cx">     markBuffer.add(glyphBuffer.glyphAt(glyphBuffer.size() - 1) ? markGlyph : spaceGlyph, markFontData, 0);
</span><span class="cx"> 
</span><del>-    drawGlyphBuffer(context, run, markBuffer, startPoint);
</del><ins>+    drawGlyphBuffer(context, markBuffer, startPoint);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> float FontCascade::floatWidthForSimpleText(const TextRun&amp; run, HashSet&lt;const Font*&gt;* fallbackFonts, GlyphOverflow* glyphOverflow) const
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontCascadeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontCascade.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontCascade.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/FontCascade.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -140,7 +140,6 @@
</span><span class="cx">     DashArray dashesForIntersectionsWithRect(const TextRun&amp;, const FloatPoint&amp; textOrigin, const FloatRect&amp; lineExtents) const;
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT float width(const TextRun&amp;, HashSet&lt;const Font*&gt;* fallbackFonts = 0, GlyphOverflow* = 0) const;
</span><del>-    float width(const TextRun&amp;, int&amp; charsConsumed, String&amp; glyphName) const;
</del><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;TextLayout, TextLayoutDeleter&gt; createLayout(RenderText&amp;, float xPos, bool collapseWhiteSpace) const;
</span><span class="cx">     static float width(TextLayout&amp;, unsigned from, unsigned len, HashSet&lt;const Font*&gt;* fallbackFonts = 0);
</span><span class="lines">@@ -223,8 +222,8 @@
</span><span class="cx">     // Returns the initial in-stream advance.
</span><span class="cx">     float getGlyphsAndAdvancesForSimpleText(const TextRun&amp;, int from, int to, GlyphBuffer&amp;, ForTextEmphasisOrNot = NotForTextEmphasis) const;
</span><span class="cx">     void drawEmphasisMarksForSimpleText(GraphicsContext&amp;, const TextRun&amp;, const AtomicString&amp; mark, const FloatPoint&amp;, int from, int to) const;
</span><del>-    void drawGlyphBuffer(GraphicsContext&amp;, const TextRun&amp;, const GlyphBuffer&amp;, FloatPoint&amp;) const;
-    void drawEmphasisMarks(GraphicsContext&amp;, const TextRun&amp;, const GlyphBuffer&amp;, const AtomicString&amp;, const FloatPoint&amp;) const;
</del><ins>+    void drawGlyphBuffer(GraphicsContext&amp;, const GlyphBuffer&amp;, FloatPoint&amp;) const;
+    void drawEmphasisMarks(GraphicsContext&amp;, const GlyphBuffer&amp;, const AtomicString&amp;, const FloatPoint&amp;) const;
</ins><span class="cx">     float floatWidthForSimpleText(const TextRun&amp;, HashSet&lt;const Font*&gt;* fallbackFonts = 0, GlyphOverflow* = 0) const;
</span><span class="cx">     int offsetForPositionForSimpleText(const TextRun&amp;, float position, bool includePartialGlyphs) const;
</span><span class="cx">     void adjustSelectionRectForSimpleText(const TextRun&amp;, LayoutRect&amp; selectionRect, int from, int to) const;
</span><span class="lines">@@ -245,7 +244,6 @@
</span><span class="cx">     static std::pair&lt;unsigned, bool&gt; expansionOpportunityCountInternal(const UChar*, size_t length, TextDirection, ExpansionBehavior);
</span><span class="cx"> 
</span><span class="cx">     friend struct WidthIterator;
</span><del>-    friend class SVGTextRunRenderingContext;
</del><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsContext.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -384,7 +384,7 @@
</span><span class="cx"> 
</span><span class="cx">     float drawText(const FontCascade&amp;, const TextRun&amp;, const FloatPoint&amp;, int from = 0, int to = -1);
</span><span class="cx">     void drawGlyphs(const FontCascade&amp;, const Font&amp;, const GlyphBuffer&amp;, int from, int numGlyphs, const FloatPoint&amp;);
</span><del>-    void drawEmphasisMarks(const FontCascade&amp;, const TextRun&amp; , const AtomicString&amp; mark, const FloatPoint&amp;, int from = 0, int to = -1);
</del><ins>+    void drawEmphasisMarks(const FontCascade&amp;, const TextRun&amp;, const AtomicString&amp; mark, const FloatPoint&amp;, int from = 0, int to = -1);
</ins><span class="cx">     void drawBidiText(const FontCascade&amp;, const TextRun&amp;, const FloatPoint&amp;, FontCascade::CustomFontNotReadyAction = FontCascade::DoNotPaintIfFontNotReady);
</span><span class="cx"> 
</span><span class="cx">     void applyState(const GraphicsContextState&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsSVGGlyphcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/graphics/SVGGlyph.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/SVGGlyph.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/SVGGlyph.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,187 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007, 2008 Nikolas Zimmermann &lt;zimmermann@kde.org&gt;
- * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(SVG_FONTS)
-#include &quot;SVGGlyph.h&quot;
-
-namespace WebCore {
-
-// Helper functions to determine the arabic character forms (initial, medial, terminal, isolated)
-enum ArabicCharShapingMode : uint8_t {
-    SNone = 0,
-    SRight = 1,
-    SDual = 2
-};
-
-static const ArabicCharShapingMode s_arabicCharShapingMode[222] = {
-    SRight, SRight, SRight, SRight, SDual , SRight, SDual , SRight, SDual , SDual , SDual , SDual , SDual , SRight,                 /* 0x0622 - 0x062F */
-    SRight, SRight, SRight, SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SNone , SNone , SNone , SNone , SNone , /* 0x0630 - 0x063F */
-    SNone , SDual , SDual , SDual , SDual , SDual , SDual , SRight, SDual , SDual , SNone , SNone , SNone , SNone , SNone , SNone , /* 0x0640 - 0x064F */
-    SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , /* 0x0650 - 0x065F */
-    SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , /* 0x0660 - 0x066F */
-    SNone , SRight, SRight, SRight, SNone , SRight, SRight, SRight, SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , /* 0x0670 - 0x067F */
-    SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SRight, SRight, SRight, SRight, SRight, SRight, SRight, SRight, /* 0x0680 - 0x068F */
-    SRight, SRight, SRight, SRight, SRight, SRight, SRight, SRight, SRight, SRight, SDual , SDual , SDual , SDual , SDual , SDual , /* 0x0690 - 0x069F */
-    SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , /* 0x06A0 - 0x06AF */
-    SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , SDual , /* 0x06B0 - 0x06BF */
-    SRight, SDual , SRight, SRight, SRight, SRight, SRight, SRight, SRight, SRight, SRight, SRight, SDual , SRight, SDual , SRight, /* 0x06C0 - 0x06CF */
-    SDual , SDual , SRight, SRight, SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , /* 0x06D0 - 0x06DF */
-    SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , /* 0x06E0 - 0x06EF */
-    SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SNone , SDual , SDual , SDual , SNone , SNone , SNone   /* 0x06F0 - 0x06FF */
-};
-
-static inline SVGGlyph::ArabicForm processArabicFormDetection(const UChar&amp; curChar, bool&amp; lastCharShapesRight, SVGGlyph::ArabicForm* prevForm)
-{
-    SVGGlyph::ArabicForm curForm;
-
-    ArabicCharShapingMode shapingMode = SNone;
-    if (curChar &gt;= 0x0622 &amp;&amp; curChar &lt;= 0x06FF)
-        shapingMode = s_arabicCharShapingMode[curChar - 0x0622];
-
-    // Use a simple state machine to identify the actual arabic form
-    // It depends on the order of the arabic form enum:
-    // enum ArabicForm { None = 0, Isolated, Terminal, Initial, Medial };
-
-    if (lastCharShapesRight &amp;&amp; shapingMode == SDual) {
-        if (prevForm) {
-            int correctedForm = (int) *prevForm + 1;
-            ASSERT(correctedForm &gt;= SVGGlyph::None &amp;&amp; correctedForm &lt;= SVGGlyph::Medial);
-            *prevForm = static_cast&lt;SVGGlyph::ArabicForm&gt;(correctedForm);
-        }
-
-        curForm = SVGGlyph::Initial;
-    } else
-        curForm = shapingMode == SNone ? SVGGlyph::None : SVGGlyph::Isolated;
-
-    lastCharShapesRight = shapingMode != SNone;
-    return curForm;
-}
-
-Vector&lt;SVGGlyph::ArabicForm&gt; charactersWithArabicForm(const String&amp; input, bool rtl)
-{
-    Vector&lt;SVGGlyph::ArabicForm&gt; forms;
-    unsigned length = input.length();
-
-    bool containsArabic = false;
-    for (unsigned i = 0; i &lt; length; ++i) {
-        if (ublock_getCode(input[i]) == UBLOCK_ARABIC) {
-            containsArabic = true;
-            break;
-        }
-    }
-
-    if (!containsArabic)
-        return forms;
-
-    bool lastCharShapesRight = false;
-
-    // Start identifying arabic forms
-    if (rtl) {
-        for (int i = length - 1; i &gt;= 0; --i)
-            forms.insert(0, processArabicFormDetection(input[i], lastCharShapesRight, forms.isEmpty() ? 0 : &amp;forms.first()));
-    } else {
-        for (unsigned i = 0; i &lt; length; ++i)
-            forms.append(processArabicFormDetection(input[i], lastCharShapesRight, forms.isEmpty() ? 0 : &amp;forms.last()));
-    }
-
-    return forms;
-}
-
-static inline bool isCompatibleArabicForm(const SVGGlyph&amp; identifier, const Vector&lt;SVGGlyph::ArabicForm&gt;&amp; chars, unsigned startPosition, unsigned endPosition)
-{
-    if (chars.isEmpty())
-        return true;
-
-    Vector&lt;SVGGlyph::ArabicForm&gt;::const_iterator realEnd = chars.end();
-    Vector&lt;SVGGlyph::ArabicForm&gt;::const_iterator it = chars.begin() + static_cast&lt;int&gt;(startPosition);
-    if (it &gt;= realEnd)
-        return true;
-
-    Vector&lt;SVGGlyph::ArabicForm&gt;::const_iterator end = chars.begin() + static_cast&lt;int&gt;(endPosition);
-    if (end &gt;= realEnd)
-        end = realEnd;
-
-    for (; it != end; ++it) {
-        if (*it != static_cast&lt;SVGGlyph::ArabicForm&gt;(identifier.arabicForm) &amp;&amp; *it != SVGGlyph::None)
-            return false;
-    }
-
-    return true;
-}
-
-bool isCompatibleGlyph(const SVGGlyph&amp; identifier, bool isVerticalText, const String&amp; language,
-                       const Vector&lt;SVGGlyph::ArabicForm&gt;&amp; chars, unsigned startPosition, unsigned endPosition)
-{
-    bool valid = true;
-
-    // Check wheter orientation if glyph fits within the request
-    switch (identifier.orientation) {
-    case SVGGlyph::Vertical:
-        valid = isVerticalText;
-        break;
-    case SVGGlyph::Horizontal:
-        valid = !isVerticalText;
-        break;
-    case SVGGlyph::Both:
-        break;
-    }
-
-    if (!valid)
-        return false;
-
-    // Check wheter languages are compatible
-    if (!identifier.languages.isEmpty()) {
-        // This glyph exists only in certain languages, if we're not specifying a
-        // language on the referencing element we're unable to use this glyph.
-        if (language.isEmpty())
-            return false;
-
-        // Split subcode from language, if existant.
-        String languagePrefix;
-
-        size_t subCodeSeparator = language.find('-');
-        if (subCodeSeparator != notFound)
-            languagePrefix = language.left(subCodeSeparator);
-
-        Vector&lt;String&gt;::const_iterator it = identifier.languages.begin();
-        Vector&lt;String&gt;::const_iterator end = identifier.languages.end();
-
-        bool found = false;
-        for (; it != end; ++it) {
-            const String&amp; cur = *it;
-            if (cur == language || cur == languagePrefix) {
-                found = true;
-                break;
-            }
-        }
-
-        if (!found)
-            return false;
-    }
-
-    // Check wheter arabic form is compatible
-    return isCompatibleArabicForm(identifier, chars, startPosition, endPosition);
-}
-
-}
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsSVGGlyphh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/graphics/SVGGlyph.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/SVGGlyph.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/SVGGlyph.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,116 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007 Eric Seidel &lt;eric@webkit.org&gt;
- * Copyright (C) 2007 Nikolas Zimmermann &lt;zimmermann@kde.org&gt;
- * Copyright (C) 2008 Rob Buis &lt;buis@kde.org&gt;
- * Copyright (C) Research In Motion Limited 2011. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef SVGGlyph_h
-#define SVGGlyph_h
-
-#if ENABLE(SVG_FONTS)
-#include &quot;Glyph.h&quot;
-#include &quot;Path.h&quot;
-
-#include &lt;limits&gt;
-#include &lt;wtf/Vector.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace WebCore {
-
-// Describe a glyph from a SVG Font.
-struct SVGGlyph {
-    enum Orientation {
-        Vertical,
-        Horizontal,
-        Both
-    };
-
-    // SVG Font depends on exactly this order.
-    enum ArabicForm {
-        None = 0,
-        Isolated,
-        Terminal,
-        Initial,
-        Medial
-    };
-
-    SVGGlyph()
-        : unicodeStringLength(0)
-        , priority(0)
-        , horizontalAdvanceX(0)
-        , verticalOriginX(0)
-        , verticalOriginY(0)
-        , verticalAdvanceY(0)
-        , tableEntry(0)
-        , isPartOfLigature(false)
-        , orientation(Both)
-        , arabicForm(None)
-    {
-    }
-
-    // Used to mark our float properties as &quot;to be inherited from SVGFontData&quot;
-    static float inheritedValue()
-    {
-        static float s_inheritedValue = std::numeric_limits&lt;float&gt;::infinity();
-        return s_inheritedValue;
-    }
-
-    bool operator==(const SVGGlyph&amp; other) const
-    {
-        return isPartOfLigature == other.isPartOfLigature
-            &amp;&amp; orientation == other.orientation
-            &amp;&amp; arabicForm == other.arabicForm
-            &amp;&amp; tableEntry == other.tableEntry
-            &amp;&amp; unicodeStringLength == other.unicodeStringLength
-            &amp;&amp; glyphName == other.glyphName
-            &amp;&amp; horizontalAdvanceX == other.horizontalAdvanceX
-            &amp;&amp; verticalOriginX == other.verticalOriginX
-            &amp;&amp; verticalOriginY == other.verticalOriginY
-            &amp;&amp; verticalAdvanceY == other.verticalAdvanceY
-            &amp;&amp; languages == other.languages;
-    }
-
-    Vector&lt;String&gt; languages;
-
-    size_t unicodeStringLength;
-    String glyphName;
-
-    Path pathData;
-    int priority;
-
-    float horizontalAdvanceX;
-    float verticalOriginX;
-    float verticalOriginY;
-    float verticalAdvanceY;
-
-    Glyph tableEntry;
-
-    unsigned isPartOfLigature : 1;
-
-    unsigned orientation : 2; // Orientation
-    unsigned arabicForm : 3; // ArabicForm
-};
-
-Vector&lt;SVGGlyph::ArabicForm&gt; charactersWithArabicForm(const String&amp; input, bool rtl);
-bool isCompatibleGlyph(const SVGGlyph&amp;, bool isVerticalText, const String&amp; language, const Vector&lt;SVGGlyph::ArabicForm&gt;&amp;, unsigned startPosition, unsigned endPosition);
-
-} // namespace WebCore
-
-#endif // ENABLE(SVG_FONTS)
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsTextRuncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/TextRun.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/TextRun.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/TextRun.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -29,7 +29,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> struct ExpectedTextRunSize {
</span><del>-    void* renderingContext;
</del><span class="cx">     StringView text;
</span><span class="cx">     unsigned integer1;
</span><span class="cx">     unsigned integer2;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsTextRunh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/TextRun.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/TextRun.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/TextRun.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -116,25 +116,7 @@
</span><span class="cx">     void setCharacterScanForCodePath(bool scan) { m_characterScanForCodePath = scan; }
</span><span class="cx">     StringView text() const { return m_text; }
</span><span class="cx"> 
</span><del>-    class RenderingContext : public RefCounted&lt;RenderingContext&gt; {
-    public:
-        virtual ~RenderingContext() { }
-
-#if ENABLE(SVG_FONTS)
-        virtual GlyphData glyphDataForCharacter(const FontCascade&amp;, WidthIterator&amp;, UChar32 character, bool mirror, int currentCharacter, unsigned&amp; advanceLength, String&amp; normalizedSpacesStringCache) = 0;
-        virtual void drawSVGGlyphs(GraphicsContext&amp;, const Font&amp;, const GlyphBuffer&amp;, int from, int to, const FloatPoint&amp;) const = 0;
-        virtual float floatWidthUsingSVGFont(const FontCascade&amp;, const TextRun&amp;, int&amp; charsConsumed, String&amp; glyphName) const = 0;
-        virtual bool applySVGKerning(const Font*, WidthIterator&amp;, GlyphBuffer*, int from) const = 0;
-        virtual std::unique_ptr&lt;GlyphToPathTranslator&gt; createGlyphToPathTranslator(const Font&amp;, const TextRun*, const GlyphBuffer&amp;, int from, int numGlyphs, const FloatPoint&amp;) const = 0;
-#endif
-    };
-
-    RenderingContext* renderingContext() const { return m_renderingContext.get(); }
-    void setRenderingContext(PassRefPtr&lt;RenderingContext&gt; context) { m_renderingContext = context; }
-
</del><span class="cx"> private:
</span><del>-    RefPtr&lt;RenderingContext&gt; m_renderingContext;
-
</del><span class="cx">     StringView m_text;
</span><span class="cx">     unsigned m_charactersLength; // Marks the end of the characters buffer. Default equals to length of m_text.
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsWidthIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/WidthIterator.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/WidthIterator.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/WidthIterator.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -62,22 +62,6 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-GlyphData WidthIterator::glyphDataForCharacter(UChar32 character, bool mirror, int currentCharacter, unsigned&amp; advanceLength, String&amp; normalizedSpacesStringCache)
-{
-    ASSERT(m_font);
-
-#if ENABLE(SVG_FONTS)
-    if (TextRun::RenderingContext* renderingContext = m_run.renderingContext())
-        return renderingContext-&gt;glyphDataForCharacter(*m_font, *this, character, mirror, currentCharacter, advanceLength, normalizedSpacesStringCache);
-#else
-    UNUSED_PARAM(currentCharacter);
-    UNUSED_PARAM(advanceLength);
-    UNUSED_PARAM(normalizedSpacesStringCache);
-#endif
-
-    return m_font-&gt;glyphDataForCharacter(character, mirror);
-}
-
</del><span class="cx"> struct OriginalAdvancesForCharacterTreatedAsSpace {
</span><span class="cx"> public:
</span><span class="cx">     OriginalAdvancesForCharacterTreatedAsSpace(bool isSpace, float advanceBefore, float advanceAt)
</span><span class="lines">@@ -127,18 +111,7 @@
</span><span class="cx">     if (!ltr)
</span><span class="cx">         glyphBuffer-&gt;reverse(lastGlyphCount, glyphBufferSize - lastGlyphCount);
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_FONTS)
-    // We need to handle transforms on SVG fonts internally, since they are rendered internally.
-    if (font-&gt;isSVGFont()) {
-        // SVG font ligatures are handled during glyph selection, only kerning remaining.
-        if (run().renderingContext() &amp;&amp; m_enableKerning) {
-            // FIXME: We could pass the necessary context down to this level so we can lazily create rendering contexts at this point.
-            // However, a larger refactoring of SVG fonts might necessary to sidestep this problem completely.
-            run().renderingContext()-&gt;applySVGKerning(font, *this, glyphBuffer, lastGlyphCount);
-        }
-    } else
-#endif
-        font-&gt;applyTransforms(glyphBuffer-&gt;glyphs(lastGlyphCount), advances + lastGlyphCount, glyphBufferSize - lastGlyphCount, m_enableKerning, m_requiresShaping);
</del><ins>+    font-&gt;applyTransforms(glyphBuffer-&gt;glyphs(lastGlyphCount), advances + lastGlyphCount, glyphBufferSize - lastGlyphCount, m_enableKerning, m_requiresShaping);
</ins><span class="cx"> 
</span><span class="cx">     if (!ltr)
</span><span class="cx">         glyphBuffer-&gt;reverse(lastGlyphCount, glyphBufferSize - lastGlyphCount);
</span><span class="lines">@@ -219,7 +192,7 @@
</span><span class="cx">     while (textIterator.consume(character, clusterLength)) {
</span><span class="cx">         unsigned advanceLength = clusterLength;
</span><span class="cx">         int currentCharacter = textIterator.currentCharacter();
</span><del>-        const GlyphData&amp; glyphData = glyphDataForCharacter(character, rtl, currentCharacter, advanceLength, normalizedSpacesStringCache);
</del><ins>+        const GlyphData&amp; glyphData = m_font-&gt;glyphDataForCharacter(character, rtl);
</ins><span class="cx">         Glyph glyph = glyphData.glyph;
</span><span class="cx">         if (!glyph) {
</span><span class="cx">             textIterator.advance(advanceLength);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsWidthIteratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/WidthIterator.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/WidthIterator.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/WidthIterator.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -22,9 +22,7 @@
</span><span class="cx"> #ifndef WidthIterator_h
</span><span class="cx"> #define WidthIterator_h
</span><span class="cx"> 
</span><del>-#include &quot;FontCascade.h&quot;
-#include &quot;SVGGlyph.h&quot;
-#include &quot;TextRun.h&quot;
</del><ins>+#include &lt;unicode/umachine.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -55,12 +53,6 @@
</span><span class="cx">     const TextRun&amp; run() const { return m_run; }
</span><span class="cx">     float runWidthSoFar() const { return m_runWidthSoFar; }
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_FONTS)
-    String lastGlyphName() const { return m_lastGlyphName; }
-    void setLastGlyphName(const String&amp; name) { m_lastGlyphName = name; }
-    Vector&lt;SVGGlyph::ArabicForm&gt;&amp; arabicForms() { return m_arabicForms; }
-#endif
-
</del><span class="cx">     const FontCascade* m_font;
</span><span class="cx"> 
</span><span class="cx">     const TextRun&amp; m_run;
</span><span class="lines">@@ -72,13 +64,8 @@
</span><span class="cx">     bool m_isAfterExpansion;
</span><span class="cx">     float m_finalRoundingWidth;
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_FONTS)
-    String m_lastGlyphName;
-    Vector&lt;SVGGlyph::ArabicForm&gt; m_arabicForms;
-#endif
-
</del><span class="cx"> private:
</span><del>-    GlyphData glyphDataForCharacter(UChar32, bool mirror, int currentCharacter, unsigned&amp; advanceLength, String&amp; normalizedSpacesStringCache);
</del><ins>+    GlyphData glyphDataForCharacter(UChar32, bool mirror);
</ins><span class="cx">     template &lt;typename TextIterator&gt;
</span><span class="cx">     inline unsigned advanceInternal(TextIterator&amp;, GlyphBuffer*);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscairoFontCairocpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cairo/FontCairo.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cairo/FontCairo.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/cairo/FontCairo.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -220,7 +220,6 @@
</span><span class="cx">         , m_fontData(glyphBuffer.fontAt(m_index))
</span><span class="cx">         , m_translation(AffineTransform().translate(textOrigin.x(), textOrigin.y()))
</span><span class="cx">     {
</span><del>-        moveToNextValidGlyph();
</del><span class="cx">     }
</span><span class="cx"> private:
</span><span class="cx">     bool containsMorePaths() override
</span><span class="lines">@@ -231,7 +230,6 @@
</span><span class="cx">     std::pair&lt;float, float&gt; extents() override;
</span><span class="cx">     GlyphUnderlineType underlineType() override;
</span><span class="cx">     void advance() override;
</span><del>-    void moveToNextValidGlyph();
</del><span class="cx"> 
</span><span class="cx">     int m_index;
</span><span class="cx">     const TextRun&amp; m_textRun;
</span><span class="lines">@@ -272,23 +270,13 @@
</span><span class="cx">     return computeUnderlineType(m_textRun, m_glyphBuffer, m_index);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CairoGlyphToPathTranslator::moveToNextValidGlyph()
-{
-    if (!m_fontData-&gt;isSVGFont())
-        return;
-    advance();
-}
-
</del><span class="cx"> void CairoGlyphToPathTranslator::advance()
</span><span class="cx"> {
</span><del>-    do {
-        GlyphBufferAdvance advance = m_glyphBuffer.advanceAt(m_index);
-        m_translation = m_translation.translate(advance.width(), advance.height());
-        ++m_index;
-        if (m_index &gt;= m_glyphBuffer.size())
-            break;
</del><ins>+    GlyphBufferAdvance advance = m_glyphBuffer.advanceAt(m_index);
+    m_translation = m_translation.translate(advance.width(), advance.height());
+    ++m_index;
+    if (m_index &lt; m_glyphBuffer.size())
</ins><span class="cx">         m_fontData = m_glyphBuffer.fontAt(m_index);
</span><del>-    } while (m_fontData-&gt;isSVGFont() &amp;&amp; m_index &lt; m_glyphBuffer.size());
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DashArray FontCascade::dashesForIntersectionsWithRect(const TextRun&amp; run, const FloatPoint&amp; textOrigin, const FloatRect&amp; lineExtents) const
</span><span class="lines">@@ -308,27 +296,14 @@
</span><span class="cx">         return DashArray();
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Handle SVG + non-SVG interleaved runs. https://bugs.webkit.org/show_bug.cgi?id=133778
</span><del>-    const Font* fontData = glyphBuffer.fontAt(0);
-    std::unique_ptr&lt;GlyphToPathTranslator&gt; translator;
-    bool isSVG = false;
</del><span class="cx">     FloatPoint origin = FloatPoint(textOrigin.x() + deltaX, textOrigin.y());
</span><del>-    if (!fontData-&gt;isSVGFont())
-        translator = std::make_unique&lt;CairoGlyphToPathTranslator&gt;(run, glyphBuffer, origin);
-#if ENABLE(SVG_FONTS)
-    else {
-        TextRun::RenderingContext* renderingContext = run.renderingContext();
-        if (!renderingContext)
-            return DashArray();
-        translator = renderingContext-&gt;createGlyphToPathTranslator(*fontData, &amp;run, glyphBuffer, 0, glyphBuffer.size(), origin);
-        isSVG = true;
-    }
-#endif
</del><ins>+    std::unique_ptr&lt;GlyphToPathTranslator&gt; translator = std::make_unique&lt;CairoGlyphToPathTranslator&gt;(run, glyphBuffer, origin);
</ins><span class="cx">     DashArray result;
</span><span class="cx">     for (int index = 0; translator-&gt;containsMorePaths(); ++index, translator-&gt;advance()) {
</span><span class="cx">         float centerOfLine = lineExtents.y() + (lineExtents.height() / 2);
</span><span class="cx">         GlyphIterationState info = GlyphIterationState(FloatPoint(), FloatPoint(), centerOfLine, lineExtents.x() + lineExtents.width(), lineExtents.x());
</span><span class="cx">         const Font* localFontData = glyphBuffer.fontAt(index);
</span><del>-        if (!localFontData || (!isSVG &amp;&amp; localFontData-&gt;isSVGFont()) || (isSVG &amp;&amp; localFontData != fontData)) {
</del><ins>+        if (!localFontData) {
</ins><span class="cx">             // The advances will get all messed up if we do anything other than bail here.
</span><span class="cx">             result.clear();
</span><span class="cx">             break;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscocoaFontCascadeCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -426,7 +426,6 @@
</span><span class="cx">         , m_fontData(glyphBuffer.fontAt(m_index))
</span><span class="cx">         , m_translation(CGAffineTransformScale(CGAffineTransformMakeTranslation(textOrigin.x(), textOrigin.y()), 1, -1))
</span><span class="cx">     {
</span><del>-        moveToNextValidGlyph();
</del><span class="cx">     }
</span><span class="cx"> private:
</span><span class="cx">     bool containsMorePaths() override
</span><span class="lines">@@ -437,7 +436,6 @@
</span><span class="cx">     std::pair&lt;float, float&gt; extents() override;
</span><span class="cx">     GlyphUnderlineType underlineType() override;
</span><span class="cx">     void advance() override;
</span><del>-    void moveToNextValidGlyph();
</del><span class="cx"> 
</span><span class="cx">     int m_index;
</span><span class="cx">     const TextRun&amp; m_textRun;
</span><span class="lines">@@ -464,23 +462,13 @@
</span><span class="cx">     return computeUnderlineType(m_textRun, m_glyphBuffer, m_index);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MacGlyphToPathTranslator::moveToNextValidGlyph()
-{
-    if (!m_fontData-&gt;isSVGFont())
-        return;
-    advance();
-}
-
</del><span class="cx"> void MacGlyphToPathTranslator::advance()
</span><span class="cx"> {
</span><del>-    do {
-        GlyphBufferAdvance advance = m_glyphBuffer.advanceAt(m_index);
-        m_translation = CGAffineTransformTranslate(m_translation, advance.width(), advance.height());
-        ++m_index;
-        if (m_index &gt;= m_glyphBuffer.size())
-            break;
</del><ins>+    GlyphBufferAdvance advance = m_glyphBuffer.advanceAt(m_index);
+    m_translation = CGAffineTransformTranslate(m_translation, advance.width(), advance.height());
+    ++m_index;
+    if (m_index &lt; m_glyphBuffer.size())
</ins><span class="cx">         m_fontData = m_glyphBuffer.fontAt(m_index);
</span><del>-    } while (m_fontData-&gt;isSVGFont() &amp;&amp; m_index &lt; m_glyphBuffer.size());
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DashArray FontCascade::dashesForIntersectionsWithRect(const TextRun&amp; run, const FloatPoint&amp; textOrigin, const FloatRect&amp; lineExtents) const
</span><span class="lines">@@ -500,24 +488,13 @@
</span><span class="cx">         return DashArray();
</span><span class="cx">     
</span><span class="cx">     // FIXME: Handle SVG + non-SVG interleaved runs. https://bugs.webkit.org/show_bug.cgi?id=133778
</span><del>-    const Font* fontData = glyphBuffer.fontAt(0);
-    std::unique_ptr&lt;GlyphToPathTranslator&gt; translator;
-    bool isSVG = false;
</del><span class="cx">     FloatPoint origin = FloatPoint(textOrigin.x() + deltaX, textOrigin.y());
</span><del>-    if (!fontData-&gt;isSVGFont())
-        translator = std::make_unique&lt;MacGlyphToPathTranslator&gt;(run, glyphBuffer, origin);
-    else {
-        TextRun::RenderingContext* renderingContext = run.renderingContext();
-        if (!renderingContext)
-            return DashArray();
-        translator = renderingContext-&gt;createGlyphToPathTranslator(*fontData, &amp;run, glyphBuffer, 0, glyphBuffer.size(), origin);
-        isSVG = true;
-    }
</del><ins>+    std::unique_ptr&lt;GlyphToPathTranslator&gt; translator = std::make_unique&lt;MacGlyphToPathTranslator&gt;(run, glyphBuffer, origin);
</ins><span class="cx">     DashArray result;
</span><span class="cx">     for (int index = 0; translator-&gt;containsMorePaths(); ++index, translator-&gt;advance()) {
</span><span class="cx">         GlyphIterationState info = GlyphIterationState(CGPointMake(0, 0), CGPointMake(0, 0), lineExtents.y(), lineExtents.y() + lineExtents.height(), lineExtents.x() + lineExtents.width(), lineExtents.x());
</span><span class="cx">         const Font* localFont = glyphBuffer.fontAt(index);
</span><del>-        if (!localFont || (!isSVG &amp;&amp; localFont-&gt;isSVGFont()) || (isSVG &amp;&amp; localFont != fontData)) {
</del><ins>+        if (!localFont) {
</ins><span class="cx">             // The advances will get all messed up if we do anything other than bail here.
</span><span class="cx">             result.clear();
</span><span class="cx">             break;
</span><span class="lines">@@ -550,7 +527,7 @@
</span><span class="cx"> bool FontCascade::primaryFontIsSystemFont() const
</span><span class="cx"> {
</span><span class="cx">     const auto&amp; fontData = primaryFont();
</span><del>-    return !fontData.isSVGFont() &amp;&amp; CTFontDescriptorIsSystemUIFont(adoptCF(CTFontCopyFontDescriptor(fontData.platformData().ctFont())).get());
</del><ins>+    return CTFontDescriptorIsSystemUIFont(adoptCF(CTFontCopyFontDescriptor(fontData.platformData().ctFont())).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FontCascade::adjustSelectionRectForComplexText(const TextRun&amp; run, LayoutRect&amp; selectionRect, int from, int to) const
</span><span class="lines">@@ -599,7 +576,7 @@
</span><span class="cx">     if (glyphBuffer.isEmpty())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    drawEmphasisMarks(context, run, glyphBuffer, mark, FloatPoint(point.x() + initialAdvance, point.y()));
</del><ins>+    drawEmphasisMarks(context, glyphBuffer, mark, FloatPoint(point.x() + initialAdvance, point.y()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> float FontCascade::floatWidthForComplexText(const TextRun&amp; run, HashSet&lt;const Font*&gt;* fallbackFonts, GlyphOverflow* glyphOverflow) const
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsharfbuzzHarfBuzzShapercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaper.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaper.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaper.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -466,8 +466,6 @@
</span><span class="cx">         unsigned runIndex = m_run.rtl() ? m_harfBuzzRuns.size() - i - 1 : i;
</span><span class="cx">         HarfBuzzRun* currentRun = m_harfBuzzRuns[runIndex].get();
</span><span class="cx">         const Font* currentFontData = currentRun-&gt;fontData();
</span><del>-        if (currentFontData-&gt;isSVGFont())
-            return false;
</del><span class="cx"> 
</span><span class="cx">         hb_buffer_set_script(harfBuzzBuffer.get(), currentRun-&gt;script());
</span><span class="cx">         if (shouldSetDirection)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsmacComplexTextControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/mac/ComplexTextController.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/mac/ComplexTextController.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/mac/ComplexTextController.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -51,13 +51,13 @@
</span><span class="cx"> public:
</span><span class="cx">     static bool isNeeded(RenderText&amp; text, const FontCascade&amp; font)
</span><span class="cx">     {
</span><del>-        TextRun run = RenderBlock::constructTextRun(&amp;text, font, &amp;text, text.style());
</del><ins>+        TextRun run = RenderBlock::constructTextRun(&amp;text, text.style());
</ins><span class="cx">         return font.codePath(run) == FontCascade::Complex;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     TextLayout(RenderText&amp; text, const FontCascade&amp; font, float xPos)
</span><span class="cx">         : m_font(font)
</span><del>-        , m_run(constructTextRun(text, font, xPos))
</del><ins>+        , m_run(constructTextRun(text, xPos))
</ins><span class="cx">         , m_controller(std::make_unique&lt;ComplexTextController&gt;(m_font, m_run, true))
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="lines">@@ -74,9 +74,9 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    static TextRun constructTextRun(RenderText&amp; text, const FontCascade&amp; font, float xPos)
</del><ins>+    static TextRun constructTextRun(RenderText&amp; text, float xPos)
</ins><span class="cx">     {
</span><del>-        TextRun run = RenderBlock::constructTextRun(&amp;text, font, &amp;text, text.style());
</del><ins>+        TextRun run = RenderBlock::constructTextRun(&amp;text, text.style());
</ins><span class="cx">         run.setCharactersLength(text.textLength());
</span><span class="cx">         ASSERT(run.charactersLength() &gt;= run.length());
</span><span class="cx">         run.setXPos(xPos);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicswinFontWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/win/FontWin.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/win/FontWin.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/platform/graphics/win/FontWin.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     if (glyphBuffer.isEmpty())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    drawEmphasisMarks(context, run, glyphBuffer, mark, FloatPoint(point.x() + initialAdvance, point.y()));
</del><ins>+    drawEmphasisMarks(context, glyphBuffer, mark, FloatPoint(point.x() + initialAdvance, point.y()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> float FontCascade::floatWidthForComplexText(const TextRun&amp; run, HashSet&lt;const Font*&gt;* fallbackFonts, GlyphOverflow* glyphOverflow) const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingEllipsisBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/EllipsisBox.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/EllipsisBox.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/EllipsisBox.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Why is this always LTR? Fix by passing correct text run flags below.
</span><del>-    context.drawText(font, RenderBlock::constructTextRun(&amp;blockFlow(), font, m_str, lineStyle, AllowTrailingExpansion), LayoutPoint(x() + paintOffset.x(), y() + paintOffset.y() + lineStyle.fontMetrics().ascent()));
</del><ins>+    context.drawText(font, RenderBlock::constructTextRun(m_str, lineStyle, AllowTrailingExpansion), LayoutPoint(x() + paintOffset.x(), y() + paintOffset.y() + lineStyle.fontMetrics().ascent()));
</ins><span class="cx"> 
</span><span class="cx">     // Restore the regular fill color.
</span><span class="cx">     if (textColor != context.fillColor())
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx">     const RootInlineBox&amp; rootBox = root();
</span><span class="cx">     // FIXME: Why is this always LTR? Fix by passing correct text run flags below.
</span><span class="cx">     LayoutRect selectionRect = LayoutRect(x(), y() + rootBox.selectionTopAdjustedForPrecedingBlock(), 0, rootBox.selectionHeightAdjustedForPrecedingBlock());
</span><del>-    font.adjustSelectionRectForText(RenderBlock::constructTextRun(&amp;blockFlow(), font, m_str, lineStyle, AllowTrailingExpansion), selectionRect);
</del><ins>+    font.adjustSelectionRectForText(RenderBlock::constructTextRun(m_str, lineStyle, AllowTrailingExpansion), selectionRect);
</ins><span class="cx">     // FIXME: use directional pixel snapping instead.
</span><span class="cx">     return enclosingIntRect(selectionRect);
</span><span class="cx"> }
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">     GraphicsContextStateSaver stateSaver(context);
</span><span class="cx">     // FIXME: Why is this always LTR? Fix by passing correct text run flags below.
</span><span class="cx">     LayoutRect selectionRect = LayoutRect(x() + paintOffset.x(), y() + paintOffset.y() + rootBox.selectionTop(), 0, rootBox.selectionHeight());
</span><del>-    TextRun run = RenderBlock::constructTextRun(&amp;blockFlow(), font, m_str, style, AllowTrailingExpansion);
</del><ins>+    TextRun run = RenderBlock::constructTextRun(m_str, style, AllowTrailingExpansion);
</ins><span class="cx">     font.adjustSelectionRectForText(run, selectionRect, 0, -1);
</span><span class="cx">     context.fillRect(snapRectToDevicePixelsWithWritingDirection(selectionRect, renderer().document().deviceScaleFactor(), run.ltr()), c);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineTextBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineTextBox.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineTextBox.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/InlineTextBox.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx"> #include &quot;RenderTheme.h&quot;
</span><span class="cx"> #include &quot;RenderView.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</span><del>-#include &quot;SVGTextRunRenderingContext.h&quot;
</del><span class="cx"> #include &quot;Text.h&quot;
</span><span class="cx"> #include &quot;TextDecorationPainter.h&quot;
</span><span class="cx"> #include &quot;TextPaintStyle.h&quot;
</span><span class="lines">@@ -206,7 +205,7 @@
</span><span class="cx"> 
</span><span class="cx">     String hyphenatedStringBuffer;
</span><span class="cx">     bool respectHyphen = ePos == m_len &amp;&amp; hasHyphen();
</span><del>-    TextRun textRun = constructTextRun(lineStyle, font, respectHyphen ? &amp;hyphenatedStringBuffer : 0);
</del><ins>+    TextRun textRun = constructTextRun(lineStyle, respectHyphen ? &amp;hyphenatedStringBuffer : 0);
</ins><span class="cx"> 
</span><span class="cx">     LayoutRect selectionRect = LayoutRect(LayoutPoint(logicalLeft(), selectionTop), LayoutSize(m_logicalWidth, selectionHeight));
</span><span class="cx">     // Avoid computing the font width when the entire line box is selected as an optimization.
</span><span class="lines">@@ -513,7 +512,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     String hyphenatedStringBuffer;
</span><del>-    TextRun textRun = constructTextRun(lineStyle, font, string, maximumLength, hasHyphen() ? &amp;hyphenatedStringBuffer : nullptr);
</del><ins>+    TextRun textRun = constructTextRun(lineStyle, string, maximumLength, hasHyphen() ? &amp;hyphenatedStringBuffer : nullptr);
</ins><span class="cx">     if (hasHyphen())
</span><span class="cx">         length = textRun.length();
</span><span class="cx"> 
</span><span class="lines">@@ -650,7 +649,7 @@
</span><span class="cx"> 
</span><span class="cx">     String hyphenatedStringBuffer;
</span><span class="cx">     bool respectHyphen = ePos == length &amp;&amp; hasHyphen();
</span><del>-    TextRun textRun = constructTextRun(style, font, string, renderer().textLength() - m_start, respectHyphen ? &amp;hyphenatedStringBuffer : nullptr);
</del><ins>+    TextRun textRun = constructTextRun(style, string, renderer().textLength() - m_start, respectHyphen ? &amp;hyphenatedStringBuffer : nullptr);
</ins><span class="cx">     if (respectHyphen)
</span><span class="cx">         ePos = textRun.length();
</span><span class="cx"> 
</span><span class="lines">@@ -688,7 +687,7 @@
</span><span class="cx"> 
</span><span class="cx">     LayoutUnit deltaY = renderer().style().isFlippedLinesWritingMode() ? selectionBottom() - logicalBottom() : logicalTop() - selectionTop();
</span><span class="cx">     LayoutRect selectionRect = LayoutRect(boxOrigin.x(), boxOrigin.y() - deltaY, 0, selectionHeight());
</span><del>-    TextRun textRun = constructTextRun(style, font);
</del><ins>+    TextRun textRun = constructTextRun(style);
</ins><span class="cx">     font.adjustSelectionRectForText(textRun, selectionRect, sPos, ePos);
</span><span class="cx">     context.fillRect(snapRectToDevicePixelsWithWritingDirection(selectionRect, renderer().document().deviceScaleFactor(), textRun.ltr()), compositionColor);
</span><span class="cx"> }
</span><span class="lines">@@ -781,7 +780,7 @@
</span><span class="cx">         int deltaY = renderer().style().isFlippedLinesWritingMode() ? selectionBottom() - logicalBottom() : logicalTop() - selectionTop();
</span><span class="cx">         int selHeight = selectionHeight();
</span><span class="cx">         FloatPoint startPoint(boxOrigin.x(), boxOrigin.y() - deltaY);
</span><del>-        TextRun run = constructTextRun(style, font);
</del><ins>+        TextRun run = constructTextRun(style);
</ins><span class="cx"> 
</span><span class="cx">         LayoutRect selectionRect = LayoutRect(startPoint, FloatSize(0, selHeight));
</span><span class="cx">         font.adjustSelectionRectForText(run, selectionRect, startPosition, endPosition);
</span><span class="lines">@@ -826,7 +825,7 @@
</span><span class="cx"> 
</span><span class="cx">     int sPos = std::max&lt;int&gt;(marker.startOffset() - m_start, 0);
</span><span class="cx">     int ePos = std::min&lt;int&gt;(marker.endOffset() - m_start, m_len);
</span><del>-    TextRun run = constructTextRun(style, font);
</del><ins>+    TextRun run = constructTextRun(style);
</ins><span class="cx">     font.adjustSelectionRectForText(run, selectionRect, sPos, ePos);
</span><span class="cx"> 
</span><span class="cx">     if (selectionRect.isEmpty())
</span><span class="lines">@@ -987,7 +986,7 @@
</span><span class="cx"> 
</span><span class="cx">     const RenderStyle&amp; lineStyle = this-&gt;lineStyle();
</span><span class="cx">     const FontCascade&amp; font = fontToUse(lineStyle, renderer());
</span><del>-    return font.offsetForPosition(constructTextRun(lineStyle, font), lineOffset - logicalLeft(), includePartialGlyphs);
</del><ins>+    return font.offsetForPosition(constructTextRun(lineStyle), lineOffset - logicalLeft(), includePartialGlyphs);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> float InlineTextBox::positionForOffset(int offset) const
</span><span class="lines">@@ -1004,12 +1003,12 @@
</span><span class="cx">     int to = !isLeftToRightDirection() ? m_len : offset - m_start;
</span><span class="cx">     // FIXME: Do we need to add rightBearing here?
</span><span class="cx">     LayoutRect selectionRect = LayoutRect(logicalLeft(), 0, 0, 0);
</span><del>-    TextRun run = constructTextRun(lineStyle, font);
</del><ins>+    TextRun run = constructTextRun(lineStyle);
</ins><span class="cx">     font.adjustSelectionRectForText(run, selectionRect, from, to);
</span><span class="cx">     return snapRectToDevicePixelsWithWritingDirection(selectionRect, renderer().document().deviceScaleFactor(), run.ltr()).maxX();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-TextRun InlineTextBox::constructTextRun(const RenderStyle&amp; style, const FontCascade&amp; font, String* hyphenatedStringBuffer) const
</del><ins>+TextRun InlineTextBox::constructTextRun(const RenderStyle&amp; style, String* hyphenatedStringBuffer) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(renderer().text());
</span><span class="cx"> 
</span><span class="lines">@@ -1020,10 +1019,10 @@
</span><span class="cx">     if (string.length() != length || startPos)
</span><span class="cx">         string = string.substringSharingImpl(startPos, length);
</span><span class="cx"> 
</span><del>-    return constructTextRun(style, font, string, renderer().textLength() - startPos, hyphenatedStringBuffer);
</del><ins>+    return constructTextRun(style, string, renderer().textLength() - startPos, hyphenatedStringBuffer);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-TextRun InlineTextBox::constructTextRun(const RenderStyle&amp; style, const FontCascade&amp; font, String string, unsigned maximumLength, String* hyphenatedStringBuffer) const
</del><ins>+TextRun InlineTextBox::constructTextRun(const RenderStyle&amp; style, String string, unsigned maximumLength, String* hyphenatedStringBuffer) const
</ins><span class="cx"> {
</span><span class="cx">     unsigned length = string.length();
</span><span class="cx"> 
</span><span class="lines">@@ -1038,8 +1037,6 @@
</span><span class="cx"> 
</span><span class="cx">     TextRun run(string, textPos(), expansion(), expansionBehavior(), direction(), dirOverride() || style.rtlOrdering() == VisualOrder, !renderer().canUseSimpleFontCodePath());
</span><span class="cx">     run.setTabSize(!style.collapseWhiteSpace(), style.tabSize());
</span><del>-    if (font.primaryFont().isSVGFont())
-        run.setRenderingContext(SVGTextRunRenderingContext::create(renderer()));
</del><span class="cx"> 
</span><span class="cx">     // Propagate the maximum length of the characters buffer to the TextRun, even when we're only processing a substring.
</span><span class="cx">     run.setCharactersLength(maximumLength);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineTextBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineTextBox.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineTextBox.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/InlineTextBox.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -112,8 +112,8 @@
</span><span class="cx">     LayoutUnit selectionBottom() const;
</span><span class="cx">     LayoutUnit selectionHeight() const;
</span><span class="cx"> 
</span><del>-    TextRun constructTextRun(const RenderStyle&amp;, const FontCascade&amp;, String* hyphenatedStringBuffer = nullptr) const;
-    TextRun constructTextRun(const RenderStyle&amp;, const FontCascade&amp;, String, unsigned maximumLength, String* hyphenatedStringBuffer = nullptr) const;
</del><ins>+    TextRun constructTextRun(const RenderStyle&amp;, String* hyphenatedStringBuffer = nullptr) const;
+    TextRun constructTextRun(const RenderStyle&amp;, String, unsigned maximumLength, String* hyphenatedStringBuffer = nullptr) const;
</ins><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     FloatRect calculateBoundaries() const override { return FloatRect(x(), y(), width(), height()); }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlock.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -65,7 +65,6 @@
</span><span class="cx"> #include &quot;RenderTheme.h&quot;
</span><span class="cx"> #include &quot;RenderTreePosition.h&quot;
</span><span class="cx"> #include &quot;RenderView.h&quot;
</span><del>-#include &quot;SVGTextRunRenderingContext.h&quot;
</del><span class="cx"> #include &quot;Settings.h&quot;
</span><span class="cx"> #include &quot;ShadowRoot.h&quot;
</span><span class="cx"> #include &quot;TextBreakIterator.h&quot;
</span><span class="lines">@@ -3703,7 +3702,7 @@
</span><span class="cx">     return &quot;RenderBlock&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-TextRun RenderBlock::constructTextRun(RenderObject* context, const FontCascade&amp; font, StringView stringView, const RenderStyle&amp; style, ExpansionBehavior expansion, TextRunFlags flags)
</del><ins>+TextRun RenderBlock::constructTextRun(StringView stringView, const RenderStyle&amp; style, ExpansionBehavior expansion, TextRunFlags flags)
</ins><span class="cx"> {
</span><span class="cx">     TextDirection textDirection = LTR;
</span><span class="cx">     bool directionalOverride = style.rtlOrdering() == VisualOrder;
</span><span class="lines">@@ -3713,40 +3712,34 @@
</span><span class="cx">         if (flags &amp; RespectDirectionOverride)
</span><span class="cx">             directionalOverride |= isOverride(style.unicodeBidi());
</span><span class="cx">     }
</span><del>-    TextRun run(stringView, 0, 0, expansion, textDirection, directionalOverride);
-    if (font.primaryFont().isSVGFont()) {
-        ASSERT(context); // FIXME: Thread a RenderObject&amp; to this point so we don't have to dereference anything.
-        run.setRenderingContext(SVGTextRunRenderingContext::create(*context));
-    }
-
-    return run;
</del><ins>+    return TextRun(stringView, 0, 0, expansion, textDirection, directionalOverride);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-TextRun RenderBlock::constructTextRun(RenderObject* context, const FontCascade&amp; font, const String&amp; string, const RenderStyle&amp; style, ExpansionBehavior expansion, TextRunFlags flags)
</del><ins>+TextRun RenderBlock::constructTextRun(const String&amp; string, const RenderStyle&amp; style, ExpansionBehavior expansion, TextRunFlags flags)
</ins><span class="cx"> {
</span><del>-    return constructTextRun(context, font, StringView(string), style, expansion, flags);
</del><ins>+    return constructTextRun(StringView(string), style, expansion, flags);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-TextRun RenderBlock::constructTextRun(RenderObject* context, const FontCascade&amp; font, const RenderText* text, const RenderStyle&amp; style, ExpansionBehavior expansion)
</del><ins>+TextRun RenderBlock::constructTextRun(const RenderText* text, const RenderStyle&amp; style, ExpansionBehavior expansion)
</ins><span class="cx"> {
</span><del>-    return constructTextRun(context, font, text-&gt;stringView(), style, expansion);
</del><ins>+    return constructTextRun(text-&gt;stringView(), style, expansion);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-TextRun RenderBlock::constructTextRun(RenderObject* context, const FontCascade&amp; font, const RenderText* text, unsigned offset, unsigned length, const RenderStyle&amp; style, ExpansionBehavior expansion)
</del><ins>+TextRun RenderBlock::constructTextRun(const RenderText* text, unsigned offset, unsigned length, const RenderStyle&amp; style, ExpansionBehavior expansion)
</ins><span class="cx"> {
</span><span class="cx">     unsigned stop = offset + length;
</span><span class="cx">     ASSERT(stop &lt;= text-&gt;textLength());
</span><del>-    return constructTextRun(context, font, text-&gt;stringView(offset, stop), style, expansion);
</del><ins>+    return constructTextRun(text-&gt;stringView(offset, stop), style, expansion);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-TextRun RenderBlock::constructTextRun(RenderObject* context, const FontCascade&amp; font, const LChar* characters, int length, const RenderStyle&amp; style, ExpansionBehavior expansion)
</del><ins>+TextRun RenderBlock::constructTextRun(const LChar* characters, int length, const RenderStyle&amp; style, ExpansionBehavior expansion)
</ins><span class="cx"> {
</span><del>-    return constructTextRun(context, font, StringView(characters, length), style, expansion);
</del><ins>+    return constructTextRun(StringView(characters, length), style, expansion);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-TextRun RenderBlock::constructTextRun(RenderObject* context, const FontCascade&amp; font, const UChar* characters, int length, const RenderStyle&amp; style, ExpansionBehavior expansion)
</del><ins>+TextRun RenderBlock::constructTextRun(const UChar* characters, int length, const RenderStyle&amp; style, ExpansionBehavior expansion)
</ins><span class="cx"> {
</span><del>-    return constructTextRun(context, font, StringView(characters, length), style, expansion);
</del><ins>+    return constructTextRun(StringView(characters, length), style, expansion);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RenderBlock* RenderBlock::createAnonymousWithParentRendererAndDisplay(const RenderObject* parent, EDisplay display)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlock.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlock.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderBlock.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -205,17 +205,17 @@
</span><span class="cx">         return obj.isFloating() || (obj.isOutOfFlowPositioned() &amp;&amp; !obj.style().isOriginalDisplayInlineType() &amp;&amp; !obj.container()-&gt;isRenderInline());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static TextRun constructTextRun(RenderObject* context, const FontCascade&amp;, StringView, const RenderStyle&amp;,
</del><ins>+    static TextRun constructTextRun(StringView, const RenderStyle&amp;,
</ins><span class="cx">         ExpansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextRunFlags = DefaultTextRunFlags);
</span><del>-    static TextRun constructTextRun(RenderObject* context, const FontCascade&amp;, const String&amp;, const RenderStyle&amp;,
</del><ins>+    static TextRun constructTextRun(const String&amp;, const RenderStyle&amp;,
</ins><span class="cx">         ExpansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextRunFlags = DefaultTextRunFlags);
</span><del>-    static TextRun constructTextRun(RenderObject* context, const FontCascade&amp;, const RenderText*, const RenderStyle&amp;,
</del><ins>+    static TextRun constructTextRun(const RenderText*, const RenderStyle&amp;,
</ins><span class="cx">         ExpansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion);
</span><del>-    static TextRun constructTextRun(RenderObject* context, const FontCascade&amp;, const RenderText*, unsigned offset, unsigned length, const RenderStyle&amp;,
</del><ins>+    static TextRun constructTextRun(const RenderText*, unsigned offset, unsigned length, const RenderStyle&amp;,
</ins><span class="cx">         ExpansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion);
</span><del>-    static TextRun constructTextRun(RenderObject* context, const FontCascade&amp;, const LChar* characters, int length, const RenderStyle&amp;,
</del><ins>+    static TextRun constructTextRun(const LChar* characters, int length, const RenderStyle&amp;,
</ins><span class="cx">         ExpansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion);
</span><del>-    static TextRun constructTextRun(RenderObject* context, const FontCascade&amp;, const UChar* characters, int length, const RenderStyle&amp;,
</del><ins>+    static TextRun constructTextRun(const UChar* characters, int length, const RenderStyle&amp;,
</ins><span class="cx">         ExpansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion);
</span><span class="cx">     
</span><span class="cx">     LayoutUnit paginationStrut() const;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockFlowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -4020,7 +4020,7 @@
</span><span class="cx">         RenderText&amp; renderText = downcast&lt;RenderText&gt;(*trailingSpaceChild);
</span><span class="cx">         const UChar space = ' ';
</span><span class="cx">         const FontCascade&amp; font = renderText.style().fontCascade(); // FIXME: This ignores first-line.
</span><del>-        float spaceWidth = font.width(RenderBlock::constructTextRun(&amp;renderText, font, &amp;space, 1, renderText.style()));
</del><ins>+        float spaceWidth = font.width(RenderBlock::constructTextRun(&amp;space, 1, renderText.style()));
</ins><span class="cx">         inlineMax -= spaceWidth + font.wordSpacing();
</span><span class="cx">         if (inlineMin &gt; inlineMax)
</span><span class="cx">             inlineMin = inlineMax;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockLineLayoutcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -2079,8 +2079,8 @@
</span><span class="cx">     const FontCascade&amp; font = style().fontCascade();
</span><span class="cx">     static NeverDestroyed&lt;AtomicString&gt; ellipsisStr(&amp;horizontalEllipsis, 1);
</span><span class="cx">     const FontCascade&amp; firstLineFont = firstLineStyle().fontCascade();
</span><del>-    float firstLineEllipsisWidth = firstLineFont.width(constructTextRun(this, firstLineFont, &amp;horizontalEllipsis, 1, firstLineStyle()));
-    float ellipsisWidth = (font == firstLineFont) ? firstLineEllipsisWidth : font.width(constructTextRun(this, font, &amp;horizontalEllipsis, 1, style()));
</del><ins>+    float firstLineEllipsisWidth = firstLineFont.width(constructTextRun(&amp;horizontalEllipsis, 1, firstLineStyle()));
+    float ellipsisWidth = (font == firstLineFont) ? firstLineEllipsisWidth : font.width(constructTextRun(&amp;horizontalEllipsis, 1, style()));
</ins><span class="cx"> 
</span><span class="cx">     // For LTR text truncation, we want to get the right edge of our padding box, and then we want to see
</span><span class="cx">     // if the right edge of a line box exceeds that.  For RTL, we use the left edge of the padding box and
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderDeprecatedFlexibleBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -996,10 +996,10 @@
</span><span class="cx">         LayoutUnit totalWidth;
</span><span class="cx">         InlineBox* anchorBox = lastLine-&gt;lastChild();
</span><span class="cx">         if (anchorBox &amp;&amp; anchorBox-&gt;renderer().style().isLink())
</span><del>-            totalWidth = anchorBox-&gt;logicalWidth() + font.width(constructTextRun(this, font, ellipsisAndSpace, 2, style()));
</del><ins>+            totalWidth = anchorBox-&gt;logicalWidth() + font.width(constructTextRun(ellipsisAndSpace, 2, style()));
</ins><span class="cx">         else {
</span><span class="cx">             anchorBox = nullptr;
</span><del>-            totalWidth = font.width(constructTextRun(this, font, &amp;horizontalEllipsis, 1, style()));
</del><ins>+            totalWidth = font.width(constructTextRun(&amp;horizontalEllipsis, 1, style()));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // See if this width can be accommodated on the last visible line
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFileUploadControlcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -133,7 +133,7 @@
</span><span class="cx">     if (paintInfo.phase == PaintPhaseForeground) {
</span><span class="cx">         const String&amp; displayedFilename = fileTextValue();
</span><span class="cx">         const FontCascade&amp; font = style().fontCascade();
</span><del>-        TextRun textRun = constructTextRun(this, font, displayedFilename, style(), AllowTrailingExpansion, RespectDirection | RespectDirectionOverride);
</del><ins>+        TextRun textRun = constructTextRun(displayedFilename, style(), AllowTrailingExpansion, RespectDirection | RespectDirectionOverride);
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">         int iconHeight = nodeHeight(uploadButton());
</span><span class="lines">@@ -202,11 +202,10 @@
</span><span class="cx">     const String characterAsString = String(&amp;character, 1);
</span><span class="cx">     const FontCascade&amp; font = style().fontCascade();
</span><span class="cx">     // FIXME: Remove the need for this const_cast by making constructTextRun take a const RenderObject*.
</span><del>-    RenderFileUploadControl* renderer = const_cast&lt;RenderFileUploadControl*&gt;(this);
-    float minDefaultLabelWidth = defaultWidthNumChars * font.width(constructTextRun(renderer, font, characterAsString, style(), AllowTrailingExpansion));
</del><ins>+    float minDefaultLabelWidth = defaultWidthNumChars * font.width(constructTextRun(characterAsString, style(), AllowTrailingExpansion));
</ins><span class="cx"> 
</span><span class="cx">     const String label = theme().fileListDefaultLabel(inputElement().multiple());
</span><del>-    float defaultLabelWidth = font.width(constructTextRun(renderer, font, label, style(), AllowTrailingExpansion));
</del><ins>+    float defaultLabelWidth = font.width(constructTextRun(label, style(), AllowTrailingExpansion));
</ins><span class="cx">     if (HTMLInputElement* button = uploadButton())
</span><span class="cx">         if (RenderObject* buttonRenderer = button-&gt;renderer())
</span><span class="cx">             defaultLabelWidth += buttonRenderer-&gt;maxPreferredLogicalWidth() + afterButtonSpacing;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderImage.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderImage.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderImage.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -193,7 +193,7 @@
</span><span class="cx">     // we have an alt and the user meant it (its not a text we invented)
</span><span class="cx">     if (!m_altText.isEmpty()) {
</span><span class="cx">         const FontCascade&amp; font = style().fontCascade();
</span><del>-        IntSize paddedTextSize(paddingWidth + std::min(ceilf(font.width(RenderBlock::constructTextRun(this, font, m_altText, style()))), maxAltTextWidth), paddingHeight + std::min(font.fontMetrics().height(), maxAltTextHeight));
</del><ins>+        IntSize paddedTextSize(paddingWidth + std::min(ceilf(font.width(RenderBlock::constructTextRun(m_altText, style()))), maxAltTextWidth), paddingHeight + std::min(font.fontMetrics().height(), maxAltTextHeight));
</ins><span class="cx">         imageSize = imageSize.expandedTo(paddedTextSize);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -439,7 +439,7 @@
</span><span class="cx"> 
</span><span class="cx">                 // Only draw the alt text if it'll fit within the content box,
</span><span class="cx">                 // and only if it fits above the error image.
</span><del>-                TextRun textRun = RenderBlock::constructTextRun(this, font, text, style());
</del><ins>+                TextRun textRun = RenderBlock::constructTextRun(text, style());
</ins><span class="cx">                 LayoutUnit textWidth = font.width(textRun);
</span><span class="cx">                 if (errorPictureDrawn) {
</span><span class="cx">                     if (usableWidth &gt;= textWidth &amp;&amp; fontMetrics.height() &lt;= imageOffset.height())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderListBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderListBox.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderListBox.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderListBox.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx">             if (!text.isEmpty()) {
</span><span class="cx">                 applyTextTransform(style(), text, ' ');
</span><span class="cx">                 // FIXME: Why is this always LTR? Can't text direction affect the width?
</span><del>-                TextRun textRun = constructTextRun(this, itemFont, text, style(), AllowTrailingExpansion);
</del><ins>+                TextRun textRun = constructTextRun(text, style(), AllowTrailingExpansion);
</ins><span class="cx">                 float textWidth = itemFont.width(textRun);
</span><span class="cx">                 width = std::max(width, textWidth);
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderListMarkercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderListMarker.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderListMarker.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderListMarker.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1314,7 +1314,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     const FontCascade&amp; font = style().fontCascade();
</span><del>-    TextRun textRun = RenderBlock::constructTextRun(this, font, m_text, style());
</del><ins>+    TextRun textRun = RenderBlock::constructTextRun(m_text, style());
</ins><span class="cx"> 
</span><span class="cx">     GraphicsContextStateSaver stateSaver(context, false);
</span><span class="cx">     if (!style().isHorizontalWritingMode()) {
</span><span class="lines">@@ -1543,7 +1543,7 @@
</span><span class="cx">             break;
</span><span class="cx">         case Asterisks:
</span><span class="cx">         case Footnotes: {
</span><del>-            TextRun run = RenderBlock::constructTextRun(this, font, m_text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</del><ins>+            TextRun run = RenderBlock::constructTextRun(m_text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</ins><span class="cx">             logicalWidth = font.width(run); // no suffix for these types
</span><span class="cx">         }
</span><span class="cx">             break;
</span><span class="lines">@@ -1630,10 +1630,10 @@
</span><span class="cx">             if (m_text.isEmpty())
</span><span class="cx">                 logicalWidth = 0;
</span><span class="cx">             else {
</span><del>-                TextRun run = RenderBlock::constructTextRun(this, font, m_text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</del><ins>+                TextRun run = RenderBlock::constructTextRun(m_text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</ins><span class="cx">                 LayoutUnit itemWidth = font.width(run);
</span><span class="cx">                 UChar suffixSpace[2] = { listMarkerSuffix(type, m_listItem.value()), ' ' };
</span><del>-                LayoutUnit suffixSpaceWidth = font.width(RenderBlock::constructTextRun(this, font, suffixSpace, 2, style()));
</del><ins>+                LayoutUnit suffixSpaceWidth = font.width(RenderBlock::constructTextRun(suffixSpace, 2, style()));
</ins><span class="cx">                 logicalWidth = itemWidth + suffixSpaceWidth;
</span><span class="cx">             }
</span><span class="cx">             break;
</span><span class="lines">@@ -1763,7 +1763,7 @@
</span><span class="cx">         case Asterisks:
</span><span class="cx">         case Footnotes: {
</span><span class="cx">             const FontCascade&amp; font = style().fontCascade();
</span><del>-            TextRun run = RenderBlock::constructTextRun(this, font, m_text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</del><ins>+            TextRun run = RenderBlock::constructTextRun(m_text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</ins><span class="cx">             relativeRect = FloatRect(0, 0, font.width(run), font.fontMetrics().height());
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="lines">@@ -1857,10 +1857,10 @@
</span><span class="cx">             if (m_text.isEmpty())
</span><span class="cx">                 return FloatRect();
</span><span class="cx">             const FontCascade&amp; font = style().fontCascade();
</span><del>-            TextRun run = RenderBlock::constructTextRun(this, font, m_text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</del><ins>+            TextRun run = RenderBlock::constructTextRun(m_text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</ins><span class="cx">             float itemWidth = font.width(run);
</span><span class="cx">             UChar suffixSpace[2] = { listMarkerSuffix(type, m_listItem.value()), ' ' };
</span><del>-            float suffixSpaceWidth = font.width(RenderBlock::constructTextRun(this, font, suffixSpace, 2, style()));
</del><ins>+            float suffixSpaceWidth = font.width(RenderBlock::constructTextRun(suffixSpace, 2, style()));
</ins><span class="cx">             relativeRect = FloatRect(0, 0, itemWidth + suffixSpaceWidth, font.fontMetrics().height());
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMenuListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMenuList.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMenuList.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderMenuList.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -222,13 +222,13 @@
</span><span class="cx">                 optionWidth += minimumValueForLength(optionStyle-&gt;textIndent(), 0);
</span><span class="cx">             if (!text.isEmpty()) {
</span><span class="cx">                 const FontCascade&amp; font = style().fontCascade();
</span><del>-                TextRun run = RenderBlock::constructTextRun(this, font, text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</del><ins>+                TextRun run = RenderBlock::constructTextRun(text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</ins><span class="cx">                 optionWidth += font.width(run);
</span><span class="cx">             }
</span><span class="cx">             maxOptionWidth = std::max(maxOptionWidth, optionWidth);
</span><span class="cx">         } else if (!text.isEmpty()) {
</span><span class="cx">             const FontCascade&amp; font = style().fontCascade();
</span><del>-            TextRun run = RenderBlock::constructTextRun(this, font, text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</del><ins>+            TextRun run = RenderBlock::constructTextRun(text, style(), AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</ins><span class="cx">             maxOptionWidth = std::max(maxOptionWidth, font.width(run));
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderText.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderText.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderText.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -492,7 +492,7 @@
</span><span class="cx">         return w;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    TextRun run = RenderBlock::constructTextRun(const_cast&lt;RenderText*&gt;(this), f, this, start, len, style);
</del><ins>+    TextRun run = RenderBlock::constructTextRun(this, start, len, style);
</ins><span class="cx">     run.setCharactersLength(textLength() - start);
</span><span class="cx">     ASSERT(run.charactersLength() &gt;= run.length());
</span><span class="cx"> 
</span><span class="lines">@@ -627,7 +627,7 @@
</span><span class="cx">         const FontCascade&amp; font = style.fontCascade(); // FIXME: This ignores first-line.
</span><span class="cx">         if (stripFrontSpaces) {
</span><span class="cx">             const UChar space = ' ';
</span><del>-            float spaceWidth = font.width(RenderBlock::constructTextRun(this, font, &amp;space, 1, style));
</del><ins>+            float spaceWidth = font.width(RenderBlock::constructTextRun(&amp;space, 1, style));
</ins><span class="cx">             maxW -= spaceWidth;
</span><span class="cx">         } else
</span><span class="cx">             maxW += font.wordSpacing();
</span><span class="lines">@@ -720,7 +720,7 @@
</span><span class="cx"> static inline float hyphenWidth(RenderText* renderer, const FontCascade&amp; font)
</span><span class="cx"> {
</span><span class="cx">     const RenderStyle&amp; style = renderer-&gt;style();
</span><del>-    return font.width(RenderBlock::constructTextRun(renderer, font, style.hyphenString().string(), style));
</del><ins>+    return font.width(RenderBlock::constructTextRun(style.hyphenString().string(), style));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static float maxWordFragmentWidth(RenderText* renderer, const RenderStyle&amp; style, const FontCascade&amp; font, StringView word, int minimumPrefixLength, unsigned minimumSuffixLength, int&amp; suffixStart, HashSet&lt;const Font*&gt;&amp; fallbackFonts, GlyphOverflow&amp; glyphOverflow)
</span><span class="lines">@@ -747,7 +747,7 @@
</span><span class="cx">         fragmentWithHyphen.append(word.substring(suffixStart, fragmentLength));
</span><span class="cx">         fragmentWithHyphen.append(style.hyphenString());
</span><span class="cx"> 
</span><del>-        TextRun run = RenderBlock::constructTextRun(renderer, font, fragmentWithHyphen.toString(), style);
</del><ins>+        TextRun run = RenderBlock::constructTextRun(fragmentWithHyphen.toString(), style);
</ins><span class="cx">         run.setCharactersLength(fragmentWithHyphen.length());
</span><span class="cx">         run.setCharacterScanForCodePath(!renderer-&gt;canUseSimpleFontCodePath());
</span><span class="cx">         float fragmentWidth = font.width(run, &amp;fallbackFonts, &amp;glyphOverflow);
</span><span class="lines">@@ -794,7 +794,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Non-zero only when kerning is enabled, in which case we measure words with their trailing
</span><span class="cx">     // space, then subtract its width.
</span><del>-    WordTrailingSpace wordTrailingSpace(*this, style);
</del><ins>+    WordTrailingSpace wordTrailingSpace(style);
</ins><span class="cx">     // If automatic hyphenation is allowed, we keep track of the width of the widest word (or word
</span><span class="cx">     // fragment) encountered so far, and only try hyphenating words that are wider.
</span><span class="cx">     float maxWordWidth = std::numeric_limits&lt;float&gt;::max();
</span><span class="lines">@@ -973,7 +973,7 @@
</span><span class="cx">                     m_maxWidth = currMaxWidth;
</span><span class="cx">                 currMaxWidth = 0;
</span><span class="cx">             } else {
</span><del>-                TextRun run = RenderBlock::constructTextRun(this, font, this, i, 1, style);
</del><ins>+                TextRun run = RenderBlock::constructTextRun(this, i, 1, style);
</ins><span class="cx">                 run.setCharactersLength(len - i);
</span><span class="cx">                 ASSERT(run.charactersLength() &gt;= run.length());
</span><span class="cx">                 run.setTabSize(!style.collapseWhiteSpace(), style.tabSize());
</span><span class="lines">@@ -1320,7 +1320,7 @@
</span><span class="cx">         } else
</span><span class="cx">             w = widthFromCache(f, from, len, xPos, fallbackFonts, glyphOverflow, style);
</span><span class="cx">     } else {
</span><del>-        TextRun run = RenderBlock::constructTextRun(const_cast&lt;RenderText*&gt;(this), f, this, from, len, style);
</del><ins>+        TextRun run = RenderBlock::constructTextRun(this, from, len, style);
</ins><span class="cx">         run.setCharactersLength(textLength() - from);
</span><span class="cx">         ASSERT(run.charactersLength() &gt;= run.length());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextControlcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTextControl.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTextControl.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderTextControl.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">     const UChar ch = '0';
</span><span class="cx">     const String str = String(&amp;ch, 1);
</span><span class="cx">     const FontCascade&amp; font = style().fontCascade();
</span><del>-    TextRun textRun = constructTextRun(this, font, str, style(), AllowTrailingExpansion);
</del><ins>+    TextRun textRun = constructTextRun(str, style(), AllowTrailingExpansion);
</ins><span class="cx">     return font.width(textRun);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.mm (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeIOS.mm        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/RenderThemeIOS.mm        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -568,20 +568,18 @@
</span><span class="cx">     
</span><span class="cx"> class RenderThemeMeasureTextClient : public MeasureTextClient {
</span><span class="cx"> public:
</span><del>-    RenderThemeMeasureTextClient(const FontCascade&amp; font, RenderObject&amp; renderObject, const RenderStyle&amp; style)
</del><ins>+    RenderThemeMeasureTextClient(const FontCascade&amp; font, const RenderStyle&amp; style)
</ins><span class="cx">         : m_font(font)
</span><del>-        , m_renderObject(renderObject)
</del><span class="cx">         , m_style(style)
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx">     float measureText(const String&amp; string) const override
</span><span class="cx">     {
</span><del>-        TextRun run = RenderBlock::constructTextRun(&amp;m_renderObject, m_font, string, m_style, AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</del><ins>+        TextRun run = RenderBlock::constructTextRun(string, m_style, AllowTrailingExpansion | ForbidLeadingExpansion, DefaultTextRunFlags);
</ins><span class="cx">         return m_font.width(run);
</span><span class="cx">     }
</span><span class="cx"> private:
</span><span class="cx">     const FontCascade&amp; m_font;
</span><del>-    RenderObject&amp; m_renderObject;
</del><span class="cx">     const RenderStyle&amp; m_style;
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -602,11 +600,7 @@
</span><span class="cx">     // Enforce the width and set the box-sizing to content-box to not conflict with the padding.
</span><span class="cx">     FontCascade font = style.fontCascade();
</span><span class="cx">     
</span><del>-    RenderObject* renderer = inputElement.renderer();
-    if (font.primaryFont().isSVGFont() &amp;&amp; !renderer)
-        return;
-    
-    float maximumWidth = localizedDateCache().maximumWidthForDateType(dateType, font, RenderThemeMeasureTextClient(font, *renderer, style));
</del><ins>+    float maximumWidth = localizedDateCache().maximumWidthForDateType(dateType, font, RenderThemeMeasureTextClient(font, style));
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(maximumWidth &gt;= 0);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingSimpleLineLayoutcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/SimpleLineLayout.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/SimpleLineLayout.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/SimpleLineLayout.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -182,8 +182,6 @@
</span><span class="cx">     auto&amp; primaryFont = style.fontCascade().primaryFont();
</span><span class="cx">     if (primaryFont.isLoading())
</span><span class="cx">         SET_REASON_AND_RETURN_IF_NEEDED(FlowIsMissingPrimaryFont, reasons, includeReasons);
</span><del>-    if (primaryFont.isSVGFont())
-        SET_REASON_AND_RETURN_IF_NEEDED(FlowHasSVGFont, reasons, includeReasons);
</del><span class="cx"> 
</span><span class="cx">     for (const auto&amp; textRenderer : childrenOfType&lt;RenderText&gt;(flow)) {
</span><span class="cx">         if (style.textAlign() == JUSTIFY &amp;&amp; !textRenderer.originalText().containsOnlyLatin1())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderinglineBreakingContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/line/BreakingContext.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/line/BreakingContext.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/line/BreakingContext.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -65,9 +65,8 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> struct WordTrailingSpace {
</span><del>-    WordTrailingSpace(RenderText&amp; renderer, const RenderStyle&amp; style, TextLayout* textLayout = nullptr)
-        : m_renderer(renderer)
-        , m_style(style)
</del><ins>+    WordTrailingSpace(const RenderStyle&amp; style, TextLayout* textLayout = nullptr)
+        : m_style(style)
</ins><span class="cx">         , m_textLayout(textLayout)
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="lines">@@ -79,7 +78,7 @@
</span><span class="cx"> 
</span><span class="cx">         const FontCascade&amp; font = m_style.fontCascade();
</span><span class="cx">         if (font.enableKerning() &amp;&amp; !m_textLayout)
</span><del>-            m_width = font.width(RenderBlock::constructTextRun(&amp;m_renderer, font, &amp;space, 1, m_style), &amp;fallbackFonts) + font.wordSpacing();
</del><ins>+            m_width = font.width(RenderBlock::constructTextRun(&amp;space, 1, m_style), &amp;fallbackFonts) + font.wordSpacing();
</ins><span class="cx">         m_state = WordTrailingSpaceState::Computed;
</span><span class="cx">         return m_width;
</span><span class="cx">     }
</span><span class="lines">@@ -88,7 +87,6 @@
</span><span class="cx">     enum class WordTrailingSpaceState { Uninitialized, Computed };
</span><span class="cx">     WordTrailingSpaceState m_state { WordTrailingSpaceState::Uninitialized };
</span><span class="cx">     WTF::Optional&lt;float&gt; m_width;
</span><del>-    RenderText&amp; m_renderer;
</del><span class="cx">     const RenderStyle&amp; m_style;
</span><span class="cx">     TextLayout* m_textLayout { nullptr };
</span><span class="cx"> };
</span><span class="lines">@@ -608,7 +606,7 @@
</span><span class="cx"> inline float measureHyphenWidth(RenderText&amp; renderer, const FontCascade&amp; font, HashSet&lt;const Font*&gt;* fallbackFonts = 0)
</span><span class="cx"> {
</span><span class="cx">     const RenderStyle&amp; style = renderer.style();
</span><del>-    return font.width(RenderBlock::constructTextRun(&amp;renderer, font, style.hyphenString().string(), style), fallbackFonts);
</del><ins>+    return font.width(RenderBlock::constructTextRun(style.hyphenString().string(), style), fallbackFonts);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ALWAYS_INLINE float textWidth(RenderText&amp; text, unsigned from, unsigned len, const FontCascade&amp; font, float xPos, bool isFixedPitch, bool collapseWhiteSpace, HashSet&lt;const Font*&gt;&amp; fallbackFonts, TextLayout* layout = nullptr)
</span><span class="lines">@@ -622,7 +620,7 @@
</span><span class="cx">     if (layout)
</span><span class="cx">         return FontCascade::width(*layout, from, len, &amp;fallbackFonts);
</span><span class="cx"> 
</span><del>-    TextRun run = RenderBlock::constructTextRun(&amp;text, font, &amp;text, from, len, style);
</del><ins>+    TextRun run = RenderBlock::constructTextRun(&amp;text, from, len, style);
</ins><span class="cx">     run.setCharactersLength(text.textLength() - from);
</span><span class="cx">     ASSERT(run.charactersLength() &gt;= run.length());
</span><span class="cx"> 
</span><span class="lines">@@ -671,7 +669,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     const RenderStyle&amp; style = text.style();
</span><del>-    TextRun run = RenderBlock::constructTextRun(&amp;text, font, &amp;text, lastSpace, pos - lastSpace, style);
</del><ins>+    TextRun run = RenderBlock::constructTextRun(&amp;text, lastSpace, pos - lastSpace, style);
</ins><span class="cx">     run.setCharactersLength(text.textLength() - lastSpace);
</span><span class="cx">     ASSERT(run.charactersLength() &gt;= run.length());
</span><span class="cx"> 
</span><span class="lines">@@ -782,7 +780,7 @@
</span><span class="cx">     UChar lastCharacterFromPreviousRenderText = m_renderTextInfo.lineBreakIterator.lastCharacter();
</span><span class="cx">     UChar lastCharacter = m_renderTextInfo.lineBreakIterator.lastCharacter();
</span><span class="cx">     UChar secondToLastCharacter = m_renderTextInfo.lineBreakIterator.secondToLastCharacter();
</span><del>-    WordTrailingSpace wordTrailingSpace(renderText, style, textLayout);
</del><ins>+    WordTrailingSpace wordTrailingSpace(style, textLayout);
</ins><span class="cx">     for (; m_current.offset() &lt; renderText.textLength(); m_current.fastIncrementInTextNode()) {
</span><span class="cx">         bool previousCharacterIsSpace = m_currentCharacterIsSpace;
</span><span class="cx">         bool previousCharacterIsWS = m_currentCharacterIsWS;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGAllInOne.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGAllInOne.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGAllInOne.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -72,7 +72,6 @@
</span><span class="cx"> #include &quot;SVGTextLayoutEngine.cpp&quot;
</span><span class="cx"> #include &quot;SVGTextLayoutEngineBaseline.cpp&quot;
</span><span class="cx"> #include &quot;SVGTextLayoutEngineSpacing.cpp&quot;
</span><del>-#include &quot;SVGTextRunRenderingContext.cpp&quot;
</del><span class="cx"> #include &quot;SVGTextMetrics.cpp&quot;
</span><span class="cx"> #include &quot;SVGTextMetricsBuilder.cpp&quot;
</span><span class="cx"> #include &quot;SVGTextQuery.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> #include &quot;SVGResourcesCache.h&quot;
</span><span class="cx"> #include &quot;SVGRootInlineBox.h&quot;
</span><span class="cx"> #include &quot;SVGTextElement.h&quot;
</span><del>-#include &quot;SVGTextRunRenderingContext.h&quot;
</del><span class="cx"> #include &quot;SVGTransformList.h&quot;
</span><span class="cx"> #include &quot;SVGURIReference.h&quot;
</span><span class="cx"> #include &quot;TransformState.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGInlineTextBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -35,7 +35,6 @@
</span><span class="cx"> #include &quot;SVGRenderingContext.h&quot;
</span><span class="cx"> #include &quot;SVGResourcesCache.h&quot;
</span><span class="cx"> #include &quot;SVGRootInlineBox.h&quot;
</span><del>-#include &quot;SVGTextRunRenderingContext.h&quot;
</del><span class="cx"> #include &quot;TextPainter.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -377,33 +376,14 @@
</span><span class="cx">     m_paintingResource = nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool SVGInlineTextBox::prepareGraphicsContextForTextPainting(GraphicsContext*&amp; context, float scalingFactor, TextRun&amp; textRun, RenderStyle* style)
</del><ins>+bool SVGInlineTextBox::prepareGraphicsContextForTextPainting(GraphicsContext*&amp; context, float scalingFactor, RenderStyle* style)
</ins><span class="cx"> {
</span><del>-    if (!acquirePaintingResource(context, scalingFactor, parent()-&gt;renderer(), style))
-        return false;
-
-#if ENABLE(SVG_FONTS)
-    // SVG Fonts need access to the painting resource used to draw the current text chunk.
-    if (auto* renderingContext = textRun.renderingContext())
-        static_cast&lt;SVGTextRunRenderingContext*&gt;(renderingContext)-&gt;setActivePaintingResource(m_paintingResource);
-#else
-    UNUSED_PARAM(textRun);
-#endif
-
-    return true;
</del><ins>+    return acquirePaintingResource(context, scalingFactor, parent()-&gt;renderer(), style);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SVGInlineTextBox::restoreGraphicsContextAfterTextPainting(GraphicsContext*&amp; context, TextRun&amp; textRun)
</del><ins>+void SVGInlineTextBox::restoreGraphicsContextAfterTextPainting(GraphicsContext*&amp; context)
</ins><span class="cx"> {
</span><span class="cx">     releasePaintingResource(context, /* path */nullptr);
</span><del>-
-#if ENABLE(SVG_FONTS)
-    TextRun::RenderingContext* renderingContext = textRun.renderingContext();
-    if (renderingContext)
-        static_cast&lt;SVGTextRunRenderingContext*&gt;(renderingContext)-&gt;setActivePaintingResource(nullptr);
-#else
-    UNUSED_PARAM(textRun);
-#endif
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> TextRun SVGInlineTextBox::constructTextRun(RenderStyle* style, const SVGTextFragment&amp; fragment) const
</span><span class="lines">@@ -417,9 +397,6 @@
</span><span class="cx">                 , direction()
</span><span class="cx">                 , dirOverride() || style-&gt;rtlOrdering() == VisualOrder /* directionalOverride */);
</span><span class="cx"> 
</span><del>-    if (style-&gt;fontCascade().primaryFont().isSVGFont())
-        run.setRenderingContext(SVGTextRunRenderingContext::create(renderer()));
-
</del><span class="cx">     // We handle letter &amp; word spacing ourselves.
</span><span class="cx">     run.disableSpacing();
</span><span class="cx"> 
</span><span class="lines">@@ -582,7 +559,7 @@
</span><span class="cx"> 
</span><span class="cx">     GraphicsContext* usedContext = &amp;context;
</span><span class="cx">     do {
</span><del>-        if (!prepareGraphicsContextForTextPainting(usedContext, scalingFactor, textRun, style))
</del><ins>+        if (!prepareGraphicsContextForTextPainting(usedContext, scalingFactor, style))
</ins><span class="cx">             break;
</span><span class="cx"> 
</span><span class="cx">         {
</span><span class="lines">@@ -598,7 +575,7 @@
</span><span class="cx">                 usedContext-&gt;restore();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        restoreGraphicsContextAfterTextPainting(usedContext, textRun);
</del><ins>+        restoreGraphicsContextAfterTextPainting(usedContext);
</ins><span class="cx"> 
</span><span class="cx">         if (!shadow)
</span><span class="cx">             break;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGInlineTextBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -74,8 +74,8 @@
</span><span class="cx">     bool acquirePaintingResource(GraphicsContext*&amp;, float scalingFactor, RenderBoxModelObject&amp;, RenderStyle*);
</span><span class="cx">     void releasePaintingResource(GraphicsContext*&amp;, const Path*);
</span><span class="cx"> 
</span><del>-    bool prepareGraphicsContextForTextPainting(GraphicsContext*&amp;, float scalingFactor, TextRun&amp;, RenderStyle*);
-    void restoreGraphicsContextAfterTextPainting(GraphicsContext*&amp;, TextRun&amp;);
</del><ins>+    bool prepareGraphicsContextForTextPainting(GraphicsContext*&amp;, float scalingFactor, RenderStyle*);
+    void restoreGraphicsContextAfterTextPainting(GraphicsContext*&amp;);
</ins><span class="cx"> 
</span><span class="cx">     void paintDecoration(GraphicsContext&amp;, TextDecoration, const SVGTextFragment&amp;);
</span><span class="cx">     void paintDecorationWithStyle(GraphicsContext&amp;, TextDecoration, const SVGTextFragment&amp;, RenderBoxModelObject&amp; decorationRenderer);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGTextLayoutEnginecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -483,9 +483,6 @@
</span><span class="cx">         // Apply dx/dy value adjustments to current text position, if needed.
</span><span class="cx">         updateRelativePositionAdjustmentsIfNeeded(data.dx, data.dy);
</span><span class="cx"> 
</span><del>-        // Calculate SVG Fonts kerning, if needed.
-        float kerning = spacingLayout.calculateSVGKerning(m_isVerticalText, visualMetrics.glyph());
-
</del><span class="cx">         // Calculate CSS 'kerning', 'letter-spacing' and 'word-spacing' for next character, if needed.
</span><span class="cx">         float spacing = spacingLayout.calculateCSSKerningAndSpacing(&amp;svgStyle, lengthContext, currentCharacter);
</span><span class="cx"> 
</span><span class="lines">@@ -497,7 +494,7 @@
</span><span class="cx">                 if (y != SVGTextLayoutAttributes::emptyValue())
</span><span class="cx">                     m_textPathCurrentOffset = y + m_textPathStartOffset;
</span><span class="cx"> 
</span><del>-                m_textPathCurrentOffset += m_dy - kerning;
</del><ins>+                m_textPathCurrentOffset += m_dy;
</ins><span class="cx">                 m_dy = 0;
</span><span class="cx"> 
</span><span class="cx">                 // Apply dx/dy correction and setup translations that move to the glyph midpoint.
</span><span class="lines">@@ -508,7 +505,7 @@
</span><span class="cx">                 if (x != SVGTextLayoutAttributes::emptyValue())
</span><span class="cx">                     m_textPathCurrentOffset = x + m_textPathStartOffset;
</span><span class="cx"> 
</span><del>-                m_textPathCurrentOffset += m_dx - kerning;
</del><ins>+                m_textPathCurrentOffset += m_dx;
</ins><span class="cx">                 m_dx = 0;
</span><span class="cx"> 
</span><span class="cx">                 // Apply dx/dy correction and setup translations that move to the glyph midpoint.
</span><span class="lines">@@ -548,13 +545,10 @@
</span><span class="cx">                 angle -= 90;
</span><span class="cx">         } else {
</span><span class="cx">             // Apply all previously calculated shift values.
</span><del>-            if (m_isVerticalText) {
</del><ins>+            if (m_isVerticalText)
</ins><span class="cx">                 x += baselineShift;
</span><del>-                y -= kerning;
-            } else {
-                x -= kerning;
</del><ins>+            else
</ins><span class="cx">                 y -= baselineShift;
</span><del>-            }
</del><span class="cx"> 
</span><span class="cx">             x += m_dx;
</span><span class="cx">             y += m_dy;
</span><span class="lines">@@ -562,7 +556,7 @@
</span><span class="cx"> 
</span><span class="cx">         // Determine whether we have to start a new fragment.
</span><span class="cx">         bool shouldStartNewFragment = m_dx || m_dy || m_isVerticalText || m_inPathLayout || angle || angle != lastAngle
</span><del>-            || orientationAngle || kerning || applySpacingToNextCharacter || definesTextLength;
</del><ins>+            || orientationAngle || applySpacingToNextCharacter || definesTextLength;
</ins><span class="cx"> 
</span><span class="cx">         // If we already started a fragment, close it now.
</span><span class="cx">         if (didStartTextFragment &amp;&amp; shouldStartNewFragment) {
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGTextLayoutEngineSpacingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> #include &quot;SVGRenderStyle.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><del>-#include &quot;SVGFontData.h&quot;
</del><span class="cx"> #include &quot;SVGFontElement.h&quot;
</span><span class="cx"> #include &quot;SVGFontFaceElement.h&quot;
</span><span class="cx"> #endif
</span><span class="lines">@@ -38,47 +37,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-float SVGTextLayoutEngineSpacing::calculateSVGKerning(bool isVerticalText, const SVGTextMetrics::Glyph&amp; currentGlyph)
-{
-#if ENABLE(SVG_FONTS)
-    const Font&amp; font = m_font.primaryFont();
-    if (!font.isSVGFont()) {
-        m_lastGlyph.isValid = false;
-        return 0;
-    }
-
-    ASSERT(font.isCustomFont());
-    ASSERT(font.isSVGFont());
-
-    auto* svgFontData = static_cast&lt;const SVGFontData*&gt;(font.svgData());
-    SVGFontFaceElement* svgFontFace = svgFontData-&gt;svgFontFaceElement();
-    ASSERT(svgFontFace);
-
-    SVGFontElement* svgFont = svgFontFace-&gt;associatedFontElement();
-    if (!svgFont) {
-        m_lastGlyph.isValid = false;
-        return 0;
-    }
-
-    float kerning = 0;
-    if (m_lastGlyph.isValid) {
-        if (isVerticalText)
-            kerning = svgFont-&gt;verticalKerningForPairOfStringsAndGlyphs(m_lastGlyph.unicodeString, m_lastGlyph.name, currentGlyph.unicodeString, currentGlyph.name);
-        else
-            kerning = svgFont-&gt;horizontalKerningForPairOfStringsAndGlyphs(m_lastGlyph.unicodeString, m_lastGlyph.name, currentGlyph.unicodeString, currentGlyph.name);
-    }
-
-    m_lastGlyph = currentGlyph;
-    m_lastGlyph.isValid = true;
-    kerning *= m_font.size() / m_font.fontMetrics().unitsPerEm();
-    return kerning;
-#else
-    UNUSED_PARAM(isVerticalText);
-    UNUSED_PARAM(currentGlyph);
-    return false;
-#endif
-}
-
</del><span class="cx"> float SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing(const SVGRenderStyle* style, SVGElement* contextElement, const UChar* currentCharacter)
</span><span class="cx"> {
</span><span class="cx">     float kerning = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGTextLayoutEngineSpacingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -34,16 +34,11 @@
</span><span class="cx"> public:
</span><span class="cx">     SVGTextLayoutEngineSpacing(const FontCascade&amp;);
</span><span class="cx"> 
</span><del>-    float calculateSVGKerning(bool isVerticalText, const SVGTextMetrics::Glyph&amp; currentGlyph);
</del><span class="cx">     float calculateCSSKerningAndSpacing(const SVGRenderStyle*, SVGElement* lengthContext, const UChar* currentCharacter);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     const FontCascade&amp; m_font;
</span><span class="cx">     const UChar* m_lastCharacter;
</span><del>-
-#if ENABLE(SVG_FONTS)
-    SVGTextMetrics::Glyph m_lastGlyph;
-#endif
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGTextMetricscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGTextMetrics.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGTextMetrics.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGTextMetrics.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -21,7 +21,6 @@
</span><span class="cx"> #include &quot;SVGTextMetrics.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RenderSVGInlineText.h&quot;
</span><del>-#include &quot;SVGTextRunRenderingContext.h&quot;
</del><span class="cx"> #include &quot;WidthIterator.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -49,7 +48,9 @@
</span><span class="cx">     int length = 0;
</span><span class="cx"> 
</span><span class="cx">     // Calculate width/height using the scaled font, divide this result by the scalingFactor afterwards.
</span><del>-    m_width = scaledFont.width(run, length, m_glyph.name) / scalingFactor;
</del><ins>+    m_width = scaledFont.width(run) / scalingFactor;
+    length = run.length();
+    m_glyph.name = &quot;&quot;;
</ins><span class="cx">     m_height = scaledFont.fontMetrics().floatHeight() / scalingFactor;
</span><span class="cx"> 
</span><span class="cx">     m_glyph.unicodeString = run.is8Bit() ? String(run.characters8(), length) : String(run.characters16(), length);
</span><span class="lines">@@ -70,9 +71,6 @@
</span><span class="cx">                 , style.direction()
</span><span class="cx">                 , isOverride(style.unicodeBidi()) /* directionalOverride */);
</span><span class="cx"> 
</span><del>-    if (style.fontCascade().primaryFont().isSVGFont())
-        run.setRenderingContext(SVGTextRunRenderingContext::create(text));
-
</del><span class="cx">     // We handle letter &amp; word spacing ourselves.
</span><span class="cx">     run.disableSpacing();
</span><span class="cx"> 
</span><span class="lines">@@ -87,19 +85,13 @@
</span><span class="cx">     return SVGTextMetrics(text, constructTextRun(text, position, length));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SVGTextMetrics::SVGTextMetrics(RenderSVGInlineText&amp; text, unsigned position, unsigned length, float width, const String&amp; glyphName)
</del><ins>+SVGTextMetrics::SVGTextMetrics(RenderSVGInlineText&amp; text, unsigned length, float width)
</ins><span class="cx"> {
</span><del>-    bool needsContext = text.style().fontCascade().primaryFont().isSVGFont();
</del><span class="cx">     float scalingFactor = text.scalingFactor();
</span><span class="cx">     ASSERT(scalingFactor);
</span><span class="cx"> 
</span><span class="cx">     m_width = width / scalingFactor;
</span><span class="cx">     m_height = text.scaledFont().fontMetrics().floatHeight() / scalingFactor;
</span><del>-    if (needsContext) {
-        m_glyph.isValid = true;
-        m_glyph.unicodeString = text.text()-&gt;substring(position, length);
-        m_glyph.name = glyphName;
-    }
</del><span class="cx"> 
</span><span class="cx">     m_length = length;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGTextMetricsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGTextMetrics.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGTextMetrics.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGTextMetrics.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx">     SVGTextMetrics();
</span><span class="cx">     explicit SVGTextMetrics(MetricsType);
</span><del>-    SVGTextMetrics(RenderSVGInlineText&amp;, unsigned position, unsigned length, float width, const String&amp; glyphName);
</del><ins>+    SVGTextMetrics(RenderSVGInlineText&amp;, unsigned length, float width);
</ins><span class="cx"> 
</span><span class="cx">     static SVGTextMetrics measureCharacterRange(RenderSVGInlineText&amp;, unsigned position, unsigned length);
</span><span class="cx">     static TextRun constructTextRun(RenderSVGInlineText&amp;, unsigned position = 0, unsigned length = std::numeric_limits&lt;unsigned&gt;::max());
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGTextMetricsBuildercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGTextMetricsBuilder.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGTextMetricsBuilder.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGTextMetricsBuilder.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx"> #include &quot;RenderSVGInline.h&quot;
</span><span class="cx"> #include &quot;RenderSVGInlineText.h&quot;
</span><span class="cx"> #include &quot;RenderSVGText.h&quot;
</span><del>-#include &quot;SVGTextRunRenderingContext.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -67,11 +66,7 @@
</span><span class="cx">     float currentWidth = m_simpleWidthIterator-&gt;runWidthSoFar() - m_totalWidth;
</span><span class="cx">     m_totalWidth = m_simpleWidthIterator-&gt;runWidthSoFar();
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_FONTS)
-    m_currentMetrics = SVGTextMetrics(*m_text, m_textPosition, metricsLength, currentWidth, m_simpleWidthIterator-&gt;lastGlyphName());
-#else
-    m_currentMetrics = SVGTextMetrics(*m_text, m_textPosition, metricsLength, currentWidth, emptyString());
-#endif
</del><ins>+    m_currentMetrics = SVGTextMetrics(*m_text, metricsLength, currentWidth);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGTextMetricsBuilder::advanceComplexText()
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGTextRunRenderingContextcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,354 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007, 2008 Nikolas Zimmermann &lt;zimmermann@kde.org&gt;
- * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(SVG_FONTS)
-#include &quot;SVGTextRunRenderingContext.h&quot;
-
-#include &quot;GlyphBuffer.h&quot;
-#include &quot;GraphicsContext.h&quot;
-#include &quot;RenderObject.h&quot;
-#include &quot;RenderSVGInlineText.h&quot;
-#include &quot;RenderSVGResourceSolidColor.h&quot;
-#include &quot;SVGFontData.h&quot;
-#include &quot;SVGFontElement.h&quot;
-#include &quot;SVGFontFaceElement.h&quot;
-#include &quot;SVGGlyphElement.h&quot;
-#include &quot;SVGNames.h&quot;
-#include &quot;WidthIterator.h&quot;
-
-namespace WebCore {
-
-static inline const SVGFontData* svgFontAndFontFaceElementForFontData(const Font* font, SVGFontFaceElement*&amp; svgFontFaceElement, SVGFontElement*&amp; svgFontElement)
-{
-    ASSERT(font);
-    ASSERT(font-&gt;isCustomFont());
-    ASSERT(font-&gt;isSVGFont());
-
-    auto* svgFontData = static_cast&lt;const SVGFontData*&gt;(font-&gt;svgData());
-
-    svgFontFaceElement = svgFontData-&gt;svgFontFaceElement();
-    ASSERT(svgFontFaceElement);
-
-    svgFontElement = svgFontFaceElement-&gt;associatedFontElement();
-    return svgFontData;
-}
-
-float SVGTextRunRenderingContext::floatWidthUsingSVGFont(const FontCascade&amp; font, const TextRun&amp; run, int&amp; charsConsumed, String&amp; glyphName) const
-{
-    WidthIterator it(&amp;font, run);
-    GlyphBuffer glyphBuffer;
-    charsConsumed += it.advance(run.length(), &amp;glyphBuffer);
-    glyphName = it.lastGlyphName();
-    return it.runWidthSoFar();
-}
-
-bool SVGTextRunRenderingContext::applySVGKerning(const Font* font, WidthIterator&amp; iterator, GlyphBuffer* glyphBuffer, int from) const
-{
-    ASSERT(glyphBuffer);
-    ASSERT(glyphBuffer-&gt;size() &gt; 1);
-    SVGFontElement* fontElement = 0;
-    SVGFontFaceElement* fontFaceElement = 0;
-
-    svgFontAndFontFaceElementForFontData(font, fontFaceElement, fontElement);
-    if (!fontElement || !fontFaceElement)
-        return false;
-
-    if (fontElement-&gt;horizontalKerningMapIsEmpty())
-        return true;
-
-    float scale = scaleEmToUnits(font-&gt;platformData().size(), fontFaceElement-&gt;unitsPerEm());
-
-    String lastGlyphName;
-    String lastUnicodeString;
-    int characterOffset = iterator.m_currentCharacter;
-    String text = iterator.run().string();
-    const int glyphCount = glyphBuffer-&gt;size() - from;
-    GlyphBufferAdvance* advances = glyphBuffer-&gt;advances(from);
-
-    for (int i = 0; i &lt; glyphCount; ++i) {
-        Glyph glyph = glyphBuffer-&gt;glyphAt(from + i);
-        if (!glyph)
-            continue;
-        float kerning = 0;
-        SVGGlyph svgGlyph = fontElement-&gt;svgGlyphForGlyph(glyph);
-        String unicodeString = text.substring(characterOffset, svgGlyph.unicodeStringLength);
-        if (i &gt;= 1) {
-            // FIXME: Support vertical text.
-            kerning = fontElement-&gt;horizontalKerningForPairOfStringsAndGlyphs(lastUnicodeString, lastGlyphName, unicodeString, svgGlyph.glyphName);
-            advances[i - 1].setWidth(advances[i - 1].width() - kerning * scale);
-        }
-        lastGlyphName = svgGlyph.glyphName;
-        lastUnicodeString = unicodeString;
-        characterOffset += svgGlyph.unicodeStringLength;
-    }
-
-    return true;
-}
-
-class SVGGlyphToPathTranslator final : public GlyphToPathTranslator {
-public:
-    SVGGlyphToPathTranslator(const TextRun* const, const GlyphBuffer&amp;, const FloatPoint&amp;, const SVGFontData&amp;, SVGFontElement&amp;, const int from, const int numGlyphs, float scale, bool isVerticalText);
-private:
-    bool containsMorePaths() override
-    {
-        return m_index != m_stoppingPoint;
-    }
-
-    Path path() override;
-    std::pair&lt;float, float&gt; extents() override;
-    GlyphUnderlineType underlineType() override;
-    void advance() override;
-    void moveToNextValidGlyph();
-    AffineTransform transform();
-
-    const TextRun* const m_textRun;
-    const GlyphBuffer&amp; m_glyphBuffer;
-    const SVGFontData&amp; m_svgFontData;
-    FloatPoint m_currentPoint;
-    FloatPoint m_glyphOrigin;
-    SVGGlyph m_svgGlyph;
-    int m_index;
-    Glyph m_glyph;
-    SVGFontElement&amp; m_fontElement;
-    const float m_stoppingPoint;
-    const float m_scale;
-    const bool m_isVerticalText;
-};
-
-SVGGlyphToPathTranslator::SVGGlyphToPathTranslator(const TextRun* const textRun, const GlyphBuffer&amp; glyphBuffer, const FloatPoint&amp; point, const SVGFontData&amp; svgFontData, SVGFontElement&amp; fontElement, const int from, const int numGlyphs, float scale, bool isVerticalText)
-    : m_textRun(textRun)
-    , m_glyphBuffer(glyphBuffer)
-    , m_svgFontData(svgFontData)
-    , m_currentPoint(point)
-    , m_glyphOrigin(m_svgFontData.horizontalOriginX() * scale, m_svgFontData.horizontalOriginY() * scale)
-    , m_index(from)
-    , m_glyph(glyphBuffer.glyphAt(m_index))
-    , m_fontElement(fontElement)
-    , m_stoppingPoint(numGlyphs + from)
-    , m_scale(scale)
-    , m_isVerticalText(isVerticalText)
-{
-    ASSERT(glyphBuffer.size() &gt; m_index);
-    if (m_glyph) {
-        m_svgGlyph = m_fontElement.svgGlyphForGlyph(m_glyph);
-        ASSERT(!m_svgGlyph.isPartOfLigature);
-        ASSERT(m_svgGlyph.tableEntry == m_glyph);
-        SVGGlyphElement::inheritUnspecifiedAttributes(m_svgGlyph, &amp;m_svgFontData);
-    }
-    moveToNextValidGlyph();
-}
-
-AffineTransform SVGGlyphToPathTranslator::transform()
-{
-    AffineTransform glyphPathTransform;
-    glyphPathTransform.translate(m_currentPoint.x() + m_glyphOrigin.x(), m_currentPoint.y() + m_glyphOrigin.y());
-    glyphPathTransform.scale(m_scale, -m_scale);
-    return glyphPathTransform;
-}
-
-Path SVGGlyphToPathTranslator::path()
-{
-    Path glyphPath = m_svgGlyph.pathData;
-    glyphPath.transform(transform());
-    return glyphPath;
-}
-
-std::pair&lt;float, float&gt; SVGGlyphToPathTranslator::extents()
-{
-    AffineTransform glyphPathTransform = transform();
-    FloatPoint beginning = glyphPathTransform.mapPoint(m_currentPoint);
-    float width = narrowPrecisionToFloat(m_glyphBuffer.advanceAt(m_index).width() * glyphPathTransform.xScale());
-    return std::make_pair(beginning.x(), beginning.x() + width);
-}
-
-auto SVGGlyphToPathTranslator::underlineType() -&gt; GlyphUnderlineType
-{
-    ASSERT(m_textRun);
-    return computeUnderlineType(*m_textRun, m_glyphBuffer, m_index);
-}
-
-void SVGGlyphToPathTranslator::moveToNextValidGlyph()
-{
-    if (m_glyph &amp;&amp; !m_svgGlyph.pathData.isEmpty())
-        return;
-    advance();
-}
-
-void SVGGlyphToPathTranslator::advance()
-{
-    do {
-        if (m_glyph) {
-            float advance = m_glyphBuffer.advanceAt(m_index).width();
-            if (m_isVerticalText)
-                m_currentPoint.move(0, advance);
-            else
-                m_currentPoint.move(advance, 0);
-        }
-
-        ++m_index;
-        if (m_index &gt;= m_stoppingPoint || !m_glyphBuffer.fontAt(m_index)-&gt;isSVGFont())
-            break;
-        m_glyph = m_glyphBuffer.glyphAt(m_index);
-        if (!m_glyph)
-            continue;
-        m_svgGlyph = m_fontElement.svgGlyphForGlyph(m_glyph);
-        ASSERT(!m_svgGlyph.isPartOfLigature);
-        ASSERT(m_svgGlyph.tableEntry == m_glyph);
-        SVGGlyphElement::inheritUnspecifiedAttributes(m_svgGlyph, &amp;m_svgFontData);
-    } while ((!m_glyph || m_svgGlyph.pathData.isEmpty()) &amp;&amp; m_index &lt; m_stoppingPoint);
-
-    if (containsMorePaths() &amp;&amp; m_isVerticalText) {
-        m_glyphOrigin.setX(m_svgGlyph.verticalOriginX * m_scale);
-        m_glyphOrigin.setY(m_svgGlyph.verticalOriginY * m_scale);
-    }
-}
-
-class DummyGlyphToPathTranslator final : public GlyphToPathTranslator {
-    bool containsMorePaths() override
-    {
-        return false;
-    }
-    Path path() override
-    {
-        return Path();
-    }
-    std::pair&lt;float, float&gt; extents() override
-    {
-        return std::make_pair(0.f, 0.f);
-    }
-    GlyphUnderlineType underlineType() override
-    {
-        return GlyphUnderlineType::DrawOverGlyph;
-    }
-    void advance() override
-    {
-    }
-};
-
-std::unique_ptr&lt;GlyphToPathTranslator&gt; SVGTextRunRenderingContext::createGlyphToPathTranslator(const Font&amp; font, const TextRun* textRun, const GlyphBuffer&amp; glyphBuffer, int from, int numGlyphs, const FloatPoint&amp; point) const
-{
-    SVGFontElement* fontElement = nullptr;
-    SVGFontFaceElement* fontFaceElement = nullptr;
-
-    const SVGFontData* svgFontData = svgFontAndFontFaceElementForFontData(&amp;font, fontFaceElement, fontElement);
-    if (!fontElement || !fontFaceElement)
-        return std::make_unique&lt;DummyGlyphToPathTranslator&gt;();
-
-    auto&amp; elementRenderer = is&lt;RenderElement&gt;(renderer()) ? downcast&lt;RenderElement&gt;(renderer()) : *renderer().parent();
-    RenderStyle&amp; style = elementRenderer.style();
-    bool isVerticalText = style.svgStyle().isVerticalWritingMode();
-
-    float scale = scaleEmToUnits(font.platformData().size(), fontFaceElement-&gt;unitsPerEm());
-
-    return std::make_unique&lt;SVGGlyphToPathTranslator&gt;(textRun, glyphBuffer, point, *svgFontData, *fontElement, from, numGlyphs, scale, isVerticalText);
-}
-
-void SVGTextRunRenderingContext::drawSVGGlyphs(GraphicsContext&amp; context, const Font&amp; font, const GlyphBuffer&amp; glyphBuffer, int from, int numGlyphs, const FloatPoint&amp; point) const
-{
-    auto activePaintingResource = this-&gt;activePaintingResource();
-    if (!activePaintingResource) {
-        // TODO: We're only supporting simple filled HTML text so far.
-        RenderSVGResourceSolidColor* solidPaintingResource = RenderSVGResource::sharedSolidPaintingResource();
-        solidPaintingResource-&gt;setColor(context.fillColor());
-        activePaintingResource = solidPaintingResource;
-    }
-
-    auto&amp; elementRenderer = is&lt;RenderElement&gt;(renderer()) ? downcast&lt;RenderElement&gt;(renderer()) : *renderer().parent();
-    RenderStyle&amp; style = elementRenderer.style();
-
-    ASSERT(activePaintingResource);
-
-    GraphicsContext* usedContext = &amp;context;
-    RenderSVGResourceMode resourceMode = context.textDrawingMode() == TextModeStroke ? ApplyToStrokeMode : ApplyToFillMode;
-    for (auto translator = createGlyphToPathTranslator(font, nullptr, glyphBuffer, from, numGlyphs, point); translator-&gt;containsMorePaths(); translator-&gt;advance()) {
-        Path glyphPath = translator-&gt;path();
-        if (activePaintingResource-&gt;applyResource(elementRenderer, style, usedContext, resourceMode)) {
-            float strokeThickness = context.strokeThickness();
-            if (is&lt;RenderSVGInlineText&gt;(renderer()))
-                usedContext-&gt;setStrokeThickness(strokeThickness * downcast&lt;RenderSVGInlineText&gt;(renderer()).scalingFactor());
-            activePaintingResource-&gt;postApplyResource(elementRenderer, usedContext, resourceMode, &amp;glyphPath, nullptr);
-            usedContext-&gt;setStrokeThickness(strokeThickness);
-        }
-    }
-}
-
-static GlyphData missingGlyphForFont(const FontCascade&amp; font)
-{
-    const Font&amp; primaryFont = font.primaryFont();
-    if (!primaryFont.isSVGFont())
-        return GlyphData();
-    SVGFontElement* fontElement;
-    SVGFontFaceElement* fontFaceElement;
-    svgFontAndFontFaceElementForFontData(&amp;primaryFont, fontFaceElement, fontElement);
-    return GlyphData(fontElement-&gt;missingGlyph(), &amp;primaryFont);
-}
-
-GlyphData SVGTextRunRenderingContext::glyphDataForCharacter(const FontCascade&amp; font, WidthIterator&amp; iterator, UChar32 character, bool mirror, int currentCharacter, unsigned&amp; advanceLength, String&amp; normalizedSpacesStringCache)
-{
-    GlyphData glyphData = font.glyphDataForCharacter(character, mirror, AutoVariant);
-    if (!glyphData.glyph)
-        return missingGlyphForFont(font);
-
-    ASSERT(glyphData.font);
-
-    // Characters enclosed by an &lt;altGlyph&gt; element, may not be registered in the GlyphPage.
-    if (!glyphData.font-&gt;isSVGFont()) {
-        auto&amp; elementRenderer = is&lt;RenderElement&gt;(renderer()) ? downcast&lt;RenderElement&gt;(renderer()) : *renderer().parent();
-        if (Element* parentRendererElement = elementRenderer.element()) {
-            if (is&lt;SVGAltGlyphElement&gt;(*parentRendererElement))
-                glyphData.font = &amp;font.primaryFont();
-        }
-    }
-
-    if (!glyphData.font-&gt;isSVGFont())
-        return glyphData;
-
-    SVGFontElement* fontElement = nullptr;
-    SVGFontFaceElement* fontFaceElement = nullptr;
-    const SVGFontData* svgFontData = svgFontAndFontFaceElementForFontData(glyphData.font, fontFaceElement, fontElement);
-    if (!svgFontData)
-        return glyphData;
-
-    // If we got here, we're dealing with a glyph defined in a SVG Font.
-    // The returned glyph by glyphDataForCharacter() is a glyph stored in the SVG Font glyph table.
-    // This doesn't necessarily mean the glyph is suitable for rendering/measuring in this context, its
-    // arabic-form/orientation/... may not match, we have to apply SVG Glyph selection to discover that.
-    if (svgFontData-&gt;applySVGGlyphSelection(iterator, glyphData, mirror, currentCharacter, advanceLength, normalizedSpacesStringCache))
-        return glyphData;
-
-    GlyphData missingGlyphData = missingGlyphForFont(font);
-    if (missingGlyphData.glyph)
-        return missingGlyphData;
-
-    // SVG font context sensitive selection failed and there is no defined missing glyph. Drop down to a default font.
-    // The behavior does not seem to be specified. For simplicity we don't try to resolve font fallbacks context-sensitively.
-    auto fallbackDescription = font.fontDescription();
-    fallbackDescription.setFamilies(Vector&lt;AtomicString&gt; { sansSerifFamily });
-    FontCascade fallbackFont(fallbackDescription, font.letterSpacing(), font.wordSpacing());
-    fallbackFont.update(font.fontSelector());
-
-    return fallbackFont.glyphDataForCharacter(character, mirror, AutoVariant);
-}
-
-}
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGTextRunRenderingContexth"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/rendering/svg/SVGTextRunRenderingContext.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGTextRunRenderingContext.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/rendering/svg/SVGTextRunRenderingContext.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,75 +0,0 @@
</span><del>-/*
- * Copyright (C) Research In Motion Limited 2011. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef SVGTextRunRenderingContext_h
-#define SVGTextRunRenderingContext_h
-
-#include &quot;FontCascade.h&quot;
-#include &quot;TextRun.h&quot;
-
-namespace WebCore {
-
-class RenderObject;
-class RenderSVGResource;
-
-class SVGTextRunRenderingContext final : public TextRun::RenderingContext {
-public:
-    static Ref&lt;SVGTextRunRenderingContext&gt; create(RenderObject&amp; renderer)
-    {
-        return adoptRef(*new SVGTextRunRenderingContext(renderer));
-    }
-
-    RenderObject&amp; renderer() const { return m_renderer; }
-
-#if ENABLE(SVG_FONTS)
-    RenderSVGResource* activePaintingResource() const { return m_activePaintingResource; }
-    void setActivePaintingResource(RenderSVGResource* object) { m_activePaintingResource = object; }
-
-    GlyphData glyphDataForCharacter(const FontCascade&amp;, WidthIterator&amp;, UChar32 character, bool mirror, int currentCharacter, unsigned&amp; advanceLength, String&amp; normalizedSpacesStringCache) override;
-    void drawSVGGlyphs(GraphicsContext&amp;, const Font&amp;, const GlyphBuffer&amp;, int from, int to, const FloatPoint&amp;) const override;
-    float floatWidthUsingSVGFont(const FontCascade&amp;, const TextRun&amp;, int&amp; charsConsumed, String&amp; glyphName) const override;
-    bool applySVGKerning(const Font*, WidthIterator&amp;, GlyphBuffer*, int from) const override;
-#endif
-
-private:
-    SVGTextRunRenderingContext(RenderObject&amp; renderer)
-        : m_renderer(renderer)
-#if ENABLE(SVG_FONTS)
-        , m_activePaintingResource(0)
-#endif
-    {
-    }
-
-    virtual ~SVGTextRunRenderingContext() { }
-
-#if ENABLE(SVG_FONTS)
-    std::unique_ptr&lt;GlyphToPathTranslator&gt; createGlyphToPathTranslator(const Font&amp;, const TextRun*, const GlyphBuffer&amp;, int from, int numGlyphs, const FloatPoint&amp;) const override;
-#endif
-
-    RenderObject&amp; m_renderer;
-
-#if ENABLE(SVG_FONTS)
-    RenderSVGResource* m_activePaintingResource;
-#endif
-};
-
-} // namespace WebCore
-
-#endif // SVGTextRunRenderingContext_h
</del></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAllInOne.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAllInOne.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGAllInOne.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -97,7 +97,6 @@
</span><span class="cx"> #include &quot;SVGFilterElement.cpp&quot;
</span><span class="cx"> #include &quot;SVGFilterPrimitiveStandardAttributes.cpp&quot;
</span><span class="cx"> #include &quot;SVGFitToViewBox.cpp&quot;
</span><del>-#include &quot;SVGFontData.cpp&quot;
</del><span class="cx"> #include &quot;SVGFontElement.cpp&quot;
</span><span class="cx"> #include &quot;SVGFontFaceElement.cpp&quot;
</span><span class="cx"> #include &quot;SVGFontFaceFormatElement.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontDatacpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/svg/SVGFontData.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontData.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGFontData.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,298 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008 Nikolas Zimmermann &lt;zimmermann@kde.org&gt;
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(SVG_FONTS)
-#include &quot;SVGFontData.h&quot;
-
-#include &quot;GlyphPage.h&quot;
-#include &quot;RenderElement.h&quot;
-#include &quot;SVGAltGlyphElement.h&quot;
-#include &quot;SVGFontElement.h&quot;
-#include &quot;SVGFontFaceElement.h&quot;
-#include &quot;SVGGlyph.h&quot;
-#include &quot;SVGGlyphElement.h&quot;
-#include &quot;SVGNames.h&quot;
-#include &quot;SVGTextRunRenderingContext.h&quot;
-#include &quot;TextRun.h&quot;
-#include &quot;WidthIterator.h&quot;
-#include &quot;XMLNames.h&quot;
-#include &lt;wtf/text/StringBuilder.h&gt;
-#include &lt;wtf/unicode/CharacterNames.h&gt;
-
-using namespace WTF;
-using namespace Unicode;
-
-namespace WebCore {
-
-static String createStringWithMirroredCharacters(StringView);
-static void computeNormalizedSpaces(const TextRun&amp;, bool mirror, String&amp; normalizedSpacesStringCache);
-
-SVGFontData::SVGFontData(SVGFontFaceElement* fontFaceElement)
-    : m_svgFontFaceElement(fontFaceElement)
-    , m_horizontalOriginX(fontFaceElement-&gt;horizontalOriginX())
-    , m_horizontalOriginY(fontFaceElement-&gt;horizontalOriginY())
-    , m_horizontalAdvanceX(fontFaceElement-&gt;horizontalAdvanceX())
-    , m_verticalOriginX(fontFaceElement-&gt;verticalOriginX())
-    , m_verticalOriginY(fontFaceElement-&gt;verticalOriginY())
-    , m_verticalAdvanceY(fontFaceElement-&gt;verticalAdvanceY())
-{
-    ASSERT_ARG(fontFaceElement, fontFaceElement);
-}
-
-void SVGFontData::initializeFont(Font* font, float fontSize)
-{
-    ASSERT(font);
-
-    SVGFontFaceElement* svgFontFaceElement = this-&gt;svgFontFaceElement();
-    ASSERT(svgFontFaceElement);
-
-    font-&gt;setZeroWidthSpaceGlyph(0);
-    font-&gt;determinePitch();
-
-    unsigned unitsPerEm = svgFontFaceElement-&gt;unitsPerEm();
-    float scale = scaleEmToUnits(fontSize, unitsPerEm);
-    float xHeight = svgFontFaceElement-&gt;xHeight() * scale;
-    float ascent = svgFontFaceElement-&gt;ascent() * scale;
-    float descent = svgFontFaceElement-&gt;descent() * scale;
-    float lineGap = 0.1f * fontSize;
-
-    const GlyphPage* glyphPageZero = font-&gt;glyphPage(0);
-
-    if (!xHeight &amp;&amp; glyphPageZero) {
-        // Fallback if x_heightAttr is not specified for the font element.
-        Glyph letterXGlyph = glyphPageZero-&gt;glyphDataForCharacter('x').glyph;
-        xHeight = letterXGlyph ? font-&gt;widthForGlyph(letterXGlyph) : 2 * ascent / 3;
-    }
-
-    FontMetrics&amp; fontMetrics = font-&gt;fontMetrics();
-    fontMetrics.setUnitsPerEm(unitsPerEm);
-    fontMetrics.setAscent(ascent);
-    fontMetrics.setDescent(descent);
-    fontMetrics.setLineGap(lineGap);
-    fontMetrics.setLineSpacing(roundf(ascent) + roundf(descent) + roundf(lineGap));
-    fontMetrics.setXHeight(xHeight);
-
-    if (!glyphPageZero) {
-        font-&gt;setSpaceGlyph(0);
-        font-&gt;setSpaceWidths(0);
-        font-&gt;setAvgCharWidth(0);
-        font-&gt;setMaxCharWidth(ascent);
-        return;
-    }
-
-    // Calculate space width.
-    Glyph spaceGlyph = glyphPageZero-&gt;glyphDataForCharacter(' ').glyph;
-    font-&gt;setSpaceGlyph(spaceGlyph);
-    font-&gt;setSpaceWidths(font-&gt;widthForGlyph(spaceGlyph));
-
-    // Estimate average character width.
-    Glyph numeralZeroGlyph = glyphPageZero-&gt;glyphDataForCharacter('0').glyph;
-    font-&gt;setAvgCharWidth(numeralZeroGlyph ? font-&gt;widthForGlyph(numeralZeroGlyph) : font-&gt;spaceWidth());
-
-    // Estimate maximum character width.
-    Glyph letterWGlyph = glyphPageZero-&gt;glyphDataForCharacter('W').glyph;
-    font-&gt;setMaxCharWidth(letterWGlyph ? font-&gt;widthForGlyph(letterWGlyph) : ascent);
-}
-
-float SVGFontData::widthForSVGGlyph(Glyph glyph, float fontSize) const
-{
-    SVGFontFaceElement* svgFontFaceElement = this-&gt;svgFontFaceElement();
-    ASSERT(svgFontFaceElement);
-
-    SVGFontElement* associatedFontElement = svgFontFaceElement-&gt;associatedFontElement();
-    ASSERT(associatedFontElement);
-
-    SVGGlyph svgGlyph = associatedFontElement-&gt;svgGlyphForGlyph(glyph);
-    SVGGlyphElement::inheritUnspecifiedAttributes(svgGlyph, this);
-    return svgGlyph.horizontalAdvanceX * scaleEmToUnits(fontSize, svgFontFaceElement-&gt;unitsPerEm());
-}
-
-bool SVGFontData::applySVGGlyphSelection(WidthIterator&amp; iterator, GlyphData&amp; glyphData, bool mirror, int currentCharacter, unsigned&amp; advanceLength, String&amp; normalizedSpacesStringCache) const
-{
-    const TextRun&amp; run = iterator.run();
-    Vector&lt;SVGGlyph::ArabicForm&gt;&amp; arabicForms = iterator.arabicForms();
-    ASSERT(run.charactersLength() &gt;= static_cast&lt;unsigned&gt;(currentCharacter));
-
-    SVGFontFaceElement* svgFontFaceElement = this-&gt;svgFontFaceElement();
-    ASSERT(svgFontFaceElement);
-
-    SVGFontElement* associatedFontElement = svgFontFaceElement-&gt;associatedFontElement();
-    ASSERT(associatedFontElement);
-
-    RenderObject* renderObject = nullptr;
-    if (TextRun::RenderingContext* renderingContext = run.renderingContext())
-        renderObject = &amp;static_cast&lt;SVGTextRunRenderingContext*&gt;(renderingContext)-&gt;renderer();
-
-    String language;
-    bool isVerticalText = false;
-    Vector&lt;String&gt; altGlyphNames;
-
-    if (renderObject) {
-        RenderElement&amp; parentRenderer = is&lt;RenderElement&gt;(*renderObject) ? downcast&lt;RenderElement&gt;(*renderObject) : *renderObject-&gt;parent();
-
-        isVerticalText = parentRenderer.style().svgStyle().isVerticalWritingMode();
-        if (Element* parentRendererElement = parentRenderer.element()) {
-            language = parentRendererElement-&gt;getAttribute(XMLNames::langAttr);
-
-            if (is&lt;SVGAltGlyphElement&gt;(*parentRendererElement)) {
-                SVGAltGlyphElement&amp; altGlyph = downcast&lt;SVGAltGlyphElement&gt;(*parentRendererElement);
-                if (!altGlyph.hasValidGlyphElements(altGlyphNames))
-                    altGlyphNames.clear();
-            }
-        }
-    }
-
-    Vector&lt;SVGGlyph&gt; glyphs;
-    if (!altGlyphNames.isEmpty()) {
-        for (auto&amp; name : altGlyphNames)
-            associatedFontElement-&gt;collectGlyphsForGlyphName(name, glyphs);
-
-        // Assign the unicodeStringLength now that its known.
-        for (auto&amp; glyph : glyphs)
-            glyph.unicodeStringLength = run.length();
-
-        // Do not check alt glyphs for compatibility. Just return the first one.
-        // Later code will fail if we do not do this and the glyph is incompatible.
-        if (!glyphs.isEmpty()) {
-            SVGGlyph&amp; svgGlyph = glyphs[0];
-            iterator.setLastGlyphName(svgGlyph.glyphName);
-            glyphData.glyph = svgGlyph.tableEntry;
-            advanceLength = svgGlyph.unicodeStringLength;
-            return true;
-        }
-    } else {
-        // Associate text with arabic forms, if needed.
-        computeNormalizedSpaces(run, mirror, normalizedSpacesStringCache);
-        auto remainingTextInRun = normalizedSpacesStringCache.substring(currentCharacter);
-
-        if (!currentCharacter &amp;&amp; arabicForms.isEmpty())
-            arabicForms = charactersWithArabicForm(remainingTextInRun, mirror);
-
-        associatedFontElement-&gt;collectGlyphsForString(remainingTextInRun, glyphs);
-    }
-
-    for (auto&amp; glyph : glyphs) {
-        if (glyph.isPartOfLigature)
-            continue;
-        if (!isCompatibleGlyph(glyph, isVerticalText, language, arabicForms, currentCharacter, currentCharacter + glyph.unicodeStringLength))
-            continue;
-        iterator.setLastGlyphName(glyph.glyphName);
-        glyphData.glyph = glyph.tableEntry;
-        advanceLength = glyph.unicodeStringLength;
-        return true;
-    }
-
-    iterator.setLastGlyphName(String());
-    return false;
-}
-
-bool SVGFontData::fillSVGGlyphPage(GlyphPage* pageToFill, UChar* buffer, unsigned bufferLength) const
-{
-    SVGFontFaceElement* fontFaceElement = this-&gt;svgFontFaceElement();
-    ASSERT(fontFaceElement);
-
-    SVGFontElement* fontElement = fontFaceElement-&gt;associatedFontElement();
-    ASSERT(fontElement);
-
-    if (bufferLength == GlyphPage::size)
-        return fillBMPGlyphs(fontElement, pageToFill, buffer);
-
-    ASSERT(bufferLength == 2 * GlyphPage::size);
-    return fillNonBMPGlyphs(fontElement, pageToFill, buffer);
-}
-
-bool SVGFontData::fillBMPGlyphs(SVGFontElement* fontElement, GlyphPage* pageToFill, UChar* buffer) const
-{
-    bool haveGlyphs = false;
-    Vector&lt;SVGGlyph&gt; glyphs;
-    for (unsigned i = 0; i &lt; GlyphPage::size; ++i) {
-        String lookupString(buffer + i, 1);
-        fontElement-&gt;collectGlyphsForString(lookupString, glyphs);
-        if (glyphs.isEmpty()) {
-            pageToFill-&gt;setGlyphForIndex(i, 0);
-            continue;
-        }
-
-        // Associate entry in glyph page with first valid SVGGlyph.
-        // If there are multiple valid ones, just take the first one. WidthIterator will take
-        // care of matching to the correct glyph, if multiple ones are available, as that's
-        // only possible within the context of a string (eg. arabic form matching).
-        haveGlyphs = true;
-        pageToFill-&gt;setGlyphForIndex(i, glyphs.first().tableEntry);
-        glyphs.clear();
-    }
-
-    return haveGlyphs;
-}
-
-bool SVGFontData::fillNonBMPGlyphs(SVGFontElement* fontElement, GlyphPage* pageToFill, UChar* buffer) const
-{
-    bool haveGlyphs = false;
-    Vector&lt;SVGGlyph&gt; glyphs;
-    for (unsigned i = 0; i &lt; GlyphPage::size; ++i) {
-        // Each character here consists of a surrogate pair
-        String lookupString(buffer + i * 2, 2);
-        fontElement-&gt;collectGlyphsForString(lookupString, glyphs);
-        if (glyphs.isEmpty()) {
-            pageToFill-&gt;setGlyphForIndex(i, 0);
-            continue;
-        }
-
-        // Associate entry in glyph page with first valid SVGGlyph.
-        // If there are multiple valid ones, just take the first one. WidthIterator will take
-        // care of matching to the correct glyph, if multiple ones are available, as that's
-        // only possible within the context of a string (eg. arabic form matching).
-        haveGlyphs = true;
-        pageToFill-&gt;setGlyphForIndex(i, glyphs.first().tableEntry);
-        glyphs.clear();
-    }
-
-    return haveGlyphs;
-}
-
-void computeNormalizedSpaces(const TextRun&amp; run, bool mirror, String&amp; normalizedSpacesStringCache)
-{
-    if (normalizedSpacesStringCache.length() == static_cast&lt;unsigned&gt;(run.charactersLength()))
-        return;
-    if (run.is8Bit())
-        normalizedSpacesStringCache = FontCascade::normalizeSpaces(run.characters8(), run.charactersLength());
-    else
-        normalizedSpacesStringCache = FontCascade::normalizeSpaces(run.characters16(), run.charactersLength());
-    if (mirror)
-        normalizedSpacesStringCache = createStringWithMirroredCharacters(normalizedSpacesStringCache);
-}
-
-String createStringWithMirroredCharacters(StringView string)
-{
-    unsigned length = string.length();
-    StringBuilder mirroredCharacters;
-    mirroredCharacters.reserveCapacity(length);
-    for (unsigned i = 0; i &lt; length; ) {
-        UChar32 character;
-        U16_NEXT(string, i, length, character);
-        mirroredCharacters.append(u_charMirror(character));
-    }
-    return mirroredCharacters.toString();
-}
-
-} // namespace WebCore
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontDatah"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/svg/SVGFontData.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontData.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGFontData.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,78 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008 Nikolas Zimmermann &lt;zimmermann@kde.org&gt;
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef SVGFontData_h
-#define SVGFontData_h
-
-#if ENABLE(SVG_FONTS)
-#include &quot;Font.h&quot;
-
-namespace WebCore {
-
-class SVGFontElement;
-class SVGFontFaceElement;
-
-class SVGFontData : public Font::SVGData {
-public:
-    explicit SVGFontData(SVGFontFaceElement*);
-    virtual ~SVGFontData() { }
-
-    void initializeFont(Font*, float fontSize) override;
-    float widthForSVGGlyph(Glyph, float fontSize) const override;
-    bool fillSVGGlyphPage(GlyphPage*, UChar* buffer, unsigned bufferLength) const override;
-
-    bool applySVGGlyphSelection(WidthIterator&amp;, GlyphData&amp;, bool mirror, int currentCharacter, unsigned&amp; advanceLength, String&amp; normalizedSpacesStringCache) const;
-
-    SVGFontFaceElement* svgFontFaceElement() const { return m_svgFontFaceElement; }
-
-    float horizontalOriginX() const { return m_horizontalOriginX; }
-    float horizontalOriginY() const { return m_horizontalOriginY; }
-    float horizontalAdvanceX() const { return m_horizontalAdvanceX; }
-
-    float verticalOriginX() const { return m_verticalOriginX; }
-    float verticalOriginY() const { return m_verticalOriginY; }
-    float verticalAdvanceY() const { return m_verticalAdvanceY; }
-
-private:
-    bool fillBMPGlyphs(SVGFontElement*, GlyphPage*, UChar* buffer) const;
-    bool fillNonBMPGlyphs(SVGFontElement*, GlyphPage*, UChar* buffer) const;
-
-    bool applyTransforms(GlyphBufferGlyph*, GlyphBufferAdvance*, size_t, bool enableKerning, bool requiresShaping) const = delete;
-
-    // Ths SVGFontFaceElement is kept alive --
-    // 1) in the external font case: by the CSSFontFaceSource, which holds a reference to the external SVG document
-    //    containing the element;
-    // 2) in the in-document font case: by virtue of being in the document tree and making sure that when it is removed
-    //    from the document, it removes the @font-face rule it owns from the document's mapped element sheet and forces
-    //    a style update.
-    SVGFontFaceElement* m_svgFontFaceElement;
-
-    float m_horizontalOriginX;
-    float m_horizontalOriginY;
-    float m_horizontalAdvanceX;
-
-    float m_verticalOriginX;
-    float m_verticalOriginY;
-    float m_verticalAdvanceY;
-};
-
-} // namespace WebCore
-
-#endif
-#endif // SVGFontData_h
</del></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFontElement.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontElement.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGFontElement.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -46,8 +46,6 @@
</span><span class="cx"> 
</span><span class="cx"> inline SVGFontElement::SVGFontElement(const QualifiedName&amp; tagName, Document&amp; document)
</span><span class="cx">     : SVGElement(tagName, document)
</span><del>-    , m_missingGlyph(0)
-    , m_isGlyphCacheValid(false)
</del><span class="cx"> {
</span><span class="cx">     ASSERT(hasTagName(SVGNames::fontTag));
</span><span class="cx">     registerAnimatedPropertiesForSVGFontElement();
</span><span class="lines">@@ -58,264 +56,6 @@
</span><span class="cx">     return adoptRef(*new SVGFontElement(tagName, document));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SVGFontElement::invalidateGlyphCache()
-{
-    if (m_isGlyphCacheValid) {
-        m_glyphMap.clear();
-        m_horizontalKerningMap.clear();
-        m_verticalKerningMap.clear();
-    }
-    m_isGlyphCacheValid = false;
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-const SVGMissingGlyphElement* SVGFontElement::firstMissingGlyphElement() const
-{
-    return childrenOfType&lt;SVGMissingGlyphElement&gt;(*this).first();
-}
-
-void SVGFontElement::registerLigaturesInGlyphCache(Vector&lt;String&gt;&amp; ligatures)
-{
-    ASSERT(!ligatures.isEmpty());
-
-    // Register each character of a ligature in the map, if not present.
-    // Eg. If only a &quot;fi&quot; ligature is present, but not &quot;f&quot; and &quot;i&quot;, the
-    // GlyphPage will not contain any entries for &quot;f&quot; and &quot;i&quot;, so the
-    // SVGFont is not used to render the text &quot;fi1234&quot;. Register an
-    // empty SVGGlyph with the character, so the SVG Font will be used
-    // to render the text. If someone tries to render &quot;f2&quot; the SVG Font
-    // will not be able to find a glyph for &quot;f&quot;, but handles the fallback
-    // character substitution properly through glyphDataForCharacter().
-    Vector&lt;SVGGlyph&gt; glyphs;
-    for (auto&amp; unicode : ligatures) {
-        unsigned unicodeLength = unicode.length();
-        ASSERT(unicodeLength &gt; 1);
-
-        for (unsigned i = 0; i &lt; unicodeLength; ++i) {
-            UChar character = unicode[i];
-            String lookupString(&amp;character, 1);
-            m_glyphMap.collectGlyphsForString(lookupString, glyphs);
-            if (!glyphs.isEmpty()) {
-                glyphs.clear();
-                continue;
-            }
-
-            // This glyph is never meant to be used for rendering, only as identifier as a part of a ligature.
-            SVGGlyph newGlyphPart;
-            newGlyphPart.isPartOfLigature = true;
-            m_glyphMap.addGlyph(String(), lookupString, newGlyphPart);
-        }
-    }
-}
-
-void SVGFontElement::ensureGlyphCache()
-{
-    if (m_isGlyphCacheValid)
-        return;
-
-    const SVGMissingGlyphElement* firstMissingGlyphElement = nullptr;
-    Vector&lt;String&gt; ligatures;
-    for (auto&amp; child : childrenOfType&lt;SVGElement&gt;(*this)) {
-        if (is&lt;SVGGlyphElement&gt;(child)) {
-            SVGGlyphElement&amp; glyph = downcast&lt;SVGGlyphElement&gt;(child);
-            AtomicString unicode = glyph.fastGetAttribute(SVGNames::unicodeAttr);
-            AtomicString glyphId = glyph.getIdAttribute();
-            if (glyphId.isEmpty() &amp;&amp; unicode.isEmpty())
-                continue;
-
-            m_glyphMap.addGlyph(glyphId, unicode, glyph.buildGlyphIdentifier());
-
-            // Register ligatures, if needed, don't mix up with surrogate pairs though!
-            if (unicode.length() &gt; 1 &amp;&amp; !U16_IS_SURROGATE(unicode[0]))
-                ligatures.append(unicode.string());
-        } else if (is&lt;SVGHKernElement&gt;(child)) {
-            SVGHKernElement&amp; hkern = downcast&lt;SVGHKernElement&gt;(child);
-            SVGKerningPair kerningPair;
-            if (hkern.buildHorizontalKerningPair(kerningPair))
-                m_horizontalKerningMap.insert(kerningPair);
-        } else if (is&lt;SVGVKernElement&gt;(child)) {
-            SVGVKernElement&amp; vkern = downcast&lt;SVGVKernElement&gt;(child);
-            SVGKerningPair kerningPair;
-            if (vkern.buildVerticalKerningPair(kerningPair))
-                m_verticalKerningMap.insert(kerningPair);
-        } else if (is&lt;SVGMissingGlyphElement&gt;(child) &amp;&amp; !firstMissingGlyphElement)
-            firstMissingGlyphElement = &amp;downcast&lt;SVGMissingGlyphElement&gt;(child);
-    }
-
-    // Register each character of each ligature, if needed.
-    if (!ligatures.isEmpty())
-        registerLigaturesInGlyphCache(ligatures);
-
-    // Register missing-glyph element, if present.
-    if (firstMissingGlyphElement) {
-        SVGGlyph svgGlyph = SVGGlyphElement::buildGenericGlyphIdentifier(firstMissingGlyphElement);
-        m_glyphMap.appendToGlyphTable(svgGlyph);
-        m_missingGlyph = svgGlyph.tableEntry;
-        ASSERT(m_missingGlyph &gt; 0);
-    }
-
-    m_isGlyphCacheValid = true;
-}
-
-void SVGKerningMap::clear()
-{
-    unicodeMap.clear();
-    glyphMap.clear();
-    kerningUnicodeRangeMap.clear();
-}
-
-void SVGKerningMap::insert(const SVGKerningPair&amp; kerningPair)
-{
-    SVGKerning svgKerning;
-    svgKerning.kerning = kerningPair.kerning;
-    svgKerning.unicodeRange2 = kerningPair.unicodeRange2;
-    svgKerning.unicodeName2 = kerningPair.unicodeName2;
-    svgKerning.glyphName2 = kerningPair.glyphName2;
-
-    for (auto&amp; name : kerningPair.unicodeName1) {
-        if (unicodeMap.contains(name))
-            unicodeMap.get(name)-&gt;append(svgKerning);
-        else {
-            auto newVector = std::make_unique&lt;SVGKerningVector&gt;();
-            newVector-&gt;append(svgKerning);
-            unicodeMap.add(name, WTFMove(newVector));
-        }
-    }
-
-    for (auto&amp; name : kerningPair.glyphName1) {
-        if (glyphMap.contains(name))
-            glyphMap.get(name)-&gt;append(svgKerning);
-        else {
-            auto newVector = std::make_unique&lt;SVGKerningVector&gt;();
-            newVector-&gt;append(svgKerning);
-            glyphMap.add(name, WTFMove(newVector));
-        }
-    }
-
-    if (!kerningPair.unicodeRange1.isEmpty())
-        kerningUnicodeRangeMap.append(kerningPair);
-}
-
-static inline bool stringMatchesUnicodeRange(const String&amp; unicodeString, const UnicodeRanges&amp; ranges)
-{
-    if (unicodeString.isEmpty())
-        return false;
-
-    if (!ranges.isEmpty()) {
-        UChar firstChar = unicodeString[0];
-        for (auto&amp; range : ranges) {
-            if (firstChar &gt;= range.first &amp;&amp; firstChar &lt;= range.second)
-                return true;
-        }
-    }
-
-    return false;
-}
-
-static inline bool stringMatchesGlyphName(const String&amp; glyphName, const HashSet&lt;String&gt;&amp; glyphValues)
-{
-    if (glyphName.isEmpty())
-        return false;
-
-    return glyphValues.contains(glyphName);
-}
-
-static inline bool stringMatchesUnicodeName(const String&amp; unicodeName, const HashSet&lt;String&gt;&amp; unicodeValues)
-{
-    if (unicodeName.isEmpty())
-        return false;
-
-    return unicodeValues.contains(unicodeName);
-}
-
-static inline bool matches(const String&amp; u2, const String&amp; g2, const SVGKerning&amp; svgKerning)
-{
-    return stringMatchesGlyphName(g2, svgKerning.glyphName2)
-        || stringMatchesUnicodeName(u2, svgKerning.unicodeName2)
-        || stringMatchesUnicodeRange(u2, svgKerning.unicodeRange2);
-}
-
-static inline bool matches(const String&amp; u1, const String&amp; u2, const String&amp; g2, const SVGKerningPair&amp; svgKerningPair)
-{
-    return stringMatchesUnicodeRange(u1, svgKerningPair.unicodeRange1) &amp;&amp; matches(u2, g2, svgKerningPair);
-}
-
-static inline float kerningForPairOfStringsAndGlyphs(const SVGKerningMap&amp; kerningMap, const String&amp; u1, const String&amp; g1, const String&amp; u2, const String&amp; g2)
-{
-    if (!g1.isEmpty() &amp;&amp; kerningMap.glyphMap.contains(g1)) {
-        SVGKerningVector* kerningVector = kerningMap.glyphMap.get(g1);
-        SVGKerningVector::const_iterator it = kerningVector-&gt;end() - 1;
-        const SVGKerningVector::const_iterator begin = kerningVector-&gt;begin() - 1;
-        for (; it != begin; --it) {
-            if (matches(u2, g2, *it))
-                return it-&gt;kerning;
-        }
-    }
-
-    if (!u1.isEmpty()) {
-        if (kerningMap.unicodeMap.contains(u1)) {
-            SVGKerningVector* kerningVector = kerningMap.unicodeMap.get(u1);
-            SVGKerningVector::const_iterator it = kerningVector-&gt;end() - 1;
-            const SVGKerningVector::const_iterator begin = kerningVector-&gt;begin() - 1;
-            for (; it != begin; --it) {
-                if (matches(u2, g2, *it))
-                    return it-&gt;kerning;
-            }
-        }
-
-        if (!kerningMap.kerningUnicodeRangeMap.isEmpty()) {
-            Vector&lt;SVGKerningPair&gt;::const_iterator it = kerningMap.kerningUnicodeRangeMap.end() - 1;
-            const Vector&lt;SVGKerningPair&gt;::const_iterator begin = kerningMap.kerningUnicodeRangeMap.begin() - 1;
-            for (; it != begin; --it) {
-                if (matches(u1, u2, g2, *it))
-                    return it-&gt;kerning;
-            }
-        }
-    }
-
-    return 0;
-}
-
-float SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs(const String&amp; u1, const String&amp; g1, const String&amp; u2, const String&amp; g2) const
-{
-    if (m_horizontalKerningMap.isEmpty())
-        return 0;
-
-    return kerningForPairOfStringsAndGlyphs(m_horizontalKerningMap, u1, g1, u2, g2);
-}
-
-float SVGFontElement::verticalKerningForPairOfStringsAndGlyphs(const String&amp; u1, const String&amp; g1, const String&amp; u2, const String&amp; g2) const
-{
-    if (m_verticalKerningMap.isEmpty())
-        return 0;
-
-    return kerningForPairOfStringsAndGlyphs(m_verticalKerningMap, u1, g1, u2, g2);
-}
-
-void SVGFontElement::collectGlyphsForString(const String&amp; string, Vector&lt;SVGGlyph&gt;&amp; glyphs)
-{
-    ensureGlyphCache();
-    m_glyphMap.collectGlyphsForString(string, glyphs);
-}
-
-void SVGFontElement::collectGlyphsForGlyphName(const String&amp; glyphName, Vector&lt;SVGGlyph&gt;&amp; glyphs)
-{
-    ensureGlyphCache();
-    // FIXME: We only support glyphName -&gt; single glyph mapping so far.
-    glyphs.append(m_glyphMap.glyphIdentifierForGlyphName(glyphName));
-}
-
-SVGGlyph SVGFontElement::svgGlyphForGlyph(Glyph glyph)
-{
-    ensureGlyphCache();
-    return m_glyphMap.svgGlyphForGlyph(glyph);
-}
-
-Glyph SVGFontElement::missingGlyph()
-{
-    ensureGlyphCache();
-    return m_missingGlyph;
-}
-
-}
-
</del><span class="cx"> #endif // ENABLE(SVG_FONTS)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFontElement.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontElement.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGFontElement.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -26,80 +26,35 @@
</span><span class="cx"> #include &quot;SVGAnimatedBoolean.h&quot;
</span><span class="cx"> #include &quot;SVGElement.h&quot;
</span><span class="cx"> #include &quot;SVGExternalResourcesRequired.h&quot;
</span><del>-#include &quot;SVGGlyphMap.h&quot;
</del><span class="cx"> #include &quot;SVGParserUtilities.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-// Describe an SVG &lt;hkern&gt;/&lt;vkern&gt; element already matched on the first symbol.
-struct SVGKerning {
-    float kerning;
-    UnicodeRanges unicodeRange2;
-    HashSet&lt;String&gt; unicodeName2;
-    HashSet&lt;String&gt; glyphName2;
-
-    SVGKerning()
-        : kerning(0)
-    { }
-};
-
</del><span class="cx"> // Describe an SVG &lt;hkern&gt;/&lt;vkern&gt; element
</span><del>-struct SVGKerningPair : public SVGKerning {
</del><ins>+struct SVGKerningPair {
</ins><span class="cx">     UnicodeRanges unicodeRange1;
</span><span class="cx">     HashSet&lt;String&gt; unicodeName1;
</span><span class="cx">     HashSet&lt;String&gt; glyphName1;
</span><del>-};
</del><span class="cx"> 
</span><del>-typedef Vector&lt;SVGKerning&gt; SVGKerningVector;
-
-struct SVGKerningMap {
-    HashMap&lt;String, std::unique_ptr&lt;SVGKerningVector&gt;&gt; unicodeMap;
-    HashMap&lt;String, std::unique_ptr&lt;SVGKerningVector&gt;&gt; glyphMap;
-    Vector&lt;SVGKerningPair&gt; kerningUnicodeRangeMap;
-
-    bool isEmpty() const { return unicodeMap.isEmpty() &amp;&amp; glyphMap.isEmpty() &amp;&amp; kerningUnicodeRangeMap.isEmpty(); }
-    void clear();
-    void insert(const SVGKerningPair&amp;);
</del><ins>+    UnicodeRanges unicodeRange2;
+    HashSet&lt;String&gt; unicodeName2;
+    HashSet&lt;String&gt; glyphName2;
+    float kerning { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-class SVGMissingGlyphElement;
-
</del><span class="cx"> class SVGFontElement final : public SVGElement
</span><span class="cx">                            , public SVGExternalResourcesRequired {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;SVGFontElement&gt; create(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><del>-    void invalidateGlyphCache();
-    void collectGlyphsForString(const String&amp;, Vector&lt;SVGGlyph&gt;&amp;);
-    void collectGlyphsForGlyphName(const String&amp;, Vector&lt;SVGGlyph&gt;&amp;);
-
-    float horizontalKerningForPairOfStringsAndGlyphs(const String&amp; u1, const String&amp; g1, const String&amp; u2, const String&amp; g2) const;
-    float verticalKerningForPairOfStringsAndGlyphs(const String&amp; u1, const String&amp; g1, const String&amp; u2, const String&amp; g2) const;
-
-    // Used by Font/WidthIterator.
-    SVGGlyph svgGlyphForGlyph(Glyph);
-    Glyph missingGlyph();
-
-    const SVGMissingGlyphElement* firstMissingGlyphElement() const;
-    bool horizontalKerningMapIsEmpty() const { return m_horizontalKerningMap.isEmpty(); }
-
</del><span class="cx"> private:
</span><span class="cx">     SVGFontElement(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><span class="cx">     bool rendererIsNeeded(const RenderStyle&amp;) override { return false; }
</span><span class="cx"> 
</span><del>-    void ensureGlyphCache();
-    void registerLigaturesInGlyphCache(Vector&lt;String&gt;&amp;);
-
</del><span class="cx">     BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGFontElement)
</span><span class="cx">         DECLARE_ANIMATED_BOOLEAN_OVERRIDE(ExternalResourcesRequired, externalResourcesRequired)
</span><span class="cx">     END_DECLARE_ANIMATED_PROPERTIES
</span><del>-
-    SVGKerningMap m_horizontalKerningMap;
-    SVGKerningMap m_verticalKerningMap;
-    SVGGlyphMap m_glyphMap;
-    Glyph m_missingGlyph;
-    bool m_isGlyphCacheValid;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGlyphElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGlyphElement.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGlyphElement.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGGlyphElement.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -24,7 +24,6 @@
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx"> #include &quot;SVGGlyphElement.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;SVGFontData.h&quot;
</del><span class="cx"> #include &quot;SVGFontElement.h&quot;
</span><span class="cx"> #include &quot;SVGFontFaceElement.h&quot;
</span><span class="cx"> #include &quot;SVGNames.h&quot;
</span><span class="lines">@@ -43,125 +42,6 @@
</span><span class="cx">     return adoptRef(*new SVGGlyphElement(tagName, document));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SVGGlyphElement::invalidateGlyphCache()
-{
-    ContainerNode* fontNode = parentNode();
-    if (is&lt;SVGFontElement&gt;(fontNode))
-        downcast&lt;SVGFontElement&gt;(*fontNode).invalidateGlyphCache();
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SVGGlyphElement::parseAttribute(const QualifiedName&amp; name, const AtomicString&amp; value)
-{
-    if (name == SVGNames::dAttr)
-        invalidateGlyphCache();
-    else
-        SVGElement::parseAttribute(name, value);
-}
-
-Node::InsertionNotificationRequest SVGGlyphElement::insertedInto(ContainerNode&amp; rootParent)
-{
-    invalidateGlyphCache();
-    return SVGElement::insertedInto(rootParent);
-}
-
-void SVGGlyphElement::removedFrom(ContainerNode&amp; rootParent)
-{
-    if (rootParent.inDocument())
-        invalidateGlyphCache();
-    SVGElement::removedFrom(rootParent);
-}
-
-static inline SVGGlyph::ArabicForm parseArabicForm(const AtomicString&amp; value)
-{
-    if (value == &quot;medial&quot;)
-        return SVGGlyph::Medial;
-    if (value == &quot;terminal&quot;)
-        return SVGGlyph::Terminal;
-    if (value == &quot;isolated&quot;)
-        return SVGGlyph::Isolated;
-    if (value == &quot;initial&quot;)
-        return SVGGlyph::Initial;
-
-    return SVGGlyph::None;
-}
-
-static inline SVGGlyph::Orientation parseOrientation(const AtomicString&amp; value)
-{
-    if (value == &quot;h&quot;)
-        return SVGGlyph::Horizontal;
-    if (value == &quot;v&quot;)
-        return SVGGlyph::Vertical;
-
-    return SVGGlyph::Both;
-}
-
-void SVGGlyphElement::inheritUnspecifiedAttributes(SVGGlyph&amp; identifier, const SVGFontData* svgFontData)
-{
-    if (identifier.horizontalAdvanceX == SVGGlyph::inheritedValue())
-        identifier.horizontalAdvanceX = svgFontData-&gt;horizontalAdvanceX();
-
-    if (identifier.verticalOriginX == SVGGlyph::inheritedValue())
-        identifier.verticalOriginX = svgFontData-&gt;verticalOriginX();
-
-    if (identifier.verticalOriginY == SVGGlyph::inheritedValue())
-        identifier.verticalOriginY = svgFontData-&gt;verticalOriginY();
-
-    if (identifier.verticalAdvanceY == SVGGlyph::inheritedValue())
-        identifier.verticalAdvanceY = svgFontData-&gt;verticalAdvanceY();
-}
-
-static inline float parseSVGGlyphAttribute(const SVGElement* element, const WebCore::QualifiedName&amp; name)
-{
-    AtomicString value(element-&gt;fastGetAttribute(name));
-    if (value.isEmpty())
-        return SVGGlyph::inheritedValue();
-
-    return value.toFloat();
-}
-
-SVGGlyph SVGGlyphElement::buildGenericGlyphIdentifier(const SVGElement* element)
-{
-    SVGGlyph identifier;
-    buildPathFromString(element-&gt;fastGetAttribute(SVGNames::dAttr), identifier.pathData);

-    // Spec: The horizontal advance after rendering the glyph in horizontal orientation.
-    // If the attribute is not specified, the effect is as if the attribute were set to the
-    // value of the font's horiz-adv-x attribute. Glyph widths are required to be non-negative,
-    // even if the glyph is typically rendered right-to-left, as in Hebrew and Arabic scripts.
-    identifier.horizontalAdvanceX = parseSVGGlyphAttribute(element, SVGNames::horiz_adv_xAttr);
-
-    // Spec: The X-coordinate in the font coordinate system of the origin of the glyph to be
-    // used when drawing vertically oriented text. If the attribute is not specified, the effect
-    // is as if the attribute were set to the value of the font's vert-origin-x attribute.
-    identifier.verticalOriginX = parseSVGGlyphAttribute(element, SVGNames::vert_origin_xAttr);
-
-    // Spec: The Y-coordinate in the font coordinate system of the origin of a glyph to be
-    // used when drawing vertically oriented text. If the attribute is not specified, the effect
-    // is as if the attribute were set to the value of the font's vert-origin-y attribute.
-    identifier.verticalOriginY = parseSVGGlyphAttribute(element, SVGNames::vert_origin_yAttr);
-
-    // Spec: The vertical advance after rendering a glyph in vertical orientation.
-    // If the attribute is not specified, the effect is as if the attribute were set to the
-    // value of the font's vert-adv-y attribute.
-    identifier.verticalAdvanceY = parseSVGGlyphAttribute(element, SVGNames::vert_adv_yAttr);
-
-    return identifier;
-}
-
-SVGGlyph SVGGlyphElement::buildGlyphIdentifier() const
-{
-    SVGGlyph identifier(buildGenericGlyphIdentifier(this));
-    identifier.glyphName = fastGetAttribute(SVGNames::glyph_nameAttr);
-    identifier.orientation = parseOrientation(fastGetAttribute(SVGNames::orientationAttr));
-    identifier.arabicForm = parseArabicForm(fastGetAttribute(SVGNames::arabic_formAttr));
-
-    String language = fastGetAttribute(SVGNames::langAttr);
-    if (!language.isEmpty())
-        identifier.languages = parseDelimitedString(language, ',');
-
-    return identifier;
-}
-
-}
-
</del><span class="cx"> #endif // ENABLE(SVG_FONTS)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGlyphElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGlyphElement.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGlyphElement.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGGlyphElement.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -24,37 +24,20 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx"> #include &quot;SVGElement.h&quot;
</span><del>-#include &quot;SVGGlyph.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class SVGFontData;
-
</del><span class="cx"> class SVGGlyphElement final : public SVGElement {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;SVGGlyphElement&gt; create(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><del>-    SVGGlyph buildGlyphIdentifier() const;
-
</del><span class="cx">     // Helper function used by SVGFont
</span><del>-    static void inheritUnspecifiedAttributes(SVGGlyph&amp;, const SVGFontData*);
</del><span class="cx">     static String querySVGFontLanguage(const SVGElement*);
</span><span class="cx"> 
</span><del>-    // Helper function shared between SVGGlyphElement &amp; SVGMissingGlyphElement
-    static SVGGlyph buildGenericGlyphIdentifier(const SVGElement*);
-
</del><span class="cx"> private:
</span><span class="cx">     SVGGlyphElement(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><del>-    // FIXME: svgAttributeChanged missing.
-    void parseAttribute(const QualifiedName&amp;, const AtomicString&amp;) override;
-
-    InsertionNotificationRequest insertedInto(ContainerNode&amp;) override;
-    void removedFrom(ContainerNode&amp;) override;
-
</del><span class="cx">     bool rendererIsNeeded(const RenderStyle&amp;) override { return false; }
</span><del>-
-    void invalidateGlyphCache();
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGlyphMaph"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/svg/SVGGlyphMap.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGlyphMap.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGGlyphMap.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,167 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008 Apple Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef SVGGlyphMap_h
-#define SVGGlyphMap_h
-
-#if ENABLE(SVG_FONTS)
-
-#include &quot;SurrogatePairAwareTextIterator.h&quot;
-#include &quot;SVGGlyph.h&quot;
-#include &lt;wtf/HashMap.h&gt;
-#include &lt;wtf/Vector.h&gt;
-#include &lt;wtf/text/StringView.h&gt;
-
-namespace WebCore {
-
-struct GlyphMapNode;
-class SVGFontData;
-
-typedef HashMap&lt;UChar32, RefPtr&lt;GlyphMapNode&gt;&gt; GlyphMapLayer;
-
-struct GlyphMapNode : public RefCounted&lt;GlyphMapNode&gt; {
-private:
-    GlyphMapNode() { }
-public:
-    static Ref&lt;GlyphMapNode&gt; create() { return adoptRef(*new GlyphMapNode); }
-
-    Vector&lt;SVGGlyph&gt; glyphs;
-
-    GlyphMapLayer children;
-};
-
-class SVGGlyphMap {
-public:
-    SVGGlyphMap() : m_currentPriority(0) { }
-
-    void addGlyph(const String&amp; glyphName, const String&amp; unicodeString, SVGGlyph glyph)
-    {
-        ASSERT(!glyphName.isEmpty() || !unicodeString.isEmpty());
-
-        bool hasGlyphName = !glyphName.isEmpty();
-        if (unicodeString.isEmpty()) {
-            // Register named glyph in the named glyph map and in the glyph table.
-            ASSERT(hasGlyphName);
-            appendToGlyphTable(glyph);
-            m_namedGlyphs.add(glyphName, glyph.tableEntry);
-            return;
-        }
-    
-        GlyphMapLayer* currentLayer = &amp;m_rootLayer;
-        RefPtr&lt;GlyphMapNode&gt; node;
-        size_t length = unicodeString.length();
-
-        UChar32 character = 0;
-        unsigned clusterLength = 0;
-        auto upconvertedCharacters = StringView(unicodeString).upconvertedCharacters();
-        SurrogatePairAwareTextIterator textIterator(upconvertedCharacters, 0, length, length);
-        while (textIterator.consume(character, clusterLength)) {
-            node = currentLayer-&gt;get(character);
-            if (!node) {
-                node = GlyphMapNode::create();
-                currentLayer-&gt;set(character, node);
-            }
-            currentLayer = &amp;node-&gt;children;
-            textIterator.advance(clusterLength);
-        }
-
-        if (!node)
-            return;
-
-        // Register glyph associated with an unicode string into the glyph map.
-        node-&gt;glyphs.append(glyph);
-        SVGGlyph&amp; lastGlyph = node-&gt;glyphs.last();
-        lastGlyph.priority = m_currentPriority++;
-        lastGlyph.unicodeStringLength = length;
-    
-        // If the glyph is named, also add it to the named glyph name, and to the glyph table in both cases.
-        appendToGlyphTable(lastGlyph);
-        if (hasGlyphName)  
-            m_namedGlyphs.add(glyphName, lastGlyph.tableEntry);
-    }
-
-    void appendToGlyphTable(SVGGlyph&amp; glyph)
-    {
-        size_t tableEntry = m_glyphTable.size();
-        ASSERT(tableEntry &lt; std::numeric_limits&lt;unsigned short&gt;::max());
-
-        // The first table entry starts with 1. 0 denotes an unknown glyph.
-        glyph.tableEntry = tableEntry + 1;
-        m_glyphTable.append(glyph);
-    }
-
-    static inline bool compareGlyphPriority(const SVGGlyph&amp; first, const SVGGlyph&amp; second)
-    {
-        return first.priority &lt; second.priority;
-    }
-
-    void collectGlyphsForString(const String&amp; string, Vector&lt;SVGGlyph&gt;&amp; glyphs)
-    {
-        GlyphMapLayer* currentLayer = &amp;m_rootLayer;
-
-        auto upconvertedCharacters = StringView(string).upconvertedCharacters();
-        size_t length = string.length();
-
-        UChar32 character = 0;
-        unsigned clusterLength = 0;
-        SurrogatePairAwareTextIterator textIterator(upconvertedCharacters, 0, length, length);
-        while (textIterator.consume(character, clusterLength)) {
-            RefPtr&lt;GlyphMapNode&gt; node = currentLayer-&gt;get(character);
-            if (!node)
-                break;
-            glyphs.appendVector(node-&gt;glyphs);
-            currentLayer = &amp;node-&gt;children;
-            textIterator.advance(clusterLength);
-        }
-
-        std::sort(glyphs.begin(), glyphs.end(), compareGlyphPriority);
-    }
-    
-    void clear() 
-    { 
-        m_rootLayer.clear();
-        m_glyphTable.clear();
-        m_currentPriority = 0;
-    }
-
-    const SVGGlyph&amp; svgGlyphForGlyph(Glyph glyph) const
-    {
-        if (!glyph || glyph &gt; m_glyphTable.size()) {
-            static NeverDestroyed&lt;SVGGlyph&gt; defaultGlyph;
-            return defaultGlyph;
-        }
-        return m_glyphTable[glyph - 1];
-    }
-
-    const SVGGlyph&amp; glyphIdentifierForGlyphName(const String&amp; glyphName) const
-    {
-        return svgGlyphForGlyph(m_namedGlyphs.get(glyphName));
-    }
-
-private:
-    GlyphMapLayer m_rootLayer;
-    Vector&lt;SVGGlyph, 256&gt; m_glyphTable;
-    HashMap&lt;String, Glyph&gt; m_namedGlyphs;
-    int m_currentPriority;
-};
-
-}
-
-#endif // ENABLE(SVG_FONTS)
-#endif // SVGGlyphMap_h
</del></span></pre></div>
<a id="trunkSourceWebCoresvgSVGHKernElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGHKernElement.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGHKernElement.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGHKernElement.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -41,24 +41,6 @@
</span><span class="cx">     return adoptRef(*new SVGHKernElement(tagName, document));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Node::InsertionNotificationRequest SVGHKernElement::insertedInto(ContainerNode&amp; rootParent)
-{
-    ContainerNode* fontNode = parentNode();
-    if (is&lt;SVGFontElement&gt;(fontNode))
-        downcast&lt;SVGFontElement&gt;(*fontNode).invalidateGlyphCache();
-
-    return SVGElement::insertedInto(rootParent);
-}
-
-void SVGHKernElement::removedFrom(ContainerNode&amp; rootParent)
-{
-    ContainerNode* fontNode = parentNode();
-    if (is&lt;SVGFontElement&gt;(fontNode))
-        downcast&lt;SVGFontElement&gt;(*fontNode).invalidateGlyphCache();
-
-    SVGElement::removedFrom(rootParent);
-}
-
</del><span class="cx"> bool SVGHKernElement::buildHorizontalKerningPair(SVGKerningPair&amp; kerningPair) const
</span><span class="cx"> {
</span><span class="cx">     String u1 = fastGetAttribute(SVGNames::u1Attr);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGHKernElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGHKernElement.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGHKernElement.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGHKernElement.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -36,9 +36,6 @@
</span><span class="cx"> private:
</span><span class="cx">     SVGHKernElement(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><del>-    InsertionNotificationRequest insertedInto(ContainerNode&amp;) override;
-    void removedFrom(ContainerNode&amp;) override;
-
</del><span class="cx">     bool rendererIsNeeded(const RenderStyle&amp;) override { return false; }
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGToOTFFontConversioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGToOTFFontConversion.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGToOTFFontConversion.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGToOTFFontConversion.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -26,8 +26,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;SVGToOTFFontConversion.h&quot;
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_OTF_CONVERTER)
-
</del><span class="cx"> #include &quot;CSSStyleDeclaration.h&quot;
</span><span class="cx"> #include &quot;ElementChildIterator.h&quot;
</span><span class="cx"> #include &quot;SVGFontElement.h&quot;
</span><span class="lines">@@ -1594,5 +1592,3 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span><del>-
-#endif // ENABLE(SVG_OTF_CONVERTER)
</del></span></pre></div>
<a id="trunkSourceWebCoresvgSVGToOTFFontConversionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGToOTFFontConversion.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGToOTFFontConversion.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGToOTFFontConversion.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -26,8 +26,6 @@
</span><span class="cx"> #ifndef SVGToOTFFontConversion_h
</span><span class="cx"> #define SVGToOTFFontConversion_h
</span><span class="cx"> 
</span><del>-#if ENABLE(SVG_OTF_CONVERTER)
-
</del><span class="cx"> #include &lt;wtf/Optional.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -39,5 +37,4 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#endif // ENABLE(SVG_OTF_CONVERTER)
</del><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGVKernElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGVKernElement.cpp (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGVKernElement.cpp        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGVKernElement.cpp        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -40,26 +40,6 @@
</span><span class="cx">     return adoptRef(*new SVGVKernElement(tagName, document));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Node::InsertionNotificationRequest SVGVKernElement::insertedInto(ContainerNode&amp; rootParent)
-{
-    if (rootParent.inDocument()) {
-        ContainerNode* fontNode = parentNode();
-        if (is&lt;SVGFontElement&gt;(fontNode))
-            downcast&lt;SVGFontElement&gt;(*fontNode).invalidateGlyphCache();
-    }
-
-    return SVGElement::insertedInto(rootParent);
-}
-
-void SVGVKernElement::removedFrom(ContainerNode&amp; rootParent)
-{
-    ContainerNode* fontNode = parentNode();
-    if (is&lt;SVGFontElement&gt;(fontNode))
-        downcast&lt;SVGFontElement&gt;(*fontNode).invalidateGlyphCache();
-
-    SVGElement::removedFrom(rootParent);
-}
-
</del><span class="cx"> bool SVGVKernElement::buildVerticalKerningPair(SVGKerningPair&amp; kerningPair) const
</span><span class="cx"> {
</span><span class="cx">     String u1 = fastGetAttribute(SVGNames::u1Attr);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGVKernElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGVKernElement.h (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGVKernElement.h        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebCore/svg/SVGVKernElement.h        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -35,9 +35,6 @@
</span><span class="cx"> private:
</span><span class="cx">     SVGVKernElement(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><del>-    InsertionNotificationRequest insertedInto(ContainerNode&amp;) override;
-    void removedFrom(ContainerNode&amp;) override;
-
</del><span class="cx">     bool rendererIsNeeded(const RenderStyle&amp;) override { return false; }
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebKit/mac/ChangeLog        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-03-12  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Delete dead SVG Font code
+        https://bugs.webkit.org/show_bug.cgi?id=154718
+
+        Reviewed by Antti Koivisto.
+
+        * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2016-03-11  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [ES6] Implement Reflect.set without receiver support
</span></span></pre></div>
<a id="trunkSourceWebKitmacConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -151,7 +151,6 @@
</span><span class="cx"> ENABLE_STREAMS_API = ENABLE_STREAMS_API;
</span><span class="cx"> ENABLE_SUBTLE_CRYPTO = ENABLE_SUBTLE_CRYPTO;
</span><span class="cx"> ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
</span><del>-ENABLE_SVG_OTF_CONVERTER = ENABLE_SVG_OTF_CONVERTER;
</del><span class="cx"> 
</span><span class="cx"> ENABLE_TELEPHONE_NUMBER_DETECTION = ENABLE_TELEPHONE_NUMBER_DETECTION;
</span><span class="cx"> 
</span><span class="lines">@@ -197,4 +196,4 @@
</span><span class="cx"> ENABLE_SEPARATED_WX_HEAP[sdk=iphone*] = ENABLE_SEPARATED_WX_HEAP;
</span><span class="cx"> ENABLE_SEPARATED_WX_HEAP[sdk=macosx*] = ;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_GENERATORS) $(ENABLE_ES6_MODULES) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(E
 NABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE
 _EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK)
  $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SHADOW_DOM) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_SEPARATED_WX_HEAP);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_GENERATORS) $(ENABLE_ES6_MODULES) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(EN
 ABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_
 EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(EN
 ABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SHADOW_DOM) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_SEPARATED_WX_HEAP);
</ins></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebKit2/ChangeLog        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-03-12  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Delete dead SVG Font code
+        https://bugs.webkit.org/show_bug.cgi?id=154718
+
+        Reviewed by Antti Koivisto.
+
+        * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2016-03-12  Beth Dakin  &lt;bdakin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Make preview inline navigation work API
</span></span></pre></div>
<a id="trunkSourceWebKit2ConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -151,7 +151,6 @@
</span><span class="cx"> ENABLE_STREAMS_API = ENABLE_STREAMS_API;
</span><span class="cx"> ENABLE_SUBTLE_CRYPTO = ENABLE_SUBTLE_CRYPTO;
</span><span class="cx"> ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
</span><del>-ENABLE_SVG_OTF_CONVERTER = ENABLE_SVG_OTF_CONVERTER;
</del><span class="cx"> 
</span><span class="cx"> ENABLE_TELEPHONE_NUMBER_DETECTION = ENABLE_TELEPHONE_NUMBER_DETECTION;
</span><span class="cx"> 
</span><span class="lines">@@ -197,4 +196,4 @@
</span><span class="cx"> ENABLE_SEPARATED_WX_HEAP[sdk=iphone*] = ENABLE_SEPARATED_WX_HEAP;
</span><span class="cx"> ENABLE_SEPARATED_WX_HEAP[sdk=macosx*] = ;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_GENERATORS) $(ENABLE_ES6_MODULES) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(E
 NABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE
 _EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK)
  $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SHADOW_DOM) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_SEPARATED_WX_HEAP);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_ARROWFUNCTION_SYNTAX) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_ES6_GENERATORS) $(ENABLE_ES6_MODULES) $(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(EN
 ABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_
 EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(EN
 ABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_JIT) $(ENABLE_SHADOW_DOM) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_SEPARATED_WX_HEAP);
</ins></span></pre></div>
<a id="trunkSourcecmakeOptionsEflcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/OptionsEfl.cmake (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/OptionsEfl.cmake        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/cmake/OptionsEfl.cmake        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -127,7 +127,6 @@
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS PUBLIC ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK PUBLIC ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SUBTLE_CRYPTO PUBLIC OFF)
</span><del>-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SVG_OTF_CONVERTER PUBLIC ON)
</del><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEMPLATE_ELEMENT PUBLIC ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PUBLIC ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_SLIDER PUBLIC ON)
</span></span></pre></div>
<a id="trunkSourcecmakeOptionsWincmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/OptionsWin.cmake (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/OptionsWin.cmake        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/cmake/OptionsWin.cmake        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -62,7 +62,6 @@
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHADOW_DOM PUBLIC OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_STREAMS_API PUBLIC ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SVG_FONTS PUBLIC ON)
</span><del>-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SVG_OTF_CONVERTER PUBLIC ON)
</del><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEMPLATE_ELEMENT PUBLIC ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEXT_AUTOSIZING PUBLIC OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO PUBLIC ON)
</span></span></pre></div>
<a id="trunkSourcecmakeWebKitFeaturescmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/WebKitFeatures.cmake (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/WebKitFeatures.cmake        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/cmake/WebKitFeatures.cmake        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -181,7 +181,6 @@
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_STREAMS_API &quot;Toggle Streams API support&quot; PRIVATE ON)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_SUBTLE_CRYPTO &quot;Toggle subtle crypto support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_SVG_FONTS &quot;Toggle SVG fonts support (imples SVG support)&quot; PRIVATE ON)
</span><del>-    WEBKIT_OPTION_DEFINE(ENABLE_SVG_OTF_CONVERTER &quot;Toggle whether to use the SVG to OTF font converter&quot; PRIVATE ON)
</del><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_TELEPHONE_NUMBER_DETECTION &quot;Toggle telephone number detection support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_TEMPLATE_ELEMENT &quot;Toggle Template support&quot; PRIVATE ON)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_TEXT_AUTOSIZING &quot;Toggle Text auto sizing support&quot; PRIVATE OFF)
</span></span></pre></div>
<a id="trunkSourcecmaketoolsvspropsFeatureDefinesprops"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/tools/vsprops/FeatureDefines.props (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/tools/vsprops/FeatureDefines.props        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/cmake/tools/vsprops/FeatureDefines.props        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -77,7 +77,6 @@
</span><span class="cx">     &lt;ENABLE_SUBPIXEL_LAYOUT&gt;ENABLE_SUBPIXEL_LAYOUT&lt;/ENABLE_SUBPIXEL_LAYOUT&gt;
</span><span class="cx">     &lt;ENABLE_SVG_DOM_OBJC_BINDINGS /&gt;
</span><span class="cx">     &lt;ENABLE_SVG_FONTS&gt;ENABLE_SVG_FONTS&lt;/ENABLE_SVG_FONTS&gt;
</span><del>-    &lt;ENABLE_SVG_OTF_CONVERTER /&gt;
</del><span class="cx">     &lt;ENABLE_TEMPLATE_ELEMENT&gt;ENABLE_TEMPLATE_ELEMENT&lt;/ENABLE_TEMPLATE_ELEMENT&gt;
</span><span class="cx">     &lt;ENABLE_TEXT_AUTOSIZING /&gt;
</span><span class="cx">     &lt;ENABLE_VIDEO&gt;ENABLE_VIDEO&lt;/ENABLE_VIDEO&gt;
</span><span class="lines">@@ -97,7 +96,7 @@
</span><span class="cx">   &lt;/PropertyGroup&gt;
</span><span class="cx">   &lt;ItemDefinitionGroup&gt;
</span><span class="cx">     &lt;ClCompile&gt;
</span><del>-      &lt;PreprocessorDefinitions&gt;$(ENABLE_CSP_NEXT);$(ENABLE_PROMISES);$(ENABLE_REQUEST_ANIMATION_FRAME);$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CANVAS_PATH);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_GRID_LAYOUT);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPES);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_DOM4_EVENTS_CONSTRUCTOR);$(ENABLE_ENCRYPTED_MEDIA_V2);$(ENABLE_ES6_GENERATORS);$(ENABLE_ES6_MODU
 LES);$(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_NOTIFICATIONS);$(ENABLE_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHADOW_DOM);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STREAMS_API);$(ENABLE_S
 TYLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_SVG_OTF_CONVERTER);$(ENABLE_TEMPLATE_ELEMENT);$(ENABLE_TEXT_AUTOSIZING);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_VIEW_MODE_CSS_MEDIA);$(ENABLE_WEB_ANIMATIONS);$(ENABLE_WEB_AUDIO);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WEBGL);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)&lt;/PreprocessorDefinitions&gt;
</del><ins>+      &lt;PreprocessorDefinitions&gt;$(ENABLE_CSP_NEXT);$(ENABLE_PROMISES);$(ENABLE_REQUEST_ANIMATION_FRAME);$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CANVAS_PATH);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_GRID_LAYOUT);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPES);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_DOM4_EVENTS_CONSTRUCTOR);$(ENABLE_ENCRYPTED_MEDIA_V2);$(ENABLE_ES6_GENERATORS);$(ENABLE_ES6_MODUL
 ES);$(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_NOTIFICATIONS);$(ENABLE_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHADOW_DOM);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STREAMS_API);$(ENABLE_ST
 YLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_TEMPLATE_ELEMENT);$(ENABLE_TEXT_AUTOSIZING);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_VIEW_MODE_CSS_MEDIA);$(ENABLE_WEB_ANIMATIONS);$(ENABLE_WEB_AUDIO);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WEBGL);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)&lt;/PreprocessorDefinitions&gt;
</ins><span class="cx">     &lt;/ClCompile&gt;
</span><span class="cx">   &lt;/ItemDefinitionGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><span class="lines">@@ -405,10 +404,6 @@
</span><span class="cx">       &lt;Value&gt;$(ENABLE_SVG_FONTS)&lt;/Value&gt;
</span><span class="cx">       &lt;EnvironmentVariable&gt;true&lt;/EnvironmentVariable&gt;
</span><span class="cx">     &lt;/BuildMacro&gt;
</span><del>-    &lt;BuildMacro Include=&quot;ENABLE_SVG_OTF_CONVERTER&quot;&gt;
-      &lt;Value&gt;$(ENABLE_SVG_OTF_CONVERTER)&lt;/Value&gt;
-      &lt;EnvironmentVariable&gt;true&lt;/EnvironmentVariable&gt;
-    &lt;/BuildMacro&gt;
</del><span class="cx">     &lt;BuildMacro Include=&quot;ENABLE_TEMPLATE_ELEMENT&quot;&gt;
</span><span class="cx">       &lt;Value&gt;$(ENABLE_TEMPLATE_ELEMENT)&lt;/Value&gt;
</span><span class="cx">       &lt;EnvironmentVariable&gt;true&lt;/EnvironmentVariable&gt;
</span></span></pre></div>
<a id="trunkSourcecmaketoolsvspropsFeatureDefinesCairoprops"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/tools/vsprops/FeatureDefinesCairo.props (198073 => 198074)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/tools/vsprops/FeatureDefinesCairo.props        2016-03-13 00:22:55 UTC (rev 198073)
+++ trunk/Source/cmake/tools/vsprops/FeatureDefinesCairo.props        2016-03-13 00:36:59 UTC (rev 198074)
</span><span class="lines">@@ -76,7 +76,6 @@
</span><span class="cx">     &lt;ENABLE_SUBPIXEL_LAYOUT&gt;ENABLE_SUBPIXEL_LAYOUT&lt;/ENABLE_SUBPIXEL_LAYOUT&gt;
</span><span class="cx">     &lt;ENABLE_SVG_DOM_OBJC_BINDINGS /&gt;
</span><span class="cx">     &lt;ENABLE_SVG_FONTS&gt;ENABLE_SVG_FONTS&lt;/ENABLE_SVG_FONTS&gt;
</span><del>-    &lt;ENABLE_SVG_OTF_CONVERTER /&gt;
</del><span class="cx">     &lt;ENABLE_TEMPLATE_ELEMENT&gt;ENABLE_TEMPLATE_ELEMENT&lt;/ENABLE_TEMPLATE_ELEMENT&gt;
</span><span class="cx">     &lt;ENABLE_TEXT_AUTOSIZING /&gt;
</span><span class="cx">     &lt;ENABLE_VIDEO&gt;ENABLE_VIDEO&lt;/ENABLE_VIDEO&gt;
</span><span class="lines">@@ -96,7 +95,7 @@
</span><span class="cx">   &lt;/PropertyGroup&gt;
</span><span class="cx">   &lt;ItemDefinitionGroup&gt;
</span><span class="cx">     &lt;ClCompile&gt;
</span><del>-      &lt;PreprocessorDefinitions&gt;$(ENABLE_CSP_NEXT);$(ENABLE_PROMISES);$(ENABLE_REQUEST_ANIMATION_FRAME);$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CANVAS_PATH);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_GRID_LAYOUT);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPES);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_DOM4_EVENTS_CONSTRUCTOR);$(ENABLE_ENCRYPTED_MEDIA_V2);$(ENABLE_ES6_GENERATORS);$(ENABLE_ES6_MODU
 LES);$(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_NOTIFICATIONS);$(ENABLE_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHADOW_DOM);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_
 SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_SVG_OTF_CONVERTER);$(ENABLE_TEMPLATE_ELEMENT);$(ENABLE_TEXT_AUTOSIZING);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_VIEW_MODE_CSS_MEDIA);$(ENABLE_WEB_ANIMATIONS);$(ENABLE_WEB_AUDIO);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WEBGL);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)&lt;/PreprocessorDefinitions&gt;
</del><ins>+      &lt;PreprocessorDefinitions&gt;$(ENABLE_CSP_NEXT);$(ENABLE_PROMISES);$(ENABLE_REQUEST_ANIMATION_FRAME);$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CANVAS_PATH);$(ENABLE_CANVAS_PROXY);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_GRID_LAYOUT);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPES);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_DOM4_EVENTS_CONSTRUCTOR);$(ENABLE_ENCRYPTED_MEDIA_V2);$(ENABLE_ES6_GENERATORS);$(ENABLE_ES6_MODUL
 ES);$(ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_NOTIFICATIONS);$(ENABLE_LINK_PREFETCH);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_PROXIMITY_EVENTS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHADOW_DOM);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_S
 UBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_TEMPLATE_ELEMENT);$(ENABLE_TEXT_AUTOSIZING);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_VIEW_MODE_CSS_MEDIA);$(ENABLE_WEB_ANIMATIONS);$(ENABLE_WEB_AUDIO);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WEBGL);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)&lt;/PreprocessorDefinitions&gt;
</ins><span class="cx">     &lt;/ClCompile&gt;
</span><span class="cx">   &lt;/ItemDefinitionGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><span class="lines">@@ -400,10 +399,6 @@
</span><span class="cx">       &lt;Value&gt;$(ENABLE_SVG_FONTS)&lt;/Value&gt;
</span><span class="cx">       &lt;EnvironmentVariable&gt;true&lt;/EnvironmentVariable&gt;
</span><span class="cx">     &lt;/BuildMacro&gt;
</span><del>-    &lt;BuildMacro Include=&quot;ENABLE_SVG_OTF_CONVERTER&quot;&gt;
-      &lt;Value&gt;$(ENABLE_SVG_OTF_CONVERTER)&lt;/Value&gt;
-      &lt;EnvironmentVariable&gt;true&lt;/EnvironmentVariable&gt;
-    &lt;/BuildMacro&gt;
</del><span class="cx">     &lt;BuildMacro Include=&quot;ENABLE_TEMPLATE_ELEMENT&quot;&gt;
</span><span class="cx">       &lt;Value&gt;$(ENABLE_TEMPLATE_ELEMENT)&lt;/Value&gt;
</span><span class="cx">       &lt;EnvironmentVariable&gt;true&lt;/EnvironmentVariable&gt;
</span></span></pre>
</div>
</div>

</body>
</html>