<!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>[162251] trunk/Source/WebCore</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/162251">162251</a></dd>
<dt>Author</dt> <dd>andersca@apple.com</dd>
<dt>Date</dt> <dd>2014-01-18 08:48:59 -0800 (Sat, 18 Jan 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Remove files only used by the threaded HTML parser
https://bugs.webkit.org/show_bug.cgi?id=127219
<rdar://problem/13331277>
Reviewed by Andreas Kling.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/AtomicHTMLToken.h:
* html/parser/BackgroundHTMLInputStream.cpp: Removed.
* html/parser/BackgroundHTMLInputStream.h: Removed.
* html/parser/BackgroundHTMLParser.cpp: Removed.
* html/parser/BackgroundHTMLParser.h: Removed.
* html/parser/CompactHTMLToken.cpp: Removed.
* html/parser/CompactHTMLToken.h: Removed.
* html/parser/HTMLDocumentParser.cpp:
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLIdentifier.cpp: Removed.
* html/parser/HTMLIdentifier.h: Removed.
* html/parser/HTMLParserIdioms.h:
* html/parser/HTMLPreloadScanner.h:
* html/parser/HTMLTreeBuilderSimulator.cpp: Removed.
* html/parser/HTMLTreeBuilderSimulator.h: Removed.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreGNUmakefilelistam">trunk/Source/WebCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorehtmlparserAtomicHTMLTokenh">trunk/Source/WebCore/html/parser/AtomicHTMLToken.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLDocumentParsercpp">trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLDocumentParserh">trunk/Source/WebCore/html/parser/HTMLDocumentParser.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLParserIdiomsh">trunk/Source/WebCore/html/parser/HTMLParserIdioms.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLPreloadScannerh">trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorehtmlparserBackgroundHTMLInputStreamcpp">trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserBackgroundHTMLInputStreamh">trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserBackgroundHTMLParsercpp">trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserBackgroundHTMLParserh">trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserCompactHTMLTokencpp">trunk/Source/WebCore/html/parser/CompactHTMLToken.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserCompactHTMLTokenh">trunk/Source/WebCore/html/parser/CompactHTMLToken.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLIdentifiercpp">trunk/Source/WebCore/html/parser/HTMLIdentifier.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLIdentifierh">trunk/Source/WebCore/html/parser/HTMLIdentifier.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLTreeBuilderSimulatorcpp">trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLTreeBuilderSimulatorh">trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1537,17 +1537,13 @@
</span><span class="cx">
</span><span class="cx"> html/forms/FileIconLoader.cpp
</span><span class="cx">
</span><del>- html/parser/BackgroundHTMLInputStream.cpp
- html/parser/BackgroundHTMLParser.cpp
</del><span class="cx"> html/parser/CSSPreloadScanner.cpp
</span><del>- html/parser/CompactHTMLToken.cpp
</del><span class="cx"> html/parser/HTMLConstructionSite.cpp
</span><span class="cx"> html/parser/HTMLDocumentParser.cpp
</span><span class="cx"> html/parser/HTMLElementStack.cpp
</span><span class="cx"> html/parser/HTMLEntityParser.cpp
</span><span class="cx"> html/parser/HTMLEntitySearch.cpp
</span><span class="cx"> html/parser/HTMLFormattingElementList.cpp
</span><del>- html/parser/HTMLIdentifier.cpp
</del><span class="cx"> html/parser/HTMLMetaCharsetParser.cpp
</span><span class="cx"> html/parser/HTMLParserIdioms.cpp
</span><span class="cx"> html/parser/HTMLParserOptions.cpp
</span><span class="lines">@@ -1559,7 +1555,6 @@
</span><span class="cx"> html/parser/HTMLSourceTracker.cpp
</span><span class="cx"> html/parser/HTMLTokenizer.cpp
</span><span class="cx"> html/parser/HTMLTreeBuilder.cpp
</span><del>- html/parser/HTMLTreeBuilderSimulator.cpp
</del><span class="cx"> html/parser/HTMLViewSourceParser.cpp
</span><span class="cx"> html/parser/TextDocumentParser.cpp
</span><span class="cx"> html/parser/TextViewSourceParser.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/ChangeLog        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,3 +1,32 @@
</span><ins>+2014-01-18 Anders Carlsson <andersca@apple.com>
+
+ Remove files only used by the threaded HTML parser
+ https://bugs.webkit.org/show_bug.cgi?id=127219
+ <rdar://problem/13331277>
+
+ Reviewed by Andreas Kling.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/parser/AtomicHTMLToken.h:
+ * html/parser/BackgroundHTMLInputStream.cpp: Removed.
+ * html/parser/BackgroundHTMLInputStream.h: Removed.
+ * html/parser/BackgroundHTMLParser.cpp: Removed.
+ * html/parser/BackgroundHTMLParser.h: Removed.
+ * html/parser/CompactHTMLToken.cpp: Removed.
+ * html/parser/CompactHTMLToken.h: Removed.
+ * html/parser/HTMLDocumentParser.cpp:
+ * html/parser/HTMLDocumentParser.h:
+ * html/parser/HTMLIdentifier.cpp: Removed.
+ * html/parser/HTMLIdentifier.h: Removed.
+ * html/parser/HTMLParserIdioms.h:
+ * html/parser/HTMLPreloadScanner.h:
+ * html/parser/HTMLTreeBuilderSimulator.cpp: Removed.
+ * html/parser/HTMLTreeBuilderSimulator.h: Removed.
+
</ins><span class="cx"> 2014-01-17 Andreas Kling <akling@apple.com>
</span><span class="cx">
</span><span class="cx"> Micro-optimize RenderBoxModelObject::computedCSSPadding().
</span></span></pre></div>
<a id="trunkSourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.list.am (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/GNUmakefile.list.am        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/GNUmakefile.list.am        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -3577,14 +3577,8 @@
</span><span class="cx">         Source/WebCore/html/NumberInputType.cpp \
</span><span class="cx">         Source/WebCore/html/NumberInputType.h \
</span><span class="cx">         Source/WebCore/html/parser/AtomicHTMLToken.h \
</span><del>-        Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp \
-        Source/WebCore/html/parser/BackgroundHTMLInputStream.h \
-        Source/WebCore/html/parser/BackgroundHTMLParser.cpp \
-        Source/WebCore/html/parser/BackgroundHTMLParser.h \
</del><span class="cx">         Source/WebCore/html/parser/CSSPreloadScanner.cpp \
</span><span class="cx">         Source/WebCore/html/parser/CSSPreloadScanner.h \
</span><del>-        Source/WebCore/html/parser/CompactHTMLToken.cpp \
-        Source/WebCore/html/parser/CompactHTMLToken.h \
</del><span class="cx">         Source/WebCore/html/parser/HTMLConstructionSite.cpp \
</span><span class="cx">         Source/WebCore/html/parser/HTMLConstructionSite.h \
</span><span class="cx">         Source/WebCore/html/parser/HTMLDocumentParser.cpp \
</span><span class="lines">@@ -3598,8 +3592,6 @@
</span><span class="cx">         Source/WebCore/html/parser/HTMLEntityTable.h \
</span><span class="cx">         Source/WebCore/html/parser/HTMLFormattingElementList.cpp \
</span><span class="cx">         Source/WebCore/html/parser/HTMLFormattingElementList.h \
</span><del>-        Source/WebCore/html/parser/HTMLIdentifier.cpp \
-        Source/WebCore/html/parser/HTMLIdentifier.h \
</del><span class="cx">         Source/WebCore/html/parser/HTMLInputStream.h \
</span><span class="cx">         Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp \
</span><span class="cx">         Source/WebCore/html/parser/HTMLMetaCharsetParser.h \
</span><span class="lines">@@ -3626,8 +3618,6 @@
</span><span class="cx">         Source/WebCore/html/parser/HTMLTokenizer.h \
</span><span class="cx">         Source/WebCore/html/parser/HTMLTreeBuilder.cpp \
</span><span class="cx">         Source/WebCore/html/parser/HTMLTreeBuilder.h \
</span><del>-        Source/WebCore/html/parser/HTMLTreeBuilderSimulator.cpp \
-        Source/WebCore/html/parser/HTMLTreeBuilderSimulator.h \
</del><span class="cx">         Source/WebCore/html/parser/HTMLViewSourceParser.cpp \
</span><span class="cx">         Source/WebCore/html/parser/HTMLViewSourceParser.h \
</span><span class="cx">         Source/WebCore/html/parser/InputStreamPreprocessor.h \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -6578,7 +6578,6 @@
</span><span class="cx"> <ClCompile Include="..\html\canvas\WebGLTexture.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\canvas\WebGLUniformLocation.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\canvas\WebGLVertexArrayObjectOES.cpp" />
</span><del>- <ClCompile Include="..\html\parser\HTMLIdentifier.cpp" />
</del><span class="cx"> <ClCompile Include="..\html\track\AudioTrack.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\track\AudioTrackList.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\track\TextTrackCueGeneric.cpp" />
</span><span class="lines">@@ -15699,9 +15698,6 @@
</span><span class="cx"> <ClCompile Include="..\html\ValidationMessage.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\WeekInputType.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\forms\FileIconLoader.cpp" />
</span><del>- <ClCompile Include="..\html\parser\BackgroundHTMLInputStream.cpp" />
- <ClCompile Include="..\html\parser\BackgroundHTMLParser.cpp" />
- <ClCompile Include="..\html\parser\CompactHTMLToken.cpp" />
</del><span class="cx"> <ClCompile Include="..\html\parser\CSSPreloadScanner.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\parser\HTMLConstructionSite.cpp" />
</span><span class="cx"> <ClCompile Include="..\html\parser\HTMLDocumentParser.cpp" />
</span><span class="lines">@@ -20573,8 +20569,6 @@
</span><span class="cx"> <ClInclude Include="..\html\WeekInputType.h" />
</span><span class="cx"> <ClInclude Include="..\html\forms\FileIconLoader.h" />
</span><span class="cx"> <ClInclude Include="..\html\parser\AtomicHTMLToken.h" />
</span><del>- <ClInclude Include="..\html\parser\BackgroundHTMLParser.h" />
- <ClInclude Include="..\html\parser\CompactHTMLToken.h" />
</del><span class="cx"> <ClInclude Include="..\html\parser\CSSPreloadScanner.h" />
</span><span class="cx"> <ClInclude Include="..\html\parser\HTMLConstructionSite.h" />
</span><span class="cx"> <ClInclude Include="..\html\parser\HTMLDocumentParser.h" />
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -4119,12 +4119,6 @@
</span><span class="cx"> <ClCompile Include="..\html\forms\FileIconLoader.cpp">
</span><span class="cx"> <Filter>html\forms</Filter>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\html\parser\BackgroundHTMLInputStream.cpp">
- <Filter>html\parser</Filter>
- </ClCompile>
- <ClCompile Include="..\html\parser\BackgroundHTMLParser.cpp">
- <Filter>html\parser</Filter>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\html\parser\CompactHTMLToken.cpp">
</span><span class="cx"> <Filter>html\parser</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -5197,9 +5191,6 @@
</span><span class="cx"> <ClCompile Include="..\rendering\HitTestLocation.cpp">
</span><span class="cx"> <Filter>rendering</Filter>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\html\parser\HTMLIdentifier.cpp">
- <Filter>html\parser</Filter>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\Modules\quota\NavigatorStorageQuota.cpp">
</span><span class="cx"> <Filter>Modules\quota</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -11246,9 +11237,6 @@
</span><span class="cx"> <ClInclude Include="..\html\parser\AtomicHTMLToken.h">
</span><span class="cx"> <Filter>html\parser</Filter>
</span><span class="cx"> </ClInclude>
</span><del>- <ClInclude Include="..\html\parser\BackgroundHTMLParser.h">
- <Filter>html\parser</Filter>
- </ClInclude>
</del><span class="cx"> <ClInclude Include="..\html\parser\CompactHTMLToken.h">
</span><span class="cx"> <Filter>html\parser</Filter>
</span><span class="cx"> </ClInclude>
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -3415,9 +3415,6 @@
</span><span class="cx">                 978D07CA145A10160096908D /* SVGException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 978D07C9145A10160096908D /* SVGException.cpp */; };
</span><span class="cx">                 978D07CC145A102E0096908D /* XPathException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 978D07CB145A102E0096908D /* XPathException.cpp */; };
</span><span class="cx">                 978D07CE145A10370096908D /* XMLHttpRequestException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 978D07CD145A10370096908D /* XMLHttpRequestException.cpp */; };
</span><del>-                979DC03716A7992E00807794 /* CompactHTMLToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 979DC03416A7992100807794 /* CompactHTMLToken.h */; };
-                979DC03816A7993300807794 /* BackgroundHTMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 979DC03216A7992100807794 /* BackgroundHTMLParser.h */; };
-                979DC03916A7993900807794 /* BackgroundHTMLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 979DC03116A7992100807794 /* BackgroundHTMLParser.cpp */; };
</del><span class="cx">                 979F43D31075E44A0000F83B /* NavigationScheduler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 979F43D11075E44A0000F83B /* NavigationScheduler.cpp */; };
</span><span class="cx">                 979F43D41075E44A0000F83B /* NavigationScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 979F43D21075E44A0000F83B /* NavigationScheduler.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 97AA3CA5145237CC003E1DA6 /* EventTargetHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 97AA3CA3145237CC003E1DA6 /* EventTargetHeaders.h */; };
</span><span class="lines">@@ -3507,8 +3504,6 @@
</span><span class="cx">                 97C740151603F7A10011FF2D /* FeatureObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 97C740131603F7A10011FF2D /* FeatureObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 97D2AD0314B823A60093DF32 /* DOMWindowProperty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97D2AD0114B823A60093DF32 /* DOMWindowProperty.cpp */; };
</span><span class="cx">                 97D2AD0414B823A60093DF32 /* DOMWindowProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 97D2AD0214B823A60093DF32 /* DOMWindowProperty.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                97DC69EC16B9F529008CFD6F /* BackgroundHTMLInputStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97DC69E916B9F50E008CFD6F /* BackgroundHTMLInputStream.cpp */; };
-                97DC69ED16B9F52C008CFD6F /* BackgroundHTMLInputStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 97DC69EA16B9F50E008CFD6F /* BackgroundHTMLInputStream.h */; };
</del><span class="cx">                 97DCE20110807C750057D394 /* HistoryController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97DCE1FF10807C750057D394 /* HistoryController.cpp */; };
</span><span class="cx">                 97DCE20210807C750057D394 /* HistoryController.h in Headers */ = {isa = PBXBuildFile; fileRef = 97DCE20010807C750057D394 /* HistoryController.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 97E4028F13A696ED00913D67 /* IconController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97E4028D13A696ED00913D67 /* IconController.cpp */; };
</span><span class="lines">@@ -3536,8 +3531,6 @@
</span><span class="cx">                 9B417065125662B3006B28FC /* ApplyBlockElementCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B417063125662B3006B28FC /* ApplyBlockElementCommand.cpp */; };
</span><span class="cx">                 9B50B1DE17CD4C0F0087F63C /* FormNamedItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B50B1DC17CD4C0F0087F63C /* FormNamedItem.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 9B6C41531344949000085B62 /* StringWithDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B6C41521344949000085B62 /* StringWithDirection.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                9B7E78BD16F16CC600126914 /* HTMLTreeBuilderSimulator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B7E78BA16F16CAE00126914 /* HTMLTreeBuilderSimulator.cpp */; };
-                9B7E78BE16F16CC800126914 /* HTMLTreeBuilderSimulator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B7E78BB16F16CAE00126914 /* HTMLTreeBuilderSimulator.h */; };
</del><span class="cx">                 9BA273F4172206BB0097CE47 /* LogicalSelectionOffsetCaches.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BA273F3172206BB0097CE47 /* LogicalSelectionOffsetCaches.h */; };
</span><span class="cx">                 9BAB6C6C12550631001626D4 /* EditingStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BAB6C6A12550631001626D4 /* EditingStyle.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 9BAB6C6D12550631001626D4 /* EditingStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9BAB6C6B12550631001626D4 /* EditingStyle.cpp */; };
</span><span class="lines">@@ -3997,7 +3990,6 @@
</span><span class="cx">                 A88AD52F09524B92001DD196 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A85D7A2F0879EBA9006A9172 /* QuartzCore.framework */; };
</span><span class="cx">                 A88DD4870B4629A300C02990 /* PathTraversalState.h in Headers */ = {isa = PBXBuildFile; fileRef = A88DD4860B4629A300C02990 /* PathTraversalState.h */; };
</span><span class="cx">                 A88DD4890B4629B000C02990 /* PathTraversalState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A88DD4880B4629B000C02990 /* PathTraversalState.cpp */; };
</span><del>-                A89570A016E9BD5900184E55 /* HTMLIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = A895709E16E9BD5900184E55 /* HTMLIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 A89943280B42338800D7C802 /* BitmapImage.h in Headers */ = {isa = PBXBuildFile; fileRef = A89943260B42338700D7C802 /* BitmapImage.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A89943290B42338800D7C802 /* BitmapImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A89943270B42338700D7C802 /* BitmapImage.cpp */; };
</span><span class="cx">                 A89CCC520F44E98100B5DA10 /* ReplaceNodeWithSpanCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A89CCC500F44E98100B5DA10 /* ReplaceNodeWithSpanCommand.cpp */; };
</span><span class="lines">@@ -10414,9 +10406,6 @@
</span><span class="cx">                 978D07C9145A10160096908D /* SVGException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGException.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 978D07CB145A102E0096908D /* XPathException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XPathException.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 978D07CD145A10370096908D /* XMLHttpRequestException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XMLHttpRequestException.cpp; sourceTree = "<group>"; };
</span><del>-                979DC03116A7992100807794 /* BackgroundHTMLParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BackgroundHTMLParser.cpp; path = parser/BackgroundHTMLParser.cpp; sourceTree = "<group>"; };
-                979DC03216A7992100807794 /* BackgroundHTMLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BackgroundHTMLParser.h; path = parser/BackgroundHTMLParser.h; sourceTree = "<group>"; };
-                979DC03416A7992100807794 /* CompactHTMLToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CompactHTMLToken.h; path = parser/CompactHTMLToken.h; sourceTree = "<group>"; };
</del><span class="cx">                 979F43D11075E44A0000F83B /* NavigationScheduler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NavigationScheduler.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 979F43D21075E44A0000F83B /* NavigationScheduler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigationScheduler.h; sourceTree = "<group>"; };
</span><span class="cx">                 97AA3CA3145237CC003E1DA6 /* EventTargetHeaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventTargetHeaders.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -10524,8 +10513,6 @@
</span><span class="cx">                 97C740131603F7A10011FF2D /* FeatureObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FeatureObserver.h; sourceTree = "<group>"; };
</span><span class="cx">                 97D2AD0114B823A60093DF32 /* DOMWindowProperty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMWindowProperty.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 97D2AD0214B823A60093DF32 /* DOMWindowProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWindowProperty.h; sourceTree = "<group>"; };
</span><del>-                97DC69E916B9F50E008CFD6F /* BackgroundHTMLInputStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BackgroundHTMLInputStream.cpp; path = parser/BackgroundHTMLInputStream.cpp; sourceTree = "<group>"; };
-                97DC69EA16B9F50E008CFD6F /* BackgroundHTMLInputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BackgroundHTMLInputStream.h; path = parser/BackgroundHTMLInputStream.h; sourceTree = "<group>"; };
</del><span class="cx">                 97DCE1FF10807C750057D394 /* HistoryController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HistoryController.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 97DCE20010807C750057D394 /* HistoryController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryController.h; sourceTree = "<group>"; };
</span><span class="cx">                 97E4028D13A696ED00913D67 /* IconController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IconController.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -10557,8 +10544,6 @@
</span><span class="cx">                 9B417063125662B3006B28FC /* ApplyBlockElementCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplyBlockElementCommand.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 9B50B1DC17CD4C0F0087F63C /* FormNamedItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormNamedItem.h; sourceTree = "<group>"; };
</span><span class="cx">                 9B6C41521344949000085B62 /* StringWithDirection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringWithDirection.h; sourceTree = "<group>"; };
</span><del>-                9B7E78BA16F16CAE00126914 /* HTMLTreeBuilderSimulator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HTMLTreeBuilderSimulator.cpp; path = parser/HTMLTreeBuilderSimulator.cpp; sourceTree = "<group>"; };
-                9B7E78BB16F16CAE00126914 /* HTMLTreeBuilderSimulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLTreeBuilderSimulator.h; path = parser/HTMLTreeBuilderSimulator.h; sourceTree = "<group>"; };
</del><span class="cx">                 9BA273F3172206BB0097CE47 /* LogicalSelectionOffsetCaches.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogicalSelectionOffsetCaches.h; sourceTree = "<group>"; };
</span><span class="cx">                 9BAB6C6A12550631001626D4 /* EditingStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditingStyle.h; sourceTree = "<group>"; };
</span><span class="cx">                 9BAB6C6B12550631001626D4 /* EditingStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EditingStyle.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -11063,7 +11048,6 @@
</span><span class="cx">                 A883DF260F3D045D00F19BF6 /* VisibleSelection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisibleSelection.h; sourceTree = "<group>"; };
</span><span class="cx">                 A88DD4860B4629A300C02990 /* PathTraversalState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathTraversalState.h; sourceTree = "<group>"; };
</span><span class="cx">                 A88DD4880B4629B000C02990 /* PathTraversalState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathTraversalState.cpp; sourceTree = "<group>"; };
</span><del>-                A895709E16E9BD5900184E55 /* HTMLIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLIdentifier.h; path = parser/HTMLIdentifier.h; sourceTree = "<group>"; };
</del><span class="cx">                 A89943260B42338700D7C802 /* BitmapImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitmapImage.h; sourceTree = "<group>"; };
</span><span class="cx">                 A89943270B42338700D7C802 /* BitmapImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BitmapImage.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 A89CCC500F44E98100B5DA10 /* ReplaceNodeWithSpanCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReplaceNodeWithSpanCommand.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -17923,11 +17907,6 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 97C1F552122855CB00EDE617 /* AtomicHTMLToken.h */,
</span><del>-                                97DC69E916B9F50E008CFD6F /* BackgroundHTMLInputStream.cpp */,
-                                97DC69EA16B9F50E008CFD6F /* BackgroundHTMLInputStream.h */,
-                                979DC03116A7992100807794 /* BackgroundHTMLParser.cpp */,
-                                979DC03216A7992100807794 /* BackgroundHTMLParser.h */,
-                                979DC03416A7992100807794 /* CompactHTMLToken.h */,
</del><span class="cx">                                 977B3849122883E900B81FF8 /* CSSPreloadScanner.cpp */,
</span><span class="cx">                                 977B384A122883E900B81FF8 /* CSSPreloadScanner.h */,
</span><span class="cx">                                 977B384B122883E900B81FF8 /* HTMLConstructionSite.cpp */,
</span><span class="lines">@@ -17944,7 +17923,6 @@
</span><span class="cx">                                 977B3854122883E900B81FF8 /* HTMLEntityTable.h */,
</span><span class="cx">                                 977B3855122883E900B81FF8 /* HTMLFormattingElementList.cpp */,
</span><span class="cx">                                 977B3856122883E900B81FF8 /* HTMLFormattingElementList.h */,
</span><del>-                                A895709E16E9BD5900184E55 /* HTMLIdentifier.h */,
</del><span class="cx">                                 97BC849A12370A4B000C6161 /* HTMLInputStream.h */,
</span><span class="cx">                                 2BE8E2C812A58A0100FAD550 /* HTMLMetaCharsetParser.cpp */,
</span><span class="cx">                                 2BE8E2C612A589EC00FAD550 /* HTMLMetaCharsetParser.h */,
</span><span class="lines">@@ -17970,8 +17948,6 @@
</span><span class="cx">                                 977B385F122883E900B81FF8 /* HTMLTokenizer.h */,
</span><span class="cx">                                 977B37211228721700B81FF8 /* HTMLTreeBuilder.cpp */,
</span><span class="cx">                                 977B37221228721700B81FF8 /* HTMLTreeBuilder.h */,
</span><del>-                                9B7E78BA16F16CAE00126914 /* HTMLTreeBuilderSimulator.cpp */,
-                                9B7E78BB16F16CAE00126914 /* HTMLTreeBuilderSimulator.h */,
</del><span class="cx">                                 977B3860122883E900B81FF8 /* HTMLViewSourceParser.cpp */,
</span><span class="cx">                                 977B3861122883E900B81FF8 /* HTMLViewSourceParser.h */,
</span><span class="cx">                                 A8805AF116C96AEA000E9D98 /* InputStreamPreprocessor.h */,
</span><span class="lines">@@ -22945,9 +22921,7 @@
</span><span class="cx">                                 BCA8C81E11E3D36900812FB7 /* BackForwardController.h in Headers */,
</span><span class="cx">                                 51741D0F0B07259A00ED442C /* BackForwardClient.h in Headers */,
</span><span class="cx">                                 BCA8CA6011E4E6D100812FB7 /* BackForwardList.h in Headers */,
</span><del>-                                97DC69ED16B9F52C008CFD6F /* BackgroundHTMLInputStream.h in Headers */,
</del><span class="cx">                                 078E092F17D14D1C00420AA1 /* UserMediaController.h in Headers */,
</span><del>-                                979DC03816A7993300807794 /* BackgroundHTMLParser.h in Headers */,
</del><span class="cx">                                 BC124EE80C2641CD009E2349 /* BarProp.h in Headers */,
</span><span class="cx">                                 379E61CA126CA5C400B63E8D /* BaseButtonInputType.h in Headers */,
</span><span class="cx">                                 379E61CC126CA5C400B63E8D /* BaseCheckableInputType.h in Headers */,
</span><span class="lines">@@ -23069,7 +23043,6 @@
</span><span class="cx">                                 9382DF5810A8D5C900925652 /* ColorSpace.h in Headers */,
</span><span class="cx">                                 BCDD454E1236C95C009A7985 /* ColumnInfo.h in Headers */,
</span><span class="cx">                                 6550B6A2099DF0270090D781 /* Comment.h in Headers */,
</span><del>-                                979DC03716A7992E00807794 /* CompactHTMLToken.h in Headers */,
</del><span class="cx">                                 37C236111097EE7700EF9F72 /* ComplexTextController.h in Headers */,
</span><span class="cx">                                 316FE1160E6E1DA700BF6088 /* CompositeAnimation.h in Headers */,
</span><span class="cx">                                 93309DDD099E64920056E581 /* CompositeEditCommand.h in Headers */,
</span><span class="lines">@@ -23999,7 +23972,6 @@
</span><span class="cx">                                 CD8B5A49180E138B008B8E65 /* TextTrackMediaSource.h in Headers */,
</span><span class="cx">                                 A8EA7CAF0A192B9C00A8EF5F /* HTMLHRElement.h in Headers */,
</span><span class="cx">                                 A871DE270A152AC800B12A68 /* HTMLHtmlElement.h in Headers */,
</span><del>-                                A89570A016E9BD5900184E55 /* HTMLIdentifier.h in Headers */,
</del><span class="cx">                                 07969DB417D14151007FF842 /* JSRTCPeerConnectionErrorCallback.h in Headers */,
</span><span class="cx">                                 A871DE2A0A152AC800B12A68 /* HTMLIFrameElement.h in Headers */,
</span><span class="cx">                                 A8EA7D2D0A19385500A8EF5F /* HTMLImageElement.h in Headers */,
</span><span class="lines">@@ -24075,7 +24047,6 @@
</span><span class="cx">                                 977B3878122883E900B81FF8 /* HTMLTokenizer.h in Headers */,
</span><span class="cx">                                 0707568C142262D600414161 /* HTMLTrackElement.h in Headers */,
</span><span class="cx">                                 977B37261228721700B81FF8 /* HTMLTreeBuilder.h in Headers */,
</span><del>-                                9B7E78BE16F16CC800126914 /* HTMLTreeBuilderSimulator.h in Headers */,
</del><span class="cx">                                 A8EA79F20A1916DF00A8EF5F /* HTMLUListElement.h in Headers */,
</span><span class="cx">                                 E44613AB0CD6331000FADA75 /* HTMLVideoElement.h in Headers */,
</span><span class="cx">                                 07277E4D17D018CC0015534D /* JSMediaStream.h in Headers */,
</span><span class="lines">@@ -26606,8 +26577,6 @@
</span><span class="cx">                                 29A8124B0FBB9CA900510293 /* AXObjectCacheMac.mm in Sources */,
</span><span class="cx">                                 BCA8C81F11E3D36900812FB7 /* BackForwardController.cpp in Sources */,
</span><span class="cx">                                 BCA8CA5F11E4E6D100812FB7 /* BackForwardList.cpp in Sources */,
</span><del>-                                97DC69EC16B9F529008CFD6F /* BackgroundHTMLInputStream.cpp in Sources */,
-                                979DC03916A7993900807794 /* BackgroundHTMLParser.cpp in Sources */,
</del><span class="cx">                                 BC124EE70C2641CD009E2349 /* BarProp.cpp in Sources */,
</span><span class="cx">                                 379E61C9126CA5C300B63E8D /* BaseButtonInputType.cpp in Sources */,
</span><span class="cx">                                 379E61CB126CA5C400B63E8D /* BaseCheckableInputType.cpp in Sources */,
</span><span class="lines">@@ -27445,7 +27414,6 @@
</span><span class="cx">                                 0707568B142262D600414161 /* HTMLTrackElement.cpp in Sources */,
</span><span class="cx">                                 CDF2B0121820540600F2B424 /* MockMediaPlayerMediaSource.cpp in Sources */,
</span><span class="cx">                                 977B37251228721700B81FF8 /* HTMLTreeBuilder.cpp in Sources */,
</span><del>-                                9B7E78BD16F16CC600126914 /* HTMLTreeBuilderSimulator.cpp in Sources */,
</del><span class="cx">                                 A8EA79F30A1916DF00A8EF5F /* HTMLUListElement.cpp in Sources */,
</span><span class="cx">                                 E44613AA0CD6331000FADA75 /* HTMLVideoElement.cpp in Sources */,
</span><span class="cx">                                 E125F8381822F1EB00D84CD9 /* CryptoAlgorithmHMACMac.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserAtomicHTMLTokenh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/AtomicHTMLToken.h (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/AtomicHTMLToken.h        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/AtomicHTMLToken.h        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #define AtomicHTMLToken_h
</span><span class="cx">
</span><span class="cx"> #include "Attribute.h"
</span><del>-#include "CompactHTMLToken.h"
</del><span class="cx"> #include "HTMLToken.h"
</span><span class="cx"> #include <wtf/RefCounted.h>
</span><span class="cx"> #include <wtf/RefPtr.h>
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserBackgroundHTMLInputStreamcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.cpp        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,109 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include "BackgroundHTMLInputStream.h"
-
-namespace WebCore {
-
-BackgroundHTMLInputStream::BackgroundHTMLInputStream()
- : m_firstValidCheckpointIndex(0)
- , m_firstValidSegmentIndex(0)
-{
-}
-
-void BackgroundHTMLInputStream::append(const String& input)
-{
- m_current.append(SegmentedString(input));
- m_segments.append(input);
-}
-
-void BackgroundHTMLInputStream::close()
-{
- m_current.close();
-}
-
-HTMLInputCheckpoint BackgroundHTMLInputStream::createCheckpoint()
-{
- HTMLInputCheckpoint checkpoint = m_checkpoints.size();
- m_checkpoints.append(Checkpoint(m_current, m_segments.size()));
- return checkpoint;
-}
-
-void BackgroundHTMLInputStream::invalidateCheckpointsBefore(HTMLInputCheckpoint newFirstValidCheckpointIndex)
-{
- ASSERT(newFirstValidCheckpointIndex < m_checkpoints.size());
- // There is nothing to do for the first valid checkpoint.
- if (m_firstValidCheckpointIndex == newFirstValidCheckpointIndex)
- return;
-
- ASSERT(newFirstValidCheckpointIndex > m_firstValidCheckpointIndex);
- const Checkpoint& lastInvalidCheckpoint = m_checkpoints[newFirstValidCheckpointIndex - 1];
-
- ASSERT(m_firstValidSegmentIndex <= lastInvalidCheckpoint.numberOfSegmentsAlreadyAppended);
- for (size_t i = m_firstValidSegmentIndex; i < lastInvalidCheckpoint.numberOfSegmentsAlreadyAppended; ++i)
- m_segments[i] = String();
- m_firstValidSegmentIndex = lastInvalidCheckpoint.numberOfSegmentsAlreadyAppended;
-
- for (size_t i = m_firstValidCheckpointIndex; i < newFirstValidCheckpointIndex; ++i)
- m_checkpoints[i].clear();
- m_firstValidCheckpointIndex = newFirstValidCheckpointIndex;
-}
-
-void BackgroundHTMLInputStream::rewindTo(HTMLInputCheckpoint checkpointIndex, const String& unparsedInput)
-{
- ASSERT(checkpointIndex < m_checkpoints.size()); // If this ASSERT fires, checkpointIndex is invalid.
- const Checkpoint& checkpoint = m_checkpoints[checkpointIndex];
- ASSERT(!checkpoint.isNull());
-
- bool isClosed = m_current.isClosed();
-
- m_current = checkpoint.input;
-
- for (size_t i = checkpoint.numberOfSegmentsAlreadyAppended; i < m_segments.size(); ++i) {
- ASSERT(!m_segments[i].isNull());
- m_current.append(SegmentedString(m_segments[i]));
- }
-
- if (!unparsedInput.isEmpty())
- m_current.prepend(SegmentedString(unparsedInput));
-
- if (isClosed && !m_current.isClosed())
- m_current.close();
-
- ASSERT(m_current.isClosed() == isClosed);
-
- m_segments.clear();
- m_checkpoints.clear();
- m_firstValidCheckpointIndex = 0;
- m_firstValidSegmentIndex = 0;
-}
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlparserBackgroundHTMLInputStreamh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.h (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.h        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/BackgroundHTMLInputStream.h        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,83 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef BackgroundHTMLInputStream_h
-#define BackgroundHTMLInputStream_h
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include "SegmentedString.h"
-#include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-typedef size_t HTMLInputCheckpoint;
-
-class BackgroundHTMLInputStream {
- WTF_MAKE_NONCOPYABLE(BackgroundHTMLInputStream);
-public:
- BackgroundHTMLInputStream();
-
- void append(const String&);
- void close();
-
- SegmentedString& current() { return m_current; }
-
- // An HTMLInputCheckpoint is valid until the next call to rewindTo, at which
- // point all outstanding checkpoints are invalidated.
- HTMLInputCheckpoint createCheckpoint();
- void rewindTo(HTMLInputCheckpoint, const String& unparsedInput);
- void invalidateCheckpointsBefore(HTMLInputCheckpoint);
-
- size_t outstandingCheckpointCount() const { return m_checkpoints.size() - m_firstValidCheckpointIndex; }
-
-private:
- struct Checkpoint {
- Checkpoint(const SegmentedString& i, size_t n) : input(i), numberOfSegmentsAlreadyAppended(n) { }
-
- SegmentedString input;
- size_t numberOfSegmentsAlreadyAppended;
-
-#ifndef NDEBUG
- bool isNull() const { return input.isEmpty() && !numberOfSegmentsAlreadyAppended; }
-#endif
- void clear() { input.clear(); numberOfSegmentsAlreadyAppended = 0; }
- };
-
- SegmentedString m_current;
- Vector<String> m_segments;
- Vector<Checkpoint> m_checkpoints;
-
- // Note: These indicies may === vector.size(), in which case there are no valid checkpoints/segments at this time.
- size_t m_firstValidCheckpointIndex;
- size_t m_firstValidSegmentIndex;
-};
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlparserBackgroundHTMLParsercpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.cpp        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,205 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include "BackgroundHTMLParser.h"
-
-#include "HTMLDocumentParser.h"
-#include "HTMLParserThread.h"
-#include <wtf/MainThread.h>
-
-namespace WebCore {
-
-// On a network with high latency and high bandwidth, using a device
-// with a fast CPU, we could end up speculatively tokenizing
-// the whole document, well ahead of when the main-thread actually needs it.
-// This is a waste of memory (and potentially time if the speculation fails).
-// So we limit our outstanding speculations arbitrarily to 10.
-// Our maximal memory spent speculating will be approximately:
-// outstandingCheckpointLimit * pendingTokenLimit * sizeof(CompactToken)
-// We use a separate low and high water mark to avoid constantly topping
-// off the main thread's token buffer.
-// At time of writing, this is 10 * 1000 * 28 bytes = appox 280kb of memory.
-// These numbers have not been tuned.
-static const size_t outstandingCheckpointLimit = 10;
-
-// We limit our chucks to 1000 tokens, to make sure the main
-// thread is never waiting on the parser thread for tokens.
-// This was tuned in https://bugs.webkit.org/show_bug.cgi?id=110408.
-static const size_t pendingTokenLimit = 1000;
-
-using namespace HTMLNames;
-
-#ifndef NDEBUG
-
-static void checkThatTokensAreSafeToSendToAnotherThread(const CompactHTMLTokenStream* tokens)
-{
- for (size_t i = 0; i < tokens->size(); ++i)
- ASSERT(tokens->at(i).isSafeToSendToAnotherThread());
-}
-
-static void checkThatPreloadsAreSafeToSendToAnotherThread(const PreloadRequestStream& preloads)
-{
- for (size_t i = 0; i < preloads.size(); ++i)
- ASSERT(preloads[i]->isSafeToSendToAnotherThread());
-}
-
-#endif
-
-BackgroundHTMLParser::BackgroundHTMLParser(PassRefPtr<WeakReference<BackgroundHTMLParser>> reference, OwnPtr<Configuration> config)
- : m_weakFactory(reference, this)
- , m_token(adoptPtr(new HTMLToken))
- , m_tokenizer(HTMLTokenizer::create(config->options))
- , m_treeBuilderSimulator(config->options)
- , m_options(config->options)
- , m_parser(config->parser)
- , m_pendingTokens(adoptPtr(new CompactHTMLTokenStream))
- , m_xssAuditor(config->xssAuditor.release())
- , m_preloadScanner(config->preloadScanner.release())
-{
-}
-
-void BackgroundHTMLParser::append(const String& input)
-{
- ASSERT(!m_input.current().isClosed());
- m_input.append(input);
- pumpTokenizer();
-}
-
-void BackgroundHTMLParser::resumeFrom(OwnPtr<Checkpoint> checkpoint)
-{
- m_parser = checkpoint->parser;
- m_token = checkpoint->token.release();
- m_tokenizer = checkpoint->tokenizer.release();
- m_treeBuilderSimulator.setState(checkpoint->treeBuilderState);
- m_input.rewindTo(checkpoint->inputCheckpoint, checkpoint->unparsedInput);
- m_preloadScanner->rewindTo(checkpoint->preloadScannerCheckpoint);
- pumpTokenizer();
-}
-
-void BackgroundHTMLParser::startedChunkWithCheckpoint(HTMLInputCheckpoint inputCheckpoint)
-{
- // Note, we should not have to worry about the index being invalid
- // as messages from the main thread will be processed in FIFO order.
- m_input.invalidateCheckpointsBefore(inputCheckpoint);
- pumpTokenizer();
-}
-
-void BackgroundHTMLParser::finish()
-{
- markEndOfFile();
- pumpTokenizer();
-}
-
-void BackgroundHTMLParser::stop()
-{
- delete this;
-}
-
-void BackgroundHTMLParser::forcePlaintextForTextDocument()
-{
- // This is only used by the TextDocumentParser (a subclass of HTMLDocumentParser)
- // to force us into the PLAINTEXT state w/o using a <plaintext> tag.
- // The TextDocumentParser uses a <pre> tag for historical/compatibility reasons.
- m_tokenizer->setState(HTMLTokenizer::PLAINTEXTState);
-}
-
-void BackgroundHTMLParser::markEndOfFile()
-{
- ASSERT(!m_input.current().isClosed());
- m_input.append(String(&kEndOfFileMarker, 1));
- m_input.close();
-}
-
-void BackgroundHTMLParser::pumpTokenizer()
-{
- // No need to start speculating until the main thread has almost caught up.
- if (m_input.outstandingCheckpointCount() > outstandingCheckpointLimit)
- return;
-
- while (true) {
- m_sourceTracker.start(m_input.current(), m_tokenizer.get(), *m_token);
- if (!m_tokenizer->nextToken(m_input.current(), *m_token.get())) {
- // We've reached the end of our current input.
- sendTokensToMainThread();
- break;
- }
- m_sourceTracker.end(m_input.current(), m_tokenizer.get(), *m_token);
-
- {
- TextPosition position = TextPosition(m_input.current().currentLine(), m_input.current().currentColumn());
-
- if (OwnPtr<XSSInfo> xssInfo = m_xssAuditor->filterToken(FilterTokenRequest(*m_token, m_sourceTracker, m_tokenizer->shouldAllowCDATA()))) {
- xssInfo->m_textPosition = position;
- m_pendingXSSInfos.append(xssInfo.release());
- }
-
- CompactHTMLToken token(m_token.get(), TextPosition(m_input.current().currentLine(), m_input.current().currentColumn()));
-
- m_preloadScanner->scan(token, m_pendingPreloads);
-
- m_pendingTokens->append(token);
- }
-
- m_token->clear();
-
- if (!m_treeBuilderSimulator.simulate(m_pendingTokens->last(), m_tokenizer.get()) || m_pendingTokens->size() >= pendingTokenLimit) {
- sendTokensToMainThread();
- // If we're far ahead of the main thread, yield for a bit to avoid consuming too much memory.
- if (m_input.outstandingCheckpointCount() > outstandingCheckpointLimit)
- break;
- }
- }
-}
-
-void BackgroundHTMLParser::sendTokensToMainThread()
-{
- if (m_pendingTokens->isEmpty())
- return;
-
-#ifndef NDEBUG
- checkThatTokensAreSafeToSendToAnotherThread(m_pendingTokens.get());
- checkThatPreloadsAreSafeToSendToAnotherThread(m_pendingPreloads);
-#endif
-
- OwnPtr<HTMLDocumentParser::ParsedChunk> chunk = adoptPtr(new HTMLDocumentParser::ParsedChunk);
- chunk->tokens = m_pendingTokens.release();
- chunk->preloads.swap(m_pendingPreloads);
- chunk->xssInfos.swap(m_pendingXSSInfos);
- chunk->tokenizerState = m_tokenizer->state();
- chunk->treeBuilderState = m_treeBuilderSimulator.state();
- chunk->inputCheckpoint = m_input.createCheckpoint();
- chunk->preloadScannerCheckpoint = m_preloadScanner->createCheckpoint();
- callOnMainThread(bind(&HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser, m_parser, chunk.release()));
-
- m_pendingTokens = adoptPtr(new CompactHTMLTokenStream);
-}
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlparserBackgroundHTMLParserh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/BackgroundHTMLParser.h        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,110 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef BackgroundHTMLParser_h
-#define BackgroundHTMLParser_h
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include "BackgroundHTMLInputStream.h"
-#include "CompactHTMLToken.h"
-#include "HTMLParserOptions.h"
-#include "HTMLPreloadScanner.h"
-#include "HTMLSourceTracker.h"
-#include "HTMLToken.h"
-#include "HTMLTokenizer.h"
-#include "HTMLTreeBuilderSimulator.h"
-#include "XSSAuditorDelegate.h"
-#include <wtf/PassOwnPtr.h>
-#include <wtf/WeakPtr.h>
-
-namespace WebCore {
-
-class HTMLDocumentParser;
-class XSSAuditor;
-
-class BackgroundHTMLParser {
- WTF_MAKE_FAST_ALLOCATED;
-public:
- struct Configuration {
- HTMLParserOptions options;
- WeakPtr<HTMLDocumentParser> parser;
- OwnPtr<XSSAuditor> xssAuditor;
- OwnPtr<TokenPreloadScanner> preloadScanner;
- };
-
- static void create(PassRefPtr<WeakReference<BackgroundHTMLParser>> reference, OwnPtr<Configuration> config)
- {
- new BackgroundHTMLParser(reference, config);
- // Caller must free by calling stop().
- }
-
- struct Checkpoint {
- WeakPtr<HTMLDocumentParser> parser;
- OwnPtr<HTMLToken> token;
- OwnPtr<HTMLTokenizer> tokenizer;
- HTMLTreeBuilderSimulator::State treeBuilderState;
- HTMLInputCheckpoint inputCheckpoint;
- TokenPreloadScannerCheckpoint preloadScannerCheckpoint;
- String unparsedInput;
- };
-
- void append(const String&);
- void resumeFrom(OwnPtr<Checkpoint>);
- void startedChunkWithCheckpoint(HTMLInputCheckpoint);
- void finish();
- void stop();
-
- void forcePlaintextForTextDocument();
-
-private:
- BackgroundHTMLParser(PassRefPtr<WeakReference<BackgroundHTMLParser>>, OwnPtr<Configuration>);
-
- void markEndOfFile();
- void pumpTokenizer();
- void sendTokensToMainThread();
-
- WeakPtrFactory<BackgroundHTMLParser> m_weakFactory;
- BackgroundHTMLInputStream m_input;
- HTMLSourceTracker m_sourceTracker;
- OwnPtr<HTMLToken> m_token;
- OwnPtr<HTMLTokenizer> m_tokenizer;
- HTMLTreeBuilderSimulator m_treeBuilderSimulator;
- HTMLParserOptions m_options;
- WeakPtr<HTMLDocumentParser> m_parser;
-
- OwnPtr<CompactHTMLTokenStream> m_pendingTokens;
- PreloadRequestStream m_pendingPreloads;
- XSSInfoStream m_pendingXSSInfos;
-
- OwnPtr<XSSAuditor> m_xssAuditor;
- OwnPtr<TokenPreloadScanner> m_preloadScanner;
-};
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlparserCompactHTMLTokencpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/CompactHTMLToken.cpp (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/CompactHTMLToken.cpp        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/CompactHTMLToken.cpp        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,108 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include "CompactHTMLToken.h"
-
-#include "HTMLParserIdioms.h"
-#include "XSSAuditorDelegate.h"
-
-namespace WebCore {
-
-struct SameSizeAsCompactHTMLToken {
- unsigned bitfields;
- HTMLIdentifier data;
- Vector<Attribute> vector;
- TextPosition textPosition;
-};
-
-COMPILE_ASSERT(sizeof(CompactHTMLToken) == sizeof(SameSizeAsCompactHTMLToken), CompactHTMLToken_should_stay_small);
-
-CompactHTMLToken::CompactHTMLToken(const HTMLToken* token, const TextPosition& textPosition)
- : m_type(token->type())
- , m_isAll8BitData(false)
- , m_doctypeForcesQuirks(false)
- , m_textPosition(textPosition)
-{
- switch (m_type) {
- case HTMLToken::Uninitialized:
- ASSERT_NOT_REACHED();
- break;
- case HTMLToken::DOCTYPE: {
- m_data = HTMLIdentifier(token->name(), Likely8Bit);
- // There is only 1 DOCTYPE token per document, so to avoid increasing the
- // size of CompactHTMLToken, we just use the m_attributes vector.
- m_attributes.append(Attribute(HTMLIdentifier(token->publicIdentifier(), Likely8Bit), String(token->systemIdentifier())));
- m_doctypeForcesQuirks = token->forceQuirks();
- break;
- }
- case HTMLToken::EndOfFile:
- break;
- case HTMLToken::StartTag:
- m_attributes.reserveInitialCapacity(token->attributes().size());
- for (Vector<HTMLToken::Attribute>::const_iterator it = token->attributes().begin(); it != token->attributes().end(); ++it)
- m_attributes.append(Attribute(HTMLIdentifier(it->name, Likely8Bit), StringImpl::create8BitIfPossible(it->value)));
- // Fall through!
- case HTMLToken::EndTag:
- m_selfClosing = token->selfClosing();
- // Fall through!
- case HTMLToken::Comment:
- case HTMLToken::Character: {
- m_isAll8BitData = token->isAll8BitData();
- m_data = HTMLIdentifier(token->data(), token->isAll8BitData() ? Force8Bit : Force16Bit);
- break;
- }
- default:
- ASSERT_NOT_REACHED();
- break;
- }
-}
-
-const CompactHTMLToken::Attribute* CompactHTMLToken::getAttributeItem(const QualifiedName& name) const
-{
- for (unsigned i = 0; i < m_attributes.size(); ++i) {
- if (threadSafeMatch(m_attributes.at(i).name, name))
- return &m_attributes.at(i);
- }
- return 0;
-}
-
-bool CompactHTMLToken::isSafeToSendToAnotherThread() const
-{
- for (Vector<Attribute>::const_iterator it = m_attributes.begin(); it != m_attributes.end(); ++it) {
- if (!it->name.isSafeToSendToAnotherThread())
- return false;
- if (!it->value.isSafeToSendToAnotherThread())
- return false;
- }
- return m_data.isSafeToSendToAnotherThread();
-}
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlparserCompactHTMLTokenh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/CompactHTMLToken.h (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/CompactHTMLToken.h        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/CompactHTMLToken.h        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,93 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef CompactHTMLToken_h
-#define CompactHTMLToken_h
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include "HTMLIdentifier.h"
-#include "HTMLToken.h"
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/text/TextPosition.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class QualifiedName;
-
-class CompactHTMLToken {
-public:
- struct Attribute {
- Attribute(const HTMLIdentifier& name, const String& value)
- : name(name)
- , value(value)
- {
- }
-
- HTMLIdentifier name;
- String value;
- };
-
- CompactHTMLToken(const HTMLToken*, const TextPosition&);
-
- bool isSafeToSendToAnotherThread() const;
-
- HTMLToken::Type type() const { return static_cast<HTMLToken::Type>(m_type); }
- const HTMLIdentifier& data() const { return m_data; }
- bool selfClosing() const { return m_selfClosing; }
- bool isAll8BitData() const { return m_isAll8BitData; }
- const Vector<Attribute>& attributes() const { return m_attributes; }
- const Attribute* getAttributeItem(const QualifiedName&) const;
- const TextPosition& textPosition() const { return m_textPosition; }
-
- // There is only 1 DOCTYPE token per document, so to avoid increasing the
- // size of CompactHTMLToken, we just use the m_attributes vector.
- const HTMLIdentifier& publicIdentifier() const { return m_attributes[0].name; }
- const String& systemIdentifier() const { return m_attributes[0].value; }
- bool doctypeForcesQuirks() const { return m_doctypeForcesQuirks; }
-
-private:
- unsigned m_type : 4;
- unsigned m_selfClosing : 1;
- unsigned m_isAll8BitData : 1;
- unsigned m_doctypeForcesQuirks: 1;
-
- HTMLIdentifier m_data; // "name", "characters", or "data" depending on m_type
- Vector<Attribute> m_attributes;
- TextPosition m_textPosition;
-};
-
-typedef Vector<CompactHTMLToken> CompactHTMLTokenStream;
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLDocumentParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #include "config.h"
</span><span class="cx"> #include "HTMLDocumentParser.h"
</span><span class="cx">
</span><del>-#include "BackgroundHTMLParser.h"
</del><span class="cx"> #include "ContentSecurityPolicy.h"
</span><span class="cx"> #include "DocumentFragment.h"
</span><span class="cx"> #include "DocumentLoader.h"
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLDocumentParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.h (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLDocumentParser.h        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.h        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -26,9 +26,7 @@
</span><span class="cx"> #ifndef HTMLDocumentParser_h
</span><span class="cx"> #define HTMLDocumentParser_h
</span><span class="cx">
</span><del>-#include "BackgroundHTMLInputStream.h"
</del><span class="cx"> #include "CachedResourceClient.h"
</span><del>-#include "CompactHTMLToken.h"
</del><span class="cx"> #include "FragmentScriptingPermission.h"
</span><span class="cx"> #include "HTMLInputStream.h"
</span><span class="cx"> #include "HTMLParserOptions.h"
</span><span class="lines">@@ -37,7 +35,6 @@
</span><span class="cx"> #include "HTMLSourceTracker.h"
</span><span class="cx"> #include "HTMLToken.h"
</span><span class="cx"> #include "HTMLTokenizer.h"
</span><del>-#include "HTMLTreeBuilderSimulator.h"
</del><span class="cx"> #include "ScriptableDocumentParser.h"
</span><span class="cx"> #include "SegmentedString.h"
</span><span class="cx"> #include "XSSAuditor.h"
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLIdentifiercpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/HTMLIdentifier.cpp (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLIdentifier.cpp        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/HTMLIdentifier.cpp        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,157 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include "HTMLIdentifier.h"
-
-#include "HTMLNames.h"
-#include <wtf/HashMap.h>
-#include <wtf/MainThread.h>
-#include <wtf/text/StringHash.h>
-
-namespace WebCore {
-
-using namespace HTMLNames;
-
-typedef std::pair<unsigned, StringImpl*> IdentifierEntry;
-typedef HashMap<unsigned, IdentifierEntry, AlreadyHashed> IdentifierTable;
-
-unsigned HTMLIdentifier::maxNameLength = 0;
-
-static IdentifierTable& identifierTable()
-{
- DEFINE_STATIC_LOCAL(IdentifierTable, table, ());
- ASSERT(isMainThread() || !table.isEmpty());
- return table;
-}
-
-#ifndef NDEBUG
-bool HTMLIdentifier::hasIndex(const StringImpl* string)
-{
- const IdentifierTable& table = identifierTable();
- return table.contains(string->hash());
-}
-#endif
-
-unsigned HTMLIdentifier::findIndex(const UChar* characters, unsigned length)
-{
- // We don't need to try hashing if we know the string is too long.
- if (length > maxNameLength)
- return invalidIndex;
- // computeHashAndMaskTop8Bits is the function StringImpl::hash() uses.
- unsigned hash = StringHasher::computeHashAndMaskTop8Bits(characters, length);
- const IdentifierTable& table = identifierTable();
- ASSERT(!table.isEmpty());
-
- IdentifierTable::const_iterator it = table.find(hash);
- if (it == table.end())
- return invalidIndex;
- // It's possible to have hash collisions between arbitrary strings and
- // known identifiers (e.g. "bvvfg" collides with "script").
- // However ASSERTs in addNames() guard against there ever being collisions
- // between known identifiers.
- if (!equal(it->value.second, characters, length))
- return invalidIndex;
- return it->value.first;
-}
-
-const unsigned kHTMLNamesIndexOffset = 0;
-const unsigned kHTMLAttrsIndexOffset = 1000;
-COMPILE_ASSERT(kHTMLAttrsIndexOffset > HTMLTagsCount, kHTMLAttrsIndexOffset_should_be_larger_than_HTMLTagsCount);
-
-static const String& nameForIndex(unsigned index)
-{
- unsigned adjustedIndex;
- const QualifiedName* const * names;
- if (index < kHTMLAttrsIndexOffset) {
- ASSERT(index < kHTMLNamesIndexOffset + HTMLTagsCount);
- adjustedIndex = index - kHTMLNamesIndexOffset;
- names = getHTMLTags();
- } else {
- ASSERT(index < kHTMLAttrsIndexOffset + HTMLAttrsCount);
- adjustedIndex = index - kHTMLAttrsIndexOffset;
- names = getHTMLAttrs();
- }
- // HTMLAttrs and HTMLNames may have collisions, but
- // we shouldn't care which we ended up storing, since their
- // components are all AtomicStrings and should use the same
- // underlying StringImpl*.
- return names[adjustedIndex]->localName().string();
-}
-
-const String& HTMLIdentifier::asString() const
-{
- ASSERT(isMainThread());
- if (m_index != invalidIndex)
- return nameForIndex(m_index);
- return m_string;
-}
-
-const StringImpl* HTMLIdentifier::asStringImpl() const
-{
- if (m_index != invalidIndex)
- return nameForIndex(m_index).impl();
- return m_string.impl();
-}
-
-void HTMLIdentifier::addNames(const QualifiedName* const * names, unsigned namesCount, unsigned indexOffset)
-{
- IdentifierTable& table = identifierTable();
- for (unsigned i = 0; i < namesCount; ++i) {
- StringImpl* name = names[i]->localName().impl();
- unsigned hash = name->hash();
- unsigned index = i + indexOffset;
- IdentifierEntry entry(index, name);
- IdentifierTable::AddResult addResult = table.add(hash, entry);
- maxNameLength = std::max(maxNameLength, name->length());
- // Ensure we're using the same hashing algorithm to get and set.
- ASSERT_UNUSED(addResult, !addResult.isNewEntry || HTMLIdentifier::findIndex(name->characters(), name->length()) == index);
- // We expect some hash collisions, but only for identical strings.
- // Since all of these names are AtomicStrings pointers should be equal.
- // Note: If you hit this ASSERT, then we had a hash collision among
- // HTMLNames strings, and we need to re-design how we use this hash!
- ASSERT_UNUSED(addResult, !addResult.isNewEntry || name == addResult.iterator->value.second);
- }
-}
-
-void HTMLIdentifier::init()
-{
- ASSERT(isMainThread()); // Not technically necessary, but this is our current expected usage.
- static bool isInitialized = false;
- if (isInitialized)
- return;
- isInitialized = true;
-
- // FIXME: We should atomize small whitespace (\n, \n\n, etc.)
- addNames(getHTMLTags(), HTMLTagsCount, kHTMLNamesIndexOffset);
- addNames(getHTMLAttrs(), HTMLAttrsCount, kHTMLAttrsIndexOffset);
-}
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLIdentifierh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/HTMLIdentifier.h (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLIdentifier.h        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/HTMLIdentifier.h        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,89 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef HTMLIdentifier_h
-#define HTMLIdentifier_h
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class QualifiedName;
-
-enum CharacterWidth {
- Likely8Bit,
- Force8Bit,
- Force16Bit
-};
-
-class HTMLIdentifier {
-public:
- HTMLIdentifier() : m_index(0) { }
-
- template<size_t inlineCapacity>
- HTMLIdentifier(const Vector<UChar, inlineCapacity>& vector, CharacterWidth width)
- : m_index(findIndex(vector.data(), vector.size()))
- {
- if (m_index != invalidIndex)
- return;
- if (width == Likely8Bit)
- m_string = StringImpl::create8BitIfPossible(vector);
- else if (width == Force8Bit)
- m_string = String::make8BitFrom16BitSource(vector);
- else
- m_string = String(vector);
- }
-
- // asString should only be used on the main thread.
- const String& asString() const;
- // asStringImpl() is safe to call from any thread.
- const StringImpl* asStringImpl() const;
-
- static void init();
-
- bool isSafeToSendToAnotherThread() const { return m_string.isSafeToSendToAnotherThread(); }
-
-#ifndef NDEBUG
- static bool hasIndex(const StringImpl*);
-#endif
-
-private:
- static const unsigned invalidIndex = -1;
- static unsigned maxNameLength;
- static unsigned findIndex(const UChar* characters, unsigned length);
- static void addNames(QualifiedName** names, unsigned namesCount, unsigned indexOffset);
-
- // FIXME: This could be a union.
- unsigned m_index;
- String m_string;
-};
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLParserIdiomsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLParserIdioms.h (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLParserIdioms.h        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/HTMLParserIdioms.h        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> #ifndef HTMLParserIdioms_h
</span><span class="cx"> #define HTMLParserIdioms_h
</span><span class="cx">
</span><del>-#include "HTMLIdentifier.h"
</del><span class="cx"> #include "QualifiedName.h"
</span><span class="cx"> #include <wtf/Forward.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLPreloadScannerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> #define HTMLPreloadScanner_h
</span><span class="cx">
</span><span class="cx"> #include "CSSPreloadScanner.h"
</span><del>-#include "CompactHTMLToken.h"
</del><span class="cx"> #include "HTMLToken.h"
</span><span class="cx"> #include "SegmentedString.h"
</span><span class="cx"> #include <wtf/Vector.h>
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLTreeBuilderSimulatorcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.cpp (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.cpp        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.cpp        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,185 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include "HTMLTreeBuilderSimulator.h"
-
-#include "HTMLDocumentParser.h"
-#include "HTMLParserIdioms.h"
-#include "HTMLTreeBuilder.h"
-
-namespace WebCore {
-
-using namespace HTMLNames;
-
-static bool tokenExitsForeignContent(const CompactHTMLToken& token)
-{
- // FIXME: This is copied from HTMLTreeBuilder::processTokenInForeignContent and changed to use threadSafeHTMLNamesMatch.
- const HTMLIdentifier& tagName = token.data();
- return threadSafeHTMLNamesMatch(tagName, bTag)
- || threadSafeHTMLNamesMatch(tagName, bigTag)
- || threadSafeHTMLNamesMatch(tagName, blockquoteTag)
- || threadSafeHTMLNamesMatch(tagName, bodyTag)
- || threadSafeHTMLNamesMatch(tagName, brTag)
- || threadSafeHTMLNamesMatch(tagName, centerTag)
- || threadSafeHTMLNamesMatch(tagName, codeTag)
- || threadSafeHTMLNamesMatch(tagName, ddTag)
- || threadSafeHTMLNamesMatch(tagName, divTag)
- || threadSafeHTMLNamesMatch(tagName, dlTag)
- || threadSafeHTMLNamesMatch(tagName, dtTag)
- || threadSafeHTMLNamesMatch(tagName, emTag)
- || threadSafeHTMLNamesMatch(tagName, embedTag)
- || threadSafeHTMLNamesMatch(tagName, h1Tag)
- || threadSafeHTMLNamesMatch(tagName, h2Tag)
- || threadSafeHTMLNamesMatch(tagName, h3Tag)
- || threadSafeHTMLNamesMatch(tagName, h4Tag)
- || threadSafeHTMLNamesMatch(tagName, h5Tag)
- || threadSafeHTMLNamesMatch(tagName, h6Tag)
- || threadSafeHTMLNamesMatch(tagName, headTag)
- || threadSafeHTMLNamesMatch(tagName, hrTag)
- || threadSafeHTMLNamesMatch(tagName, iTag)
- || threadSafeHTMLNamesMatch(tagName, imgTag)
- || threadSafeHTMLNamesMatch(tagName, liTag)
- || threadSafeHTMLNamesMatch(tagName, listingTag)
- || threadSafeHTMLNamesMatch(tagName, menuTag)
- || threadSafeHTMLNamesMatch(tagName, metaTag)
- || threadSafeHTMLNamesMatch(tagName, nobrTag)
- || threadSafeHTMLNamesMatch(tagName, olTag)
- || threadSafeHTMLNamesMatch(tagName, pTag)
- || threadSafeHTMLNamesMatch(tagName, preTag)
- || threadSafeHTMLNamesMatch(tagName, rubyTag)
- || threadSafeHTMLNamesMatch(tagName, sTag)
- || threadSafeHTMLNamesMatch(tagName, smallTag)
- || threadSafeHTMLNamesMatch(tagName, spanTag)
- || threadSafeHTMLNamesMatch(tagName, strongTag)
- || threadSafeHTMLNamesMatch(tagName, strikeTag)
- || threadSafeHTMLNamesMatch(tagName, subTag)
- || threadSafeHTMLNamesMatch(tagName, supTag)
- || threadSafeHTMLNamesMatch(tagName, tableTag)
- || threadSafeHTMLNamesMatch(tagName, ttTag)
- || threadSafeHTMLNamesMatch(tagName, uTag)
- || threadSafeHTMLNamesMatch(tagName, ulTag)
- || threadSafeHTMLNamesMatch(tagName, varTag)
- || (threadSafeHTMLNamesMatch(tagName, fontTag) && (token.getAttributeItem(colorAttr) || token.getAttributeItem(faceAttr) || token.getAttributeItem(sizeAttr)));
-}
-
-static bool tokenExitsSVG(const CompactHTMLToken& token)
-{
- // FIXME: It's very fragile that we special case foreignObject here to be case-insensitive.
- return equalIgnoringCaseNonNull(token.data().asStringImpl(), SVGNames::foreignObjectTag.localName().impl());
-}
-
-static bool tokenExitsMath(const CompactHTMLToken& token)
-{
- // FIXME: This is copied from HTMLElementStack::isMathMLTextIntegrationPoint and changed to use threadSafeMatch.
- const HTMLIdentifier& tagName = token.data();
- return threadSafeMatch(tagName, MathMLNames::miTag)
- || threadSafeMatch(tagName, MathMLNames::moTag)
- || threadSafeMatch(tagName, MathMLNames::mnTag)
- || threadSafeMatch(tagName, MathMLNames::msTag)
- || threadSafeMatch(tagName, MathMLNames::mtextTag);
-}
-
-HTMLTreeBuilderSimulator::HTMLTreeBuilderSimulator(const HTMLParserOptions& options)
- : m_options(options)
-{
- m_namespaceStack.append(HTML);
-}
-
-HTMLTreeBuilderSimulator::State HTMLTreeBuilderSimulator::stateFor(HTMLTreeBuilder* treeBuilder)
-{
- ASSERT(isMainThread());
- State namespaceStack;
- for (HTMLElementStack::ElementRecord* record = treeBuilder->openElements()->topRecord(); record; record = record->next()) {
- Namespace currentNamespace = HTML;
- if (record->namespaceURI() == SVGNames::svgNamespaceURI)
- currentNamespace = SVG;
- else if (record->namespaceURI() == MathMLNames::mathmlNamespaceURI)
- currentNamespace = MathML;
-
- if (namespaceStack.isEmpty() || namespaceStack.last() != currentNamespace)
- namespaceStack.append(currentNamespace);
- }
- namespaceStack.reverse();
- return namespaceStack;
-}
-
-bool HTMLTreeBuilderSimulator::simulate(const CompactHTMLToken& token, HTMLTokenizer* tokenizer)
-{
- if (token.type() == HTMLToken::StartTag) {
- const HTMLIdentifier& tagName = token.data();
- if (threadSafeMatch(tagName, SVGNames::svgTag))
- m_namespaceStack.append(SVG);
- if (threadSafeMatch(tagName, MathMLNames::mathTag))
- m_namespaceStack.append(MathML);
- if (inForeignContent() && tokenExitsForeignContent(token))
- m_namespaceStack.removeLast();
- if ((m_namespaceStack.last() == SVG && tokenExitsSVG(token))
- || (m_namespaceStack.last() == MathML && tokenExitsMath(token)))
- m_namespaceStack.append(HTML);
- if (!inForeignContent()) {
- // FIXME: This is just a copy of Tokenizer::updateStateFor which uses threadSafeMatches.
- if (threadSafeHTMLNamesMatch(tagName, textareaTag) || threadSafeHTMLNamesMatch(tagName, titleTag))
- tokenizer->setState(HTMLTokenizer::RCDATAState);
- else if (threadSafeHTMLNamesMatch(tagName, plaintextTag))
- tokenizer->setState(HTMLTokenizer::PLAINTEXTState);
- else if (threadSafeHTMLNamesMatch(tagName, scriptTag))
- tokenizer->setState(HTMLTokenizer::ScriptDataState);
- else if (threadSafeHTMLNamesMatch(tagName, styleTag)
- || threadSafeHTMLNamesMatch(tagName, iframeTag)
- || threadSafeHTMLNamesMatch(tagName, xmpTag)
- || (threadSafeHTMLNamesMatch(tagName, noembedTag) && m_options.pluginsEnabled)
- || threadSafeHTMLNamesMatch(tagName, noframesTag)
- || (threadSafeHTMLNamesMatch(tagName, noscriptTag) && m_options.scriptEnabled))
- tokenizer->setState(HTMLTokenizer::RAWTEXTState);
- }
- }
-
- if (token.type() == HTMLToken::EndTag) {
- const HTMLIdentifier& tagName = token.data();
- if ((m_namespaceStack.last() == SVG && threadSafeMatch(tagName, SVGNames::svgTag))
- || (m_namespaceStack.last() == MathML && threadSafeMatch(tagName, MathMLNames::mathTag))
- || (m_namespaceStack.contains(SVG) && m_namespaceStack.last() == HTML && tokenExitsSVG(token))
- || (m_namespaceStack.contains(MathML) && m_namespaceStack.last() == HTML && tokenExitsMath(token)))
- m_namespaceStack.removeLast();
- if (threadSafeHTMLNamesMatch(tagName, scriptTag)) {
- if (!inForeignContent())
- tokenizer->setState(HTMLTokenizer::DataState);
- return false;
- }
- }
-
- // FIXME: Also setForceNullCharacterReplacement when in text mode.
- tokenizer->setForceNullCharacterReplacement(inForeignContent());
- tokenizer->setShouldAllowCDATA(inForeignContent());
- return true;
-}
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLTreeBuilderSimulatorh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.h (162250 => 162251)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.h        2014-01-18 09:04:36 UTC (rev 162250)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilderSimulator.h        2014-01-18 16:48:59 UTC (rev 162251)
</span><span class="lines">@@ -1,74 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef HTMLTreeBuilderSimulator_h
-#define HTMLTreeBuilderSimulator_h
-
-#if ENABLE(THREADED_HTML_PARSER)
-
-#include "HTMLParserOptions.h"
-#include <wtf/PassOwnPtr.h>
-
-namespace WebCore {
-
-class CompactHTMLToken;
-class HTMLTokenizer;
-class HTMLTreeBuilder;
-
-class HTMLTreeBuilderSimulator {
- WTF_MAKE_FAST_ALLOCATED;
-private:
- enum Namespace {
- HTML,
- SVG,
- MathML
- };
-
-public:
- typedef Vector<Namespace, 1> State;
-
- explicit HTMLTreeBuilderSimulator(const HTMLParserOptions&);
-
- static State stateFor(HTMLTreeBuilder*);
-
- const State& state() const { return m_namespaceStack; }
- void setState(const State& state) { m_namespaceStack = state; }
-
- bool simulate(const CompactHTMLToken&, HTMLTokenizer*);
-
-private:
- explicit HTMLTreeBuilderSimulator(HTMLTreeBuilder*);
-
- bool inForeignContent() const { return m_namespaceStack.last() != HTML; }
-
- HTMLParserOptions m_options;
- State m_namespaceStack;
-};
-
-}
-
-#endif // ENABLE(THREADED_HTML_PARSER)
-
-#endif
</del></span></pre>
</div>
</div>
</body>
</html>