| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2013 Google, Inc. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 } | 73 } |
| 74 | 74 |
| 75 static void checkThatXSSInfosAreSafeToSendToAnotherThread(const XSSInfoStream& i
nfos) | 75 static void checkThatXSSInfosAreSafeToSendToAnotherThread(const XSSInfoStream& i
nfos) |
| 76 { | 76 { |
| 77 for (size_t i = 0; i < infos.size(); ++i) | 77 for (size_t i = 0; i < infos.size(); ++i) |
| 78 ASSERT(infos[i]->isSafeToSendToAnotherThread()); | 78 ASSERT(infos[i]->isSafeToSendToAnotherThread()); |
| 79 } | 79 } |
| 80 | 80 |
| 81 #endif | 81 #endif |
| 82 | 82 |
| 83 void BackgroundHTMLParser::start(PassRefPtr<WeakReference<BackgroundHTMLParser>>
reference, PassOwnPtr<Configuration> config, PassOwnPtr<WebTaskRunner> loadingT
askRunner) | 83 void BackgroundHTMLParser::start(PassRefPtr<WeakReference<BackgroundHTMLParser>>
reference, PassOwnPtr<Configuration> config, const KURL& documentURL, PassOwnPt
r<CachedDocumentParameters> cachedDocumentParameters, const MediaValuesCached::M
ediaValuesCachedData& mediaValuesCachedData, PassOwnPtr<WebTaskRunner> loadingTa
skRunner) |
| 84 { | 84 { |
| 85 new BackgroundHTMLParser(reference, config, loadingTaskRunner); | 85 new BackgroundHTMLParser(reference, config, documentURL, cachedDocumentParam
eters, mediaValuesCachedData, loadingTaskRunner); |
| 86 // Caller must free by calling stop(). | 86 // Caller must free by calling stop(). |
| 87 } | 87 } |
| 88 | 88 |
| 89 BackgroundHTMLParser::Configuration::Configuration() | 89 BackgroundHTMLParser::Configuration::Configuration() |
| 90 : outstandingTokenLimit(defaultOutstandingTokenLimit) | 90 : outstandingTokenLimit(defaultOutstandingTokenLimit) |
| 91 , pendingTokenLimit(defaultPendingTokenLimit) | 91 , pendingTokenLimit(defaultPendingTokenLimit) |
| 92 { | 92 { |
| 93 } | 93 } |
| 94 | 94 |
| 95 BackgroundHTMLParser::BackgroundHTMLParser(PassRefPtr<WeakReference<BackgroundHT
MLParser>> reference, PassOwnPtr<Configuration> config, PassOwnPtr<WebTaskRunner
> loadingTaskRunner) | 95 BackgroundHTMLParser::BackgroundHTMLParser(PassRefPtr<WeakReference<BackgroundHT
MLParser>> reference, PassOwnPtr<Configuration> config, const KURL& documentURL,
PassOwnPtr<CachedDocumentParameters> cachedDocumentParameters, const MediaValue
sCached::MediaValuesCachedData& mediaValuesCachedData, PassOwnPtr<WebTaskRunner>
loadingTaskRunner) |
| 96 : m_weakFactory(reference, this) | 96 : m_weakFactory(reference, this) |
| 97 , m_token(adoptPtr(new HTMLToken)) | 97 , m_token(adoptPtr(new HTMLToken)) |
| 98 , m_tokenizer(HTMLTokenizer::create(config->options)) | 98 , m_tokenizer(HTMLTokenizer::create(config->options)) |
| 99 , m_treeBuilderSimulator(config->options) | 99 , m_treeBuilderSimulator(config->options) |
| 100 , m_options(config->options) | 100 , m_options(config->options) |
| 101 , m_outstandingTokenLimit(config->outstandingTokenLimit) | 101 , m_outstandingTokenLimit(config->outstandingTokenLimit) |
| 102 , m_parser(config->parser) | 102 , m_parser(config->parser) |
| 103 , m_pendingTokens(adoptPtr(new CompactHTMLTokenStream)) | 103 , m_pendingTokens(adoptPtr(new CompactHTMLTokenStream)) |
| 104 , m_pendingTokenLimit(config->pendingTokenLimit) | 104 , m_pendingTokenLimit(config->pendingTokenLimit) |
| 105 , m_xssAuditor(config->xssAuditor.release()) | 105 , m_xssAuditor(config->xssAuditor.release()) |
| 106 , m_preloadScanner(config->preloadScanner.release()) | 106 , m_preloadScanner(adoptPtr(new TokenPreloadScanner(documentURL, cachedDocum
entParameters, mediaValuesCachedData))) |
| 107 , m_decoder(config->decoder.release()) | 107 , m_decoder(config->decoder.release()) |
| 108 , m_loadingTaskRunner(loadingTaskRunner) | 108 , m_loadingTaskRunner(loadingTaskRunner) |
| 109 , m_parsedChunkQueue(config->parsedChunkQueue.release()) | 109 , m_parsedChunkQueue(config->parsedChunkQueue.release()) |
| 110 , m_startingScript(false) | 110 , m_startingScript(false) |
| 111 { | 111 { |
| 112 ASSERT(m_outstandingTokenLimit > 0); | 112 ASSERT(m_outstandingTokenLimit > 0); |
| 113 ASSERT(m_pendingTokenLimit > 0); | 113 ASSERT(m_pendingTokenLimit > 0); |
| 114 ASSERT(m_outstandingTokenLimit >= m_pendingTokenLimit); | 114 ASSERT(m_outstandingTokenLimit >= m_pendingTokenLimit); |
| 115 } | 115 } |
| 116 | 116 |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 296 if (isEmpty) { | 296 if (isEmpty) { |
| 297 m_loadingTaskRunner->postTask( | 297 m_loadingTaskRunner->postTask( |
| 298 BLINK_FROM_HERE, | 298 BLINK_FROM_HERE, |
| 299 new Task(threadSafeBind(&HTMLDocumentParser::notifyPendingParsedChun
ks, AllowCrossThreadAccess(m_parser)))); | 299 new Task(threadSafeBind(&HTMLDocumentParser::notifyPendingParsedChun
ks, AllowCrossThreadAccess(m_parser)))); |
| 300 } | 300 } |
| 301 | 301 |
| 302 m_pendingTokens = adoptPtr(new CompactHTMLTokenStream); | 302 m_pendingTokens = adoptPtr(new CompactHTMLTokenStream); |
| 303 } | 303 } |
| 304 | 304 |
| 305 } // namespace blink | 305 } // namespace blink |
| OLD | NEW |