赞
踩
1. receive data to parser
for chromium stack
WebUrlLoaderClient::didReceiveData
ResourceLoader::didReceiveData
MainResourceLoader::didReceiveData
ResourceLoader::didReceiveData
MainResourceLoader::addData
DocumentLoader::receivedData
DocumentLoader::commitLoad
FrameLoaderClient::committedLoad (FrameLoaderClientAndroid.cpp)
//also call ResourceLoader::didReceiveResponse
DocumentLoader::commitData(also call DocumentWrite:setEncoding to create the document.)
DocumentWriter::addData
DecodedDataDocumentParser::appendBytes
HTMLDocumentParser::append
HTMLDocumentParser::pumpTokenizerIfPossible
HTMLDocumentParser::pumpTokenizer
HTMLTokenizer::nextToken
2. Lexical Parsing
HTMLTokenizer::nextToken
parser state
3. Grammer Parsing
HTMLDocumentParser::pumpTokenizer
4. Script Parsing
void HTMLDocumentParser::pumpTokenizer(SynchronousMode mode)
bool HTMLDocumentParser::canTakeNextToken(SynchronousMode mode, PumpSession& session)
bool HTMLDocumentParser::runScriptsForPausedTreeBuilder() //m_treeBuilder->setPaused(!shouldContinueParsing);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。