| | 1 | = Code Paths for Common Operations = |
| | 2 | |
| | 3 | == Constructing HTML Document == |
| | 4 | |
| | 5 | {{{ |
| | 6 | HTMLDocument::createTokenizer() |
| | 7 | Document::implicitOpen() |
| | 8 | FrameLoader::begin(const KURL&, bool dispatch, SecurityOrigin*) |
| | 9 | FrameLoader::receivedFirstData() |
| | 10 | }}} |
| | 11 | |
| | 12 | == Tokenizing HTML Document == |
| | 13 | |
| | 14 | From the moment, piece by piece of an HTML document is obtained from the network, this is what happens: |
| | 15 | |
| | 16 | {{{ |
| | 17 | HTMLTokenizer::write(const SegmentedString& str, bool appendData) |
| | 18 | FrameLoader::write(const char* data, int len, bool flush) |
| | 19 | FrameLoader::addData(const char* bytes, int length) |
| | 20 | FrameLoaderClientQt::committedLoad(DocumentLoader* loader, const char* data, int length) |
| | 21 | FrameLoader::committedLoad(DocumentLoader* loader, const char* data, int length) |
| | 22 | DocumentLoader::commitLoad(const char* data, int length) |
| | 23 | DocumentLoader::receivedData(const char* data, int length) |
| | 24 | FrameLoader::receivedData(const char* data, int length) |
| | 25 | MainResourceLoader::addData(const char* data, int length, bool allAtOnce) |
| | 26 | ResourceLoader::didReceivedData(const char* data, int length, long long received, bool allAtOnce) |
| | 27 | ResourceLoader::didReceiveData(ResourceHandle*, const char* data, int len, long long received) |
| | 28 | }}} |