| Version 5 (modified by , 16 years ago) ( diff ) |
|---|
Code Paths for Common Operations
Constructing HTML tokenizer
HTMLDocument::createTokenizer() Document::implicitOpen() FrameLoader::begin(const KURL&, bool dispatch, SecurityOrigin*) FrameLoader::receivedFirstData()
Tokenizing HTML document
From the moment, piece by piece of an HTML document is obtained from the network, this is what happens:
HTMLTokenizer::write(const SegmentedString& str, bool appendData) FrameLoader::write(const char* data, int len, bool flush) FrameLoader::addData(const char* bytes, int length) FrameLoaderClientQt::committedLoad(DocumentLoader* loader, const char* data, int length) FrameLoader::committedLoad(DocumentLoader* loader, const char* data, int length) DocumentLoader::commitLoad(const char* data, int length) DocumentLoader::receivedData(const char* data, int length) FrameLoader::receivedData(const char* data, int length) MainResourceLoader::addData(const char* data, int length, bool allAtOnce) ResourceLoader::didReceivedData(const char* data, int length, long long received, bool allAtOnce) ResourceLoader::didReceiveData(ResourceHandle*, const char* data, int len, long long received)
Painting a push button
RenderTheme[Gtk,Wx,Qt]::paintButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) RenderTheme::paint(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) RenderBox::paintBoxDecorations(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) InlineBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) InlineFlowBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RootInlineBox::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderLineBoxList::paint(RenderBoxModelObject* renderer, RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintContents(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintChildren(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintContents(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintChildren(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintContents(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paintObject(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderBlock::paint(RenderObject::PaintInfo& paintInfo, int tx, int ty) RenderLayer::paintLayer(RenderLayer*, GraphicsContext*, const IntRect& paintDirtyRect, PaintRestriction paintRestriction, RenderObject* paintingRoot, RenderObject::OverlapTestRequestMap* overlapTestRequests, PaintLayerFlags paintFlags) RenderLayer::paint(GraphicsContext* p, const IntRect& damageRect, PaintRestriction paintRestriction, RenderObject *paintingRoot) FrameView::paintContents(GraphicsContext* p, const IntRect& rect) ScrollView::paint(GraphicsContext* p, const IntRect& rect)
Decoding image data
Shown here for the Qt port, might vary a bit for other ports.
ImageDecoderQt::setData(const IncomingData &data, bool allDataReceived) ImageSource::setData(SharedBuffer* data, bool allDataReceived) BitmapImage::dataChanged(bool allDataReceived) Image::setData(PassRefPtr<SharedBuffer> data, bool allDataReceived) CachedImage::data(PassRefPtr<SharedBuffer> data, bool allDataReceived) Loader::Host::didReceiveData(SubresourceLoader* loader, const char* data, int size) SubresourceLoader::didReceiveData(const char* data, int length, long long lengthReceived, bool allAtOnce) ResourceLoader::didReceiveData(ResourceHandle*, const char* data, int length, int lengthReceived)
Get data from network
Shown here for the Qt port, might vary a bit for other ports.
QNetworkReplyHandler::start()
QNetworkReplyHandler(ResourceHandle* handle, LoadMode loadMode)
ResourceHandle::start(Frame* frame)
ResourceHandle::create(const ResourceRequest& request, ResourceHandleClient* client,
Frame* frame, bool defersLoading, bool shouldContentSniff, bool mightDownloadFromHandle)
MainResourceLoader::loadNow(ResourceRequest& r)
MainResourceLoader::load(const ResourceRequest& r, const SubstituteData& substituteData)
DocumentLoader::startLoadingMainResource(unsigned long identifier)
FrameLoader::continueLoadAfterWillSubmitForm(PolicyAction)
FrameLoader::continueLoadAfterNavigationPolicy(const ResourceRequest&, PassRefPtr<FormState> formState, bool shouldContinue)
FrameLoader::callContinueLoadAfterNavigationPolicy(void* argument,
const ResourceRequest& request, PassRefPtr<FormState> formState, bool shouldContinue)
PolicyCheck::call(bool shouldContinue)
FrameLoader::continueAfterNavigationPolicy(PolicyAction policy)
FrameLoaderClientQt::callPolicyFunction(FramePolicyFunction function, PolicyAction action)
FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function,
const WebCore::NavigationAction& action, const WebCore::ResourceRequest& request,
PassRefPtr<WebCore::FormState>)
FrameLoader::checkNavigationPolicy(const ResourceRequest& request, DocumentLoader* loader,
PassRefPtr<FormState> formState, NavigationPolicyDecisionFunction function, void* argument)
FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType type, PassRefPtr<FormState> prpFormState)
FrameLoader::load(DocumentLoader* newDocumentLoader)
FrameLoader::load(const ResourceRequest& request, const String& frameName, bool lockHistory)
FrameLoader::load(const ResourceRequest& request, bool lockHistory)
QWebFrame::load(const QNetworkRequest &req, QNetworkAccessManager::Operation operation,
const QByteArray &body)
QWebFrame::load(const QUrl &url)
Note:
See TracWiki
for help on using the wiki.