<!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>[162275] 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/162275">162275</a></dd>
<dt>Author</dt> <dd>andersca@apple.com</dd>
<dt>Date</dt> <dd>2014-01-18 14:48:46 -0800 (Sat, 18 Jan 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Modernize HTML parser code
https://bugs.webkit.org/show_bug.cgi?id=127236

Reviewed by Andreas Kling.

* html/parser/AtomicHTMLToken.h:
* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::emitRule):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::detach):
(WebCore::HTMLDocumentParser::stopParsing):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::ElementRecord::ElementRecord):
(WebCore::HTMLElementStack::insertAbove):
(WebCore::HTMLElementStack::pushCommon):
* html/parser/HTMLElementStack.h:
(WebCore::HTMLElementStack::ElementRecord::releaseNext):
(WebCore::HTMLElementStack::ElementRecord::setNext):
* html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
* html/parser/HTMLMetaCharsetParser.h:
* html/parser/HTMLParserScheduler.h:
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
* html/parser/HTMLPreloadScanner.h:
* html/parser/HTMLResourcePreloader.cpp:
(WebCore::HTMLResourcePreloader::takeAndPreload):
(WebCore::HTMLResourcePreloader::preload):
* html/parser/HTMLResourcePreloader.h:
(WebCore::PreloadRequest::PreloadRequest):
* html/parser/HTMLScriptRunner.h:
* html/parser/HTMLToken.h:
(WebCore::HTMLToken::beginDOCTYPE):
(WebCore::HTMLToken::releaseDoctypeData):
* html/parser/HTMLTokenizer.h:
* html/parser/HTMLTreeBuilder.h:
* html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
* html/parser/HTMLViewSourceParser.h:
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::filterToken):
* html/parser/XSSAuditor.h:
* html/parser/XSSAuditorDelegate.h:
(WebCore::XSSInfo::XSSInfo):
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForHeadCharset):
(WebCore::TextResourceDecoder::checkForMetaCharset):
* loader/TextResourceDecoder.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorehtmlparserAtomicHTMLTokenh">trunk/Source/WebCore/html/parser/AtomicHTMLToken.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserCSSPreloadScannercpp">trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp</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="#trunkSourceWebCorehtmlparserHTMLElementStackcpp">trunk/Source/WebCore/html/parser/HTMLElementStack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLElementStackh">trunk/Source/WebCore/html/parser/HTMLElementStack.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLMetaCharsetParsercpp">trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLMetaCharsetParserh">trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLParserSchedulerh">trunk/Source/WebCore/html/parser/HTMLParserScheduler.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLPreloadScannercpp">trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLPreloadScannerh">trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLResourcePreloadercpp">trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLResourcePreloaderh">trunk/Source/WebCore/html/parser/HTMLResourcePreloader.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLScriptRunnerh">trunk/Source/WebCore/html/parser/HTMLScriptRunner.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLTokenh">trunk/Source/WebCore/html/parser/HTMLToken.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLTokenizerh">trunk/Source/WebCore/html/parser/HTMLTokenizer.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLTreeBuilderh">trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLViewSourceParsercpp">trunk/Source/WebCore/html/parser/HTMLViewSourceParser.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLViewSourceParserh">trunk/Source/WebCore/html/parser/HTMLViewSourceParser.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserXSSAuditorcpp">trunk/Source/WebCore/html/parser/XSSAuditor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserXSSAuditorh">trunk/Source/WebCore/html/parser/XSSAuditor.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserXSSAuditorDelegateh">trunk/Source/WebCore/html/parser/XSSAuditorDelegate.h</a></li>
<li><a href="#trunkSourceWebCoreloaderTextResourceDecodercpp">trunk/Source/WebCore/loader/TextResourceDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderTextResourceDecoderh">trunk/Source/WebCore/loader/TextResourceDecoder.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/ChangeLog        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -1,3 +1,63 @@
</span><ins>+2014-01-18  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Modernize HTML parser code
+        https://bugs.webkit.org/show_bug.cgi?id=127236
+
+        Reviewed by Andreas Kling.
+
+        * html/parser/AtomicHTMLToken.h:
+        * html/parser/CSSPreloadScanner.cpp:
+        (WebCore::CSSPreloadScanner::emitRule):
+        * html/parser/HTMLDocumentParser.cpp:
+        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
+        (WebCore::HTMLDocumentParser::detach):
+        (WebCore::HTMLDocumentParser::stopParsing):
+        (WebCore::HTMLDocumentParser::pumpTokenizer):
+        (WebCore::HTMLDocumentParser::insert):
+        (WebCore::HTMLDocumentParser::append):
+        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
+        * html/parser/HTMLDocumentParser.h:
+        * html/parser/HTMLElementStack.cpp:
+        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
+        (WebCore::HTMLElementStack::insertAbove):
+        (WebCore::HTMLElementStack::pushCommon):
+        * html/parser/HTMLElementStack.h:
+        (WebCore::HTMLElementStack::ElementRecord::releaseNext):
+        (WebCore::HTMLElementStack::ElementRecord::setNext):
+        * html/parser/HTMLMetaCharsetParser.cpp:
+        (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
+        * html/parser/HTMLMetaCharsetParser.h:
+        * html/parser/HTMLParserScheduler.h:
+        * html/parser/HTMLPreloadScanner.cpp:
+        (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
+        (WebCore::TokenPreloadScanner::scan):
+        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
+        * html/parser/HTMLPreloadScanner.h:
+        * html/parser/HTMLResourcePreloader.cpp:
+        (WebCore::HTMLResourcePreloader::takeAndPreload):
+        (WebCore::HTMLResourcePreloader::preload):
+        * html/parser/HTMLResourcePreloader.h:
+        (WebCore::PreloadRequest::PreloadRequest):
+        * html/parser/HTMLScriptRunner.h:
+        * html/parser/HTMLToken.h:
+        (WebCore::HTMLToken::beginDOCTYPE):
+        (WebCore::HTMLToken::releaseDoctypeData):
+        * html/parser/HTMLTokenizer.h:
+        * html/parser/HTMLTreeBuilder.h:
+        * html/parser/HTMLViewSourceParser.cpp:
+        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
+        * html/parser/HTMLViewSourceParser.h:
+        * html/parser/XSSAuditor.cpp:
+        (WebCore::XSSAuditor::init):
+        (WebCore::XSSAuditor::filterToken):
+        * html/parser/XSSAuditor.h:
+        * html/parser/XSSAuditorDelegate.h:
+        (WebCore::XSSInfo::XSSInfo):
+        * loader/TextResourceDecoder.cpp:
+        (WebCore::TextResourceDecoder::checkForHeadCharset):
+        (WebCore::TextResourceDecoder::checkForMetaCharset):
+        * loader/TextResourceDecoder.h:
+
</ins><span class="cx"> 2014-01-18  Benjamin Poulain  &lt;benjamin@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Make ElementData JIT friendly
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserAtomicHTMLTokenh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/AtomicHTMLToken.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/AtomicHTMLToken.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/AtomicHTMLToken.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx">     bool m_isAll8BitData;
</span><span class="cx"> 
</span><span class="cx">     // For DOCTYPE
</span><del>-    OwnPtr&lt;DoctypeData&gt; m_doctypeData;
</del><ins>+    std::unique_ptr&lt;DoctypeData&gt; m_doctypeData;
</ins><span class="cx"> 
</span><span class="cx">     // For StartTag and EndTag
</span><span class="cx">     bool m_selfClosing;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserCSSPreloadScannercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -208,9 +208,9 @@
</span><span class="cx">         String url = parseCSSStringOrURL(m_ruleValue.data(), m_ruleValue.size());
</span><span class="cx">         if (!url.isEmpty()) {
</span><span class="cx">             URL baseElementURL; // FIXME: This should be passed in from the HTMLPreloadScaner via scan()!
</span><del>-            OwnPtr&lt;PreloadRequest&gt; request = PreloadRequest::create(&quot;css&quot;, url, baseElementURL, CachedResource::CSSStyleSheet);
</del><ins>+
</ins><span class="cx">             // FIXME: Should this be including the charset in the preload request?
</span><del>-            m_requests-&gt;append(request.release());
</del><ins>+            m_requests-&gt;append(std::make_unique&lt;PreloadRequest&gt;(&quot;css&quot;, url, baseElementURL, CachedResource::CSSStyleSheet, String()));
</ins><span class="cx">         }
</span><span class="cx">         m_state = Initial;
</span><span class="cx">     } else if (ruleEqualIgnoringCase(m_rule, &quot;charset&quot;))
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLDocumentParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -70,13 +70,13 @@
</span><span class="cx"> HTMLDocumentParser::HTMLDocumentParser(HTMLDocument&amp; document)
</span><span class="cx">     : ScriptableDocumentParser(document)
</span><span class="cx">     , m_options(document)
</span><del>-    , m_token(adoptPtr(new HTMLToken))
-    , m_tokenizer(HTMLTokenizer::create(m_options))
-    , m_scriptRunner(HTMLScriptRunner::create(document, *this))
-    , m_treeBuilder(HTMLTreeBuilder::create(*this, document, parserContentPolicy(), m_options))
-    , m_parserScheduler(HTMLParserScheduler::create(*this))
</del><ins>+    , m_token(std::make_unique&lt;HTMLToken&gt;())
+    , m_tokenizer(std::make_unique&lt;HTMLTokenizer&gt;(m_options))
+    , m_scriptRunner(std::make_unique&lt;HTMLScriptRunner&gt;(document, static_cast&lt;HTMLScriptRunnerHost&amp;&gt;(*this)))
+    , m_treeBuilder(std::make_unique&lt;HTMLTreeBuilder&gt;(*this, document, parserContentPolicy(), m_options))
+    , m_parserScheduler(std::make_unique&lt;HTMLParserScheduler&gt;(*this))
</ins><span class="cx">     , m_xssAuditorDelegate(document)
</span><del>-    , m_preloader(adoptPtr(new HTMLResourcePreloader(document)))
</del><ins>+    , m_preloader(std::make_unique&lt;HTMLResourcePreloader&gt;(document))
</ins><span class="cx">     , m_endWasDelayed(false)
</span><span class="cx">     , m_haveBackgroundParser(false)
</span><span class="cx">     , m_pumpSessionNestingLevel(0)
</span><span class="lines">@@ -90,9 +90,9 @@
</span><span class="cx"> HTMLDocumentParser::HTMLDocumentParser(DocumentFragment&amp; fragment, Element* contextElement, ParserContentPolicy parserContentPolicy)
</span><span class="cx">     : ScriptableDocumentParser(fragment.document(), parserContentPolicy)
</span><span class="cx">     , m_options(fragment.document())
</span><del>-    , m_token(adoptPtr(new HTMLToken))
-    , m_tokenizer(HTMLTokenizer::create(m_options))
-    , m_treeBuilder(HTMLTreeBuilder::create(*this, fragment, contextElement, this-&gt;parserContentPolicy(), m_options))
</del><ins>+    , m_token(std::make_unique&lt;HTMLToken&gt;())
+    , m_tokenizer(std::make_unique&lt;HTMLTokenizer&gt;(m_options))
+    , m_treeBuilder(std::make_unique&lt;HTMLTreeBuilder&gt;(*this, fragment, contextElement, this-&gt;parserContentPolicy(), m_options))
</ins><span class="cx">     , m_xssAuditorDelegate(fragment.document())
</span><span class="cx">     , m_endWasDelayed(false)
</span><span class="cx">     , m_haveBackgroundParser(false)
</span><span class="lines">@@ -121,15 +121,15 @@
</span><span class="cx">     m_treeBuilder-&gt;detach();
</span><span class="cx">     // FIXME: It seems wrong that we would have a preload scanner here.
</span><span class="cx">     // Yet during fast/dom/HTMLScriptElement/script-load-events.html we do.
</span><del>-    m_preloadScanner.clear();
-    m_insertionPreloadScanner.clear();
-    m_parserScheduler.clear(); // Deleting the scheduler will clear any timers.
</del><ins>+    m_preloadScanner = nullptr;
+    m_insertionPreloadScanner = nullptr;
+    m_parserScheduler = nullptr; // Deleting the scheduler will clear any timers.
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HTMLDocumentParser::stopParsing()
</span><span class="cx"> {
</span><span class="cx">     DocumentParser::stopParsing();
</span><del>-    m_parserScheduler.clear(); // Deleting the scheduler will clear any timers.
</del><ins>+    m_parserScheduler = nullptr; // Deleting the scheduler will clear any timers.
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // This kicks off &quot;Once the user agent stops parsing&quot; as described by:
</span><span class="lines">@@ -302,7 +302,7 @@
</span><span class="cx"> 
</span><span class="cx">             // We do not XSS filter innerHTML, which means we (intentionally) fail
</span><span class="cx">             // http/tests/security/xssAuditor/dom-write-innerHTML.html
</span><del>-            if (OwnPtr&lt;XSSInfo&gt; xssInfo = m_xssAuditor.filterToken(FilterTokenRequest(token(), m_sourceTracker, m_tokenizer-&gt;shouldAllowCDATA())))
</del><ins>+            if (auto xssInfo = m_xssAuditor.filterToken(FilterTokenRequest(token(), m_sourceTracker, m_tokenizer-&gt;shouldAllowCDATA())))
</ins><span class="cx">                 m_xssAuditorDelegate.didBlockScript(*xssInfo);
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -323,7 +323,7 @@
</span><span class="cx">     if (isWaitingForScripts()) {
</span><span class="cx">         ASSERT(m_tokenizer-&gt;state() == HTMLTokenizer::DataState);
</span><span class="cx">         if (!m_preloadScanner) {
</span><del>-            m_preloadScanner = adoptPtr(new HTMLPreloadScanner(m_options, document()-&gt;url(), document()-&gt;deviceScaleFactor()));
</del><ins>+            m_preloadScanner = std::make_unique&lt;HTMLPreloadScanner&gt;(m_options, document()-&gt;url(), document()-&gt;deviceScaleFactor());
</ins><span class="cx">             m_preloadScanner-&gt;appendToEnd(m_input.current());
</span><span class="cx">         }
</span><span class="cx">         m_preloadScanner-&gt;scan(m_preloader.get(), document()-&gt;baseElementURL());
</span><span class="lines">@@ -385,7 +385,7 @@
</span><span class="cx">         // Check the document.write() output with a separate preload scanner as
</span><span class="cx">         // the main scanner can't deal with insertions.
</span><span class="cx">         if (!m_insertionPreloadScanner) {
</span><del>-            m_insertionPreloadScanner = adoptPtr(new HTMLPreloadScanner(m_options, document()-&gt;url(), document()-&gt;deviceScaleFactor()));
</del><ins>+            m_insertionPreloadScanner = std::make_unique&lt;HTMLPreloadScanner&gt;(m_options, document()-&gt;url(), document()-&gt;deviceScaleFactor());
</ins><span class="cx">         }
</span><span class="cx">         m_insertionPreloadScanner-&gt;appendToEnd(source);
</span><span class="cx">         m_insertionPreloadScanner-&gt;scan(m_preloader.get(), document()-&gt;baseElementURL());
</span><span class="lines">@@ -408,7 +408,7 @@
</span><span class="cx">         if (m_input.current().isEmpty() &amp;&amp; !isWaitingForScripts()) {
</span><span class="cx">             // We have parsed until the end of the current input and so are now moving ahead of the preload scanner.
</span><span class="cx">             // Clear the scanner so we know to scan starting from the current input point if we block again.
</span><del>-            m_preloadScanner.clear();
</del><ins>+            m_preloadScanner = nullptr;
</ins><span class="cx">         } else {
</span><span class="cx">             m_preloadScanner-&gt;appendToEnd(source);
</span><span class="cx">             if (isWaitingForScripts())
</span><span class="lines">@@ -527,7 +527,7 @@
</span><span class="cx">     ASSERT(!isExecutingScript());
</span><span class="cx">     ASSERT(!isWaitingForScripts());
</span><span class="cx"> 
</span><del>-    m_insertionPreloadScanner.clear();
</del><ins>+    m_insertionPreloadScanner = nullptr;
</ins><span class="cx">     pumpTokenizerIfPossible(AllowYield);
</span><span class="cx">     endIfDelayed();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLDocumentParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLDocumentParser.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx"> #include &quot;XSSAuditor.h&quot;
</span><span class="cx"> #include &quot;XSSAuditorDelegate.h&quot;
</span><span class="cx"> #include &lt;wtf/Deque.h&gt;
</span><del>-#include &lt;wtf/OwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/WeakPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/TextPosition.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -148,19 +147,19 @@
</span><span class="cx">     HTMLParserOptions m_options;
</span><span class="cx">     HTMLInputStream m_input;
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;HTMLToken&gt; m_token;
-    OwnPtr&lt;HTMLTokenizer&gt; m_tokenizer;
-    OwnPtr&lt;HTMLScriptRunner&gt; m_scriptRunner;
-    OwnPtr&lt;HTMLTreeBuilder&gt; m_treeBuilder;
-    OwnPtr&lt;HTMLPreloadScanner&gt; m_preloadScanner;
-    OwnPtr&lt;HTMLPreloadScanner&gt; m_insertionPreloadScanner;
-    OwnPtr&lt;HTMLParserScheduler&gt; m_parserScheduler;
</del><ins>+    std::unique_ptr&lt;HTMLToken&gt; m_token;
+    std::unique_ptr&lt;HTMLTokenizer&gt; m_tokenizer;
+    std::unique_ptr&lt;HTMLScriptRunner&gt; m_scriptRunner;
+    std::unique_ptr&lt;HTMLTreeBuilder&gt; m_treeBuilder;
+    std::unique_ptr&lt;HTMLPreloadScanner&gt; m_preloadScanner;
+    std::unique_ptr&lt;HTMLPreloadScanner&gt; m_insertionPreloadScanner;
+    std::unique_ptr&lt;HTMLParserScheduler&gt; m_parserScheduler;
</ins><span class="cx">     HTMLSourceTracker m_sourceTracker;
</span><span class="cx">     TextPosition m_textPosition;
</span><span class="cx">     XSSAuditor m_xssAuditor;
</span><span class="cx">     XSSAuditorDelegate m_xssAuditorDelegate;
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;HTMLResourcePreloader&gt; m_preloader;
</del><ins>+    std::unique_ptr&lt;HTMLResourcePreloader&gt; m_preloader;
</ins><span class="cx"> 
</span><span class="cx">     bool m_endWasDelayed;
</span><span class="cx">     bool m_haveBackgroundParser;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLElementStackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLElementStack.cpp (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLElementStack.cpp        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLElementStack.cpp        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HTMLElementStack::ElementRecord::ElementRecord(PassRefPtr&lt;HTMLStackItem&gt; item, OwnPtr&lt;ElementRecord&gt; next)
</del><ins>+HTMLElementStack::ElementRecord::ElementRecord(PassRefPtr&lt;HTMLStackItem&gt; item, std::unique_ptr&lt;ElementRecord&gt; next)
</ins><span class="cx">     : m_item(item)
</span><span class="cx">     , m_next(std::move(next))
</span><span class="cx"> {
</span><span class="lines">@@ -359,7 +359,7 @@
</span><span class="cx">     ASSERT(!item-&gt;hasTagName(HTMLNames::headTag));
</span><span class="cx">     ASSERT(!item-&gt;hasTagName(HTMLNames::bodyTag));
</span><span class="cx">     ASSERT(m_rootNode);
</span><del>-    if (recordBelow == m_top) {
</del><ins>+    if (recordBelow == m_top.get()) {
</ins><span class="cx">         push(item);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -369,7 +369,7 @@
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         m_stackDepth++;
</span><del>-        recordAbove-&gt;setNext(adoptPtr(new ElementRecord(item, recordAbove-&gt;releaseNext())));
</del><ins>+        recordAbove-&gt;setNext(std::make_unique&lt;ElementRecord&gt;(item, recordAbove-&gt;releaseNext()));
</ins><span class="cx">         recordAbove-&gt;next()-&gt;element()-&gt;beginParsingChildren();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -567,7 +567,7 @@
</span><span class="cx">     ASSERT(m_rootNode);
</span><span class="cx"> 
</span><span class="cx">     m_stackDepth++;
</span><del>-    m_top = adoptPtr(new ElementRecord(item, m_top.release()));
</del><ins>+    m_top = std::make_unique&lt;ElementRecord&gt;(item, std::move(m_top));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HTMLElementStack::popCommon()
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLElementStackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLElementStack.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLElementStack.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLElementStack.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -30,8 +30,6 @@
</span><span class="cx"> #include &quot;HTMLStackItem.h&quot;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><del>-#include &lt;wtf/OwnPtr.h&gt;
-#include &lt;wtf/PassOwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -52,7 +50,8 @@
</span><span class="cx">     class ElementRecord {
</span><span class="cx">         WTF_MAKE_NONCOPYABLE(ElementRecord); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">     public:
</span><del>-        ~ElementRecord(); // Public for ~PassOwnPtr()
</del><ins>+        ElementRecord(PassRefPtr&lt;HTMLStackItem&gt;, std::unique_ptr&lt;ElementRecord&gt;);
+        ~ElementRecord();
</ins><span class="cx">     
</span><span class="cx">         Element* element() const { return m_item-&gt;element(); }
</span><span class="cx">         ContainerNode* node() const { return m_item-&gt;node(); }
</span><span class="lines">@@ -66,13 +65,11 @@
</span><span class="cx">     private:
</span><span class="cx">         friend class HTMLElementStack;
</span><span class="cx"> 
</span><del>-        ElementRecord(PassRefPtr&lt;HTMLStackItem&gt;, OwnPtr&lt;ElementRecord&gt;);
</del><ins>+        std::unique_ptr&lt;ElementRecord&gt; releaseNext() { return std::move(m_next); }
+        void setNext(std::unique_ptr&lt;ElementRecord&gt; next) { m_next = std::move(next); }
</ins><span class="cx"> 
</span><del>-        OwnPtr&lt;ElementRecord&gt; releaseNext() { return m_next.release(); }
-        void setNext(OwnPtr&lt;ElementRecord&gt; next) { m_next = std::move(next); }
-
</del><span class="cx">         RefPtr&lt;HTMLStackItem&gt; m_item;
</span><del>-        OwnPtr&lt;ElementRecord&gt; m_next;
</del><ins>+        std::unique_ptr&lt;ElementRecord&gt; m_next;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     unsigned stackDepth() const { return m_stackDepth; }
</span><span class="lines">@@ -171,7 +168,7 @@
</span><span class="cx">     void popCommon();
</span><span class="cx">     void removeNonTopCommon(Element*);
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;ElementRecord&gt; m_top;
</del><ins>+    std::unique_ptr&lt;ElementRecord&gt; m_top;
</ins><span class="cx"> 
</span><span class="cx">     // We remember the root node, &lt;head&gt; and &lt;body&gt; as they are pushed. Their
</span><span class="cx">     // ElementRecords keep them alive. The root node is never popped.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLMetaCharsetParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx"> 
</span><span class="cx"> HTMLMetaCharsetParser::HTMLMetaCharsetParser()
</span><del>-    : m_tokenizer(HTMLTokenizer::create(HTMLParserOptions()))
</del><ins>+    : m_tokenizer(std::make_unique&lt;HTMLTokenizer&gt;(HTMLParserOptions()))
</ins><span class="cx">     , m_assumedCodec(newTextCodec(Latin1Encoding()))
</span><span class="cx">     , m_inHeadSection(true)
</span><span class="cx">     , m_doneChecking(false)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLMetaCharsetParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLMetaCharsetParser.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -39,8 +39,7 @@
</span><span class="cx"> class HTMLMetaCharsetParser {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(HTMLMetaCharsetParser); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static OwnPtr&lt;HTMLMetaCharsetParser&gt; create() { return adoptPtr(new HTMLMetaCharsetParser()); }
-
</del><ins>+    HTMLMetaCharsetParser();
</ins><span class="cx">     ~HTMLMetaCharsetParser();
</span><span class="cx"> 
</span><span class="cx">     // Returns true if done checking, regardless whether an encoding is found.
</span><span class="lines">@@ -54,8 +53,6 @@
</span><span class="cx"> );
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    HTMLMetaCharsetParser();
-
</del><span class="cx">     bool processMeta();
</span><span class="cx">     static String extractCharset(const String&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -65,7 +62,7 @@
</span><span class="cx">         Pragma,
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;HTMLTokenizer&gt; m_tokenizer;
</del><ins>+    std::unique_ptr&lt;HTMLTokenizer&gt; m_tokenizer;
</ins><span class="cx">     OwnPtr&lt;TextCodec&gt; m_assumedCodec;
</span><span class="cx">     SegmentedString m_input;
</span><span class="cx">     HTMLToken m_token;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLParserSchedulerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLParserScheduler.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLParserScheduler.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLParserScheduler.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -64,10 +64,7 @@
</span><span class="cx"> class HTMLParserScheduler {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(HTMLParserScheduler); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static OwnPtr&lt;HTMLParserScheduler&gt; create(HTMLDocumentParser&amp; parser)
-    {
-        return adoptPtr(new HTMLParserScheduler(parser));
-    }
</del><ins>+    explicit HTMLParserScheduler(HTMLDocumentParser&amp;);
</ins><span class="cx">     ~HTMLParserScheduler();
</span><span class="cx"> 
</span><span class="cx">     // Inline as this is called after every token in the parser.
</span><span class="lines">@@ -101,8 +98,6 @@
</span><span class="cx">     void resume();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    HTMLParserScheduler(HTMLDocumentParser&amp;);
-
</del><span class="cx">     void continueNextChunkTimerFired(Timer&lt;HTMLParserScheduler&gt;&amp;);
</span><span class="cx"> 
</span><span class="cx">     HTMLDocumentParser&amp; m_parser;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLPreloadScannercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -109,15 +109,16 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;PreloadRequest&gt; createPreloadRequest(const URL&amp; predictedBaseURL)
</del><ins>+    std::unique_ptr&lt;PreloadRequest&gt; createPreloadRequest(const URL&amp; predictedBaseURL)
</ins><span class="cx">     {
</span><span class="cx">         if (!shouldPreload())
</span><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><del>-        OwnPtr&lt;PreloadRequest&gt; request = PreloadRequest::create(initiatorFor(m_tagId), m_urlToLoad, predictedBaseURL, resourceType(), m_mediaAttribute);
</del><ins>+        auto request = std::make_unique&lt;PreloadRequest&gt;(initiatorFor(m_tagId), m_urlToLoad, predictedBaseURL, resourceType(), m_mediaAttribute);
+
</ins><span class="cx">         request-&gt;setCrossOriginModeAllowsCookies(crossOriginModeAllowsCookies());
</span><span class="cx">         request-&gt;setCharset(charset());
</span><del>-        return request.release();
</del><ins>+        return request;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static bool match(const AtomicString&amp; name, const QualifiedName&amp; qName)
</span><span class="lines">@@ -261,7 +262,7 @@
</span><span class="cx">     m_checkpoints.clear();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TokenPreloadScanner::scan(const HTMLToken&amp; token, Vector&lt;OwnPtr&lt;PreloadRequest&gt;&gt;&amp; requests)
</del><ins>+void TokenPreloadScanner::scan(const HTMLToken&amp; token, Vector&lt;std::unique_ptr&lt;PreloadRequest&gt;&gt;&amp; requests)
</ins><span class="cx"> {
</span><span class="cx">     switch (token.type()) {
</span><span class="cx">     case HTMLToken::Character:
</span><span class="lines">@@ -313,8 +314,8 @@
</span><span class="cx"> 
</span><span class="cx">         StartTagScanner scanner(tagId, m_deviceScaleFactor);
</span><span class="cx">         scanner.processAttributes(token.attributes());
</span><del>-        if (OwnPtr&lt;PreloadRequest&gt; request = scanner.createPreloadRequest(m_predictedBaseElementURL))
-            requests.append(request.release());
</del><ins>+        if (auto request = scanner.createPreloadRequest(m_predictedBaseElementURL))
+            requests.append(std::move(request));
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -333,7 +334,7 @@
</span><span class="cx"> 
</span><span class="cx"> HTMLPreloadScanner::HTMLPreloadScanner(const HTMLParserOptions&amp; options, const URL&amp; documentURL, float deviceScaleFactor)
</span><span class="cx">     : m_scanner(documentURL, deviceScaleFactor)
</span><del>-    , m_tokenizer(HTMLTokenizer::create(options))
</del><ins>+    , m_tokenizer(std::make_unique&lt;HTMLTokenizer&gt;(options))
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -363,7 +364,7 @@
</span><span class="cx">         m_token.clear();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    preloader-&gt;takeAndPreload(requests);
</del><ins>+    preloader-&gt;preload(std::move(requests));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLPreloadScannerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx">     TokenPreloadScanner m_scanner;
</span><span class="cx">     SegmentedString m_source;
</span><span class="cx">     HTMLToken m_token;
</span><del>-    OwnPtr&lt;HTMLTokenizer&gt; m_tokenizer;
</del><ins>+    std::unique_ptr&lt;HTMLTokenizer&gt; m_tokenizer;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLResourcePreloadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLResourcePreloader.cpp        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -61,13 +61,10 @@
</span><span class="cx">     return request;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HTMLResourcePreloader::takeAndPreload(PreloadRequestStream&amp; r)
</del><ins>+void HTMLResourcePreloader::preload(PreloadRequestStream requests)
</ins><span class="cx"> {
</span><del>-    PreloadRequestStream requests;
-    requests.swap(r);
-
-    for (PreloadRequestStream::iterator it = requests.begin(); it != requests.end(); ++it)
-        preload(it-&gt;release());
</del><ins>+    for (auto&amp; request : requests)
+        preload(std::move(request));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool mediaAttributeMatches(Frame* frame, RenderStyle* renderStyle, const String&amp; attributeValue)
</span><span class="lines">@@ -77,7 +74,7 @@
</span><span class="cx">     return mediaQueryEvaluator.eval(mediaQueries.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HTMLResourcePreloader::preload(OwnPtr&lt;PreloadRequest&gt; preload)
</del><ins>+void HTMLResourcePreloader::preload(std::unique_ptr&lt;PreloadRequest&gt; preload)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_document.frame());
</span><span class="cx">     ASSERT(m_document.renderView());
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLResourcePreloaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLResourcePreloader.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLResourcePreloader.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLResourcePreloader.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -33,16 +33,16 @@
</span><span class="cx"> 
</span><span class="cx"> class PreloadRequest {
</span><span class="cx"> public:
</span><del>-    static OwnPtr&lt;PreloadRequest&gt; create(const String&amp; initiator, const String&amp; resourceURL, const URL&amp; baseURL, CachedResource::Type resourceType, const String&amp; mediaAttribute)
</del><ins>+    PreloadRequest(const String&amp; initiator, const String&amp; resourceURL, const URL&amp; baseURL, CachedResource::Type resourceType, const String&amp; mediaAttribute)
+        : m_initiator(initiator)
+        , m_resourceURL(resourceURL.isolatedCopy())
+        , m_baseURL(baseURL.copy())
+        , m_resourceType(resourceType)
+        , m_mediaAttribute(mediaAttribute.isolatedCopy())
+        , m_crossOriginModeAllowsCookies(false)
</ins><span class="cx">     {
</span><del>-        return adoptPtr(new PreloadRequest(initiator, resourceURL, baseURL, resourceType, mediaAttribute));
</del><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static OwnPtr&lt;PreloadRequest&gt; create(const String&amp; initiator, const String&amp; resourceURL, const URL&amp; baseURL, CachedResource::Type resourceType)
-    {
-        return adoptPtr(new PreloadRequest(initiator, resourceURL, baseURL, resourceType, String()));
-    }
-
</del><span class="cx">     bool isSafeToSendToAnotherThread() const;
</span><span class="cx"> 
</span><span class="cx">     CachedResourceRequest resourceRequest(Document&amp;);
</span><span class="lines">@@ -54,16 +54,6 @@
</span><span class="cx">     CachedResource::Type resourceType() const { return m_resourceType; }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    PreloadRequest(const String&amp; initiator, const String&amp; resourceURL, const URL&amp; baseURL, CachedResource::Type resourceType, const String&amp; mediaAttribute)
-        : m_initiator(initiator)
-        , m_resourceURL(resourceURL.isolatedCopy())
-        , m_baseURL(baseURL.copy())
-        , m_resourceType(resourceType)
-        , m_mediaAttribute(mediaAttribute.isolatedCopy())
-        , m_crossOriginModeAllowsCookies(false)
-    {
-    }
-
</del><span class="cx">     URL completeURL(Document&amp;);
</span><span class="cx"> 
</span><span class="cx">     String m_initiator;
</span><span class="lines">@@ -75,7 +65,7 @@
</span><span class="cx">     bool m_crossOriginModeAllowsCookies;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef Vector&lt;OwnPtr&lt;PreloadRequest&gt;&gt; PreloadRequestStream;
</del><ins>+typedef Vector&lt;std::unique_ptr&lt;PreloadRequest&gt;&gt; PreloadRequestStream;
</ins><span class="cx"> 
</span><span class="cx"> class HTMLResourcePreloader {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(HTMLResourcePreloader); WTF_MAKE_FAST_ALLOCATED;
</span><span class="lines">@@ -86,8 +76,8 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void takeAndPreload(PreloadRequestStream&amp;);
-    void preload(OwnPtr&lt;PreloadRequest&gt;);
</del><ins>+    void preload(PreloadRequestStream);
+    void preload(std::unique_ptr&lt;PreloadRequest&gt;);
</ins><span class="cx"> 
</span><span class="cx">     WeakPtr&lt;HTMLResourcePreloader&gt; createWeakPtr() { return m_weakFactory.createWeakPtr(); }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLScriptRunnerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLScriptRunner.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLScriptRunner.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLScriptRunner.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;PendingScript.h&quot;
</span><span class="cx"> #include &lt;wtf/Deque.h&gt;
</span><del>-#include &lt;wtf/PassOwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/TextPosition.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -44,10 +43,7 @@
</span><span class="cx"> class HTMLScriptRunner {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(HTMLScriptRunner); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static OwnPtr&lt;HTMLScriptRunner&gt; create(Document&amp; document, HTMLScriptRunnerHost&amp; host)
-    {
-        return adoptPtr(new HTMLScriptRunner(document, host));
-    }
</del><ins>+    HTMLScriptRunner(Document&amp;, HTMLScriptRunnerHost&amp;);
</ins><span class="cx">     ~HTMLScriptRunner();
</span><span class="cx"> 
</span><span class="cx">     void detach();
</span><span class="lines">@@ -64,8 +60,6 @@
</span><span class="cx">     bool isExecutingScript() const { return !!m_scriptNestingLevel; }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    HTMLScriptRunner(Document&amp;, HTMLScriptRunnerHost&amp;);
-
</del><span class="cx">     Frame* frame() const;
</span><span class="cx"> 
</span><span class="cx">     void executeParsingBlockingScript();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLTokenh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLToken.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLToken.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLToken.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -171,7 +171,7 @@
</span><span class="cx">     {
</span><span class="cx">         ASSERT(m_type == Uninitialized);
</span><span class="cx">         m_type = DOCTYPE;
</span><del>-        m_doctypeData = adoptPtr(new DoctypeData);
</del><ins>+        m_doctypeData = std::make_unique&lt;DoctypeData&gt;();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void beginDOCTYPE(UChar character)
</span><span class="lines">@@ -226,9 +226,9 @@
</span><span class="cx">         m_doctypeData-&gt;m_systemIdentifier.append(character);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;DoctypeData&gt; releaseDoctypeData()
</del><ins>+    std::unique_ptr&lt;DoctypeData&gt; releaseDoctypeData()
</ins><span class="cx">     {
</span><del>-        return m_doctypeData.release();
</del><ins>+        return std::move(m_doctypeData);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     /* Start/End Tag Tokens */
</span><span class="lines">@@ -445,7 +445,7 @@
</span><span class="cx">     Attribute* m_currentAttribute;
</span><span class="cx"> 
</span><span class="cx">     // For DOCTYPE
</span><del>-    OwnPtr&lt;DoctypeData&gt; m_doctypeData;
</del><ins>+    std::unique_ptr&lt;DoctypeData&gt; m_doctypeData;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLTokenizerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLTokenizer.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLTokenizer.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLTokenizer.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(HTMLTokenizer);
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static OwnPtr&lt;HTMLTokenizer&gt; create(const HTMLParserOptions&amp; options) { return adoptPtr(new HTMLTokenizer(options)); }
</del><ins>+    explicit HTMLTokenizer(const HTMLParserOptions&amp;);
</ins><span class="cx">     ~HTMLTokenizer();
</span><span class="cx"> 
</span><span class="cx">     void reset();
</span><span class="lines">@@ -173,8 +173,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    explicit HTMLTokenizer(const HTMLParserOptions&amp;);
-
</del><span class="cx">     inline bool processEntity(SegmentedString&amp;);
</span><span class="cx"> 
</span><span class="cx">     inline void parseError();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLTreeBuilderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -57,14 +57,8 @@
</span><span class="cx"> class HTMLTreeBuilder {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(HTMLTreeBuilder); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static OwnPtr&lt;HTMLTreeBuilder&gt; create(HTMLDocumentParser&amp; parser, HTMLDocument&amp; document, ParserContentPolicy parserContentPolicy, const HTMLParserOptions&amp; options)
-    {
-        return adoptPtr(new HTMLTreeBuilder(parser, document, parserContentPolicy, options));
-    }
-    static OwnPtr&lt;HTMLTreeBuilder&gt; create(HTMLDocumentParser&amp; parser, DocumentFragment&amp; fragment, Element* contextElement, ParserContentPolicy parserContentPolicy, const HTMLParserOptions&amp; options)
-    {
-        return adoptPtr(new HTMLTreeBuilder(parser, fragment, contextElement, parserContentPolicy, options));
-    }
</del><ins>+    HTMLTreeBuilder(HTMLDocumentParser&amp;, HTMLDocument&amp;, ParserContentPolicy, const HTMLParserOptions&amp;);
+    HTMLTreeBuilder(HTMLDocumentParser&amp;, DocumentFragment&amp;, Element* contextElement, ParserContentPolicy, const HTMLParserOptions&amp;);
</ins><span class="cx">     ~HTMLTreeBuilder();
</span><span class="cx"> 
</span><span class="cx">     const HTMLElementStack* openElements() const { return m_tree.openElements(); }
</span><span class="lines">@@ -120,9 +114,6 @@
</span><span class="cx">         AfterAfterFramesetMode,
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    HTMLTreeBuilder(HTMLDocumentParser&amp;, HTMLDocument&amp;, ParserContentPolicy, const HTMLParserOptions&amp;);
-    HTMLTreeBuilder(HTMLDocumentParser&amp;, DocumentFragment&amp;, Element* contextElement, ParserContentPolicy, const HTMLParserOptions&amp;);
-
</del><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     void insertPhoneNumberLink(const String&amp;);
</span><span class="cx">     void linkifyPhoneNumbers(const String&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLViewSourceParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLViewSourceParser.cpp (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLViewSourceParser.cpp        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLViewSourceParser.cpp        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> HTMLViewSourceParser::HTMLViewSourceParser(HTMLViewSourceDocument&amp; document)
</span><span class="cx">     : DecodedDataDocumentParser(document)
</span><del>-    , m_tokenizer(HTMLTokenizer::create(HTMLParserOptions(document)))
</del><ins>+    , m_tokenizer(std::make_unique&lt;HTMLTokenizer&gt;(HTMLParserOptions(document)))
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLViewSourceParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLViewSourceParser.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLViewSourceParser.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/HTMLViewSourceParser.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx">     HTMLInputStream m_input;
</span><span class="cx">     HTMLToken m_token;
</span><span class="cx">     HTMLSourceTracker m_sourceTracker;
</span><del>-    OwnPtr&lt;HTMLTokenizer&gt; m_tokenizer;
</del><ins>+    std::unique_ptr&lt;HTMLTokenizer&gt; m_tokenizer;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserXSSAuditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/XSSAuditor.cpp (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/XSSAuditor.cpp        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/XSSAuditor.cpp        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -305,7 +305,7 @@
</span><span class="cx">                 if (m_decodedHTTPBody.find(isRequiredForInjection) == notFound)
</span><span class="cx">                     m_decodedHTTPBody = String();
</span><span class="cx">                 if (m_decodedHTTPBody.length() &gt;= minimumLengthForSuffixTree)
</span><del>-                    m_decodedHTTPBodySuffixTree = adoptPtr(new SuffixTree&lt;ASCIICodebook&gt;(m_decodedHTTPBody, suffixTreeDepth));
</del><ins>+                    m_decodedHTTPBodySuffixTree = std::make_unique&lt;SuffixTree&lt;ASCIICodebook&gt;&gt;(m_decodedHTTPBody, suffixTreeDepth);
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -316,7 +316,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-OwnPtr&lt;XSSInfo&gt; XSSAuditor::filterToken(const FilterTokenRequest&amp; request)
</del><ins>+std::unique_ptr&lt;XSSInfo&gt; XSSAuditor::filterToken(const FilterTokenRequest&amp; request)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_state == Initialized);
</span><span class="cx">     if (!m_isEnabled || m_xssProtection == ContentSecurityPolicy::AllowReflectedXSS)
</span><span class="lines">@@ -332,12 +332,11 @@
</span><span class="cx">             filterEndToken(request);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (didBlockScript) {
-        bool didBlockEntirePage = (m_xssProtection == ContentSecurityPolicy::BlockReflectedXSS);
-        OwnPtr&lt;XSSInfo&gt; xssInfo = XSSInfo::create(didBlockEntirePage, m_didSendValidXSSProtectionHeader, m_didSendValidCSPHeader);
-        return xssInfo.release();
-    }
-    return nullptr;
</del><ins>+    if (!didBlockScript)
+        return nullptr;
+
+    bool didBlockEntirePage = (m_xssProtection == ContentSecurityPolicy::BlockReflectedXSS);
+    return std::make_unique&lt;XSSInfo&gt;(didBlockEntirePage, m_didSendValidXSSProtectionHeader, m_didSendValidCSPHeader);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool XSSAuditor::filterStartToken(const FilterTokenRequest&amp; request)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserXSSAuditorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/XSSAuditor.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/XSSAuditor.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/XSSAuditor.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     void init(Document*, XSSAuditorDelegate*);
</span><span class="cx">     void initForFragment();
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;XSSInfo&gt; filterToken(const FilterTokenRequest&amp;);
</del><ins>+    std::unique_ptr&lt;XSSInfo&gt; filterToken(const FilterTokenRequest&amp;);
</ins><span class="cx">     bool isSafeToSendToAnotherThread() const;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -113,7 +113,7 @@
</span><span class="cx"> 
</span><span class="cx">     String m_decodedURL;
</span><span class="cx">     String m_decodedHTTPBody;
</span><del>-    OwnPtr&lt;SuffixTree&lt;ASCIICodebook&gt;&gt; m_decodedHTTPBodySuffixTree;
</del><ins>+    std::unique_ptr&lt;SuffixTree&lt;ASCIICodebook&gt;&gt; m_decodedHTTPBodySuffixTree;
</ins><span class="cx"> 
</span><span class="cx">     State m_state;
</span><span class="cx">     String m_cachedDecodedSnippet;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserXSSAuditorDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/XSSAuditorDelegate.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/XSSAuditorDelegate.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/html/parser/XSSAuditorDelegate.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -39,23 +39,17 @@
</span><span class="cx"> 
</span><span class="cx"> class XSSInfo {
</span><span class="cx"> public:
</span><del>-    static OwnPtr&lt;XSSInfo&gt; create(bool didBlockEntirePage, bool didSendXSSProtectionHeader, bool didSendCSPHeader)
</del><ins>+    XSSInfo(bool didBlockEntirePage, bool didSendXSSProtectionHeader, bool didSendCSPHeader)
+        : m_didBlockEntirePage(didBlockEntirePage)
+        , m_didSendXSSProtectionHeader(didSendXSSProtectionHeader)
+        , m_didSendCSPHeader(didSendCSPHeader)
</ins><span class="cx">     {
</span><del>-        return adoptPtr(new XSSInfo(didBlockEntirePage, didSendXSSProtectionHeader, didSendCSPHeader));
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool m_didBlockEntirePage;
</span><span class="cx">     bool m_didSendXSSProtectionHeader;
</span><span class="cx">     bool m_didSendCSPHeader;
</span><span class="cx">     TextPosition m_textPosition;
</span><del>-
-private:
-    XSSInfo(bool didBlockEntirePage, bool didSendXSSProtectionHeader, bool didSendCSPHeader)
-        : m_didBlockEntirePage(didBlockEntirePage)
-        , m_didSendXSSProtectionHeader(didSendXSSProtectionHeader)
-        , m_didSendCSPHeader(didSendCSPHeader)
-    {
-    }
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class XSSAuditorDelegate {
</span><span class="lines">@@ -74,8 +68,6 @@
</span><span class="cx">     URL m_reportURL;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef Vector&lt;OwnPtr&lt;XSSInfo&gt;&gt; XSSInfoStream;
-
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderTextResourceDecodercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/TextResourceDecoder.cpp (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/TextResourceDecoder.cpp        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/loader/TextResourceDecoder.cpp        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -543,7 +543,7 @@
</span><span class="cx">     if (m_contentType == XML)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    m_charsetParser = HTMLMetaCharsetParser::create();
</del><ins>+    m_charsetParser = std::make_unique&lt;HTMLMetaCharsetParser&gt;();
</ins><span class="cx">     return checkForMetaCharset(data, len);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -553,7 +553,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     setEncoding(m_charsetParser-&gt;encoding(), EncodingFromMetaTag);
</span><del>-    m_charsetParser.clear();
</del><ins>+    m_charsetParser = nullptr;
</ins><span class="cx">     m_checkedForHeadCharset = true;
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderTextResourceDecoderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/TextResourceDecoder.h (162274 => 162275)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/TextResourceDecoder.h        2014-01-18 22:17:09 UTC (rev 162274)
+++ trunk/Source/WebCore/loader/TextResourceDecoder.h        2014-01-18 22:48:46 UTC (rev 162275)
</span><span class="lines">@@ -67,8 +67,7 @@
</span><span class="cx">     bool sawError() const { return m_sawError; }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    TextResourceDecoder(const String&amp; mimeType, const TextEncoding&amp; defaultEncoding,
-                        bool usesEncodingDetector);
</del><ins>+    TextResourceDecoder(const String&amp; mimeType, const TextEncoding&amp; defaultEncoding, bool usesEncodingDetector);
</ins><span class="cx"> 
</span><span class="cx">     enum ContentType { PlainText, HTML, XML, CSS }; // PlainText only checks for BOM.
</span><span class="cx">     static ContentType determineContentType(const String&amp; mimeType);
</span><span class="lines">@@ -94,7 +93,7 @@
</span><span class="cx">     bool m_sawError;
</span><span class="cx">     bool m_usesEncodingDetector;
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;HTMLMetaCharsetParser&gt; m_charsetParser;
</del><ins>+    std::unique_ptr&lt;HTMLMetaCharsetParser&gt; m_charsetParser;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre>
</div>
</div>

</body>
</html>