Chromium Code Reviews| Index: third_party/WebKit/Source/core/html/parser/BackgroundHTMLParser.cpp |
| diff --git a/third_party/WebKit/Source/core/html/parser/BackgroundHTMLParser.cpp b/third_party/WebKit/Source/core/html/parser/BackgroundHTMLParser.cpp |
| index 932f73768bb1219148257557de27cc615ab216e8..956a2f313aabe2e5414004e64655a3819a22d673 100644 |
| --- a/third_party/WebKit/Source/core/html/parser/BackgroundHTMLParser.cpp |
| +++ b/third_party/WebKit/Source/core/html/parser/BackgroundHTMLParser.cpp |
| @@ -112,6 +112,7 @@ BackgroundHTMLParser::BackgroundHTMLParser(PassRefPtr<WeakReference<BackgroundHT |
| , m_decoder(std::move(config->decoder)) |
| , m_loadingTaskRunner(std::move(loadingTaskRunner)) |
| , m_tokenizedChunkQueue(config->tokenizedChunkQueue.release()) |
| + , m_pendingCSPMetaTokenIndex(-1) |
| , m_startingScript(false) |
| , m_lastBytesReceivedTime(0.0) |
| , m_shouldCoalesceChunks(config->shouldCoalesceChunks) |
| @@ -252,7 +253,8 @@ void BackgroundHTMLParser::pumpTokenizer() |
| CompactHTMLToken token(m_token.get(), position); |
| bool shouldEvaluateForDocumentWrite = false; |
| - m_preloadScanner->scan(token, m_input.current(), m_pendingPreloads, &m_viewportDescription, &shouldEvaluateForDocumentWrite); |
| + bool isCSPMetaTag = false; |
| + m_preloadScanner->scan(token, m_input.current(), m_pendingPreloads, &m_viewportDescription, &isCSPMetaTag, &shouldEvaluateForDocumentWrite); |
| simulatedToken = m_treeBuilderSimulator.simulate(token, m_tokenizer.get()); |
| @@ -264,6 +266,9 @@ void BackgroundHTMLParser::pumpTokenizer() |
| } |
| m_pendingTokens->append(token); |
| + if (isCSPMetaTag) { |
| + m_pendingCSPMetaTokenIndex = m_pendingTokens->size() - 1; |
| + } |
| if (shouldEvaluateForDocumentWrite) { |
| m_likelyDocumentWriteScriptIndices.append(m_pendingTokens->size() - 1); |
| } |
| @@ -324,7 +329,9 @@ bool BackgroundHTMLParser::queueChunkForMainThread() |
| chunk->tokens = std::move(m_pendingTokens); |
| chunk->startingScript = m_startingScript; |
| chunk->likelyDocumentWriteScriptIndices.swap(m_likelyDocumentWriteScriptIndices); |
| + chunk->pendingCSPMetaTokenIndex = m_pendingCSPMetaTokenIndex; |
|
kouhei (in TOK)
2016/08/23 02:18:39
single space after =
Charlie Harrison
2016/08/23 03:08:41
Done.
|
| m_startingScript = false; |
| + m_pendingCSPMetaTokenIndex = -1; |
| bool isEmpty = m_tokenizedChunkQueue->enqueue(std::move(chunk)); |