南岳秦戟

导航

 

WebFrame::loadHTMLString  

2010-09-05 09:47:54|  分类: WebKit|字号 订阅

 
 
WebFrame::loadHTMLString(string, baseURL)
    >loadHTMLString(string, baseURL, unreachableURL);
        >loadData(data, mimeType, textEncodingName, baseURL, failingURL)
            >FrameLoader::load(request, substituteData, lockHistory)
                >m_client->createDocumentLoader(request, substituteData);
                >load(newDocumentLoader)
                    >addExtraFieldsToMainResourceRequest(request)
                    >loadWithDocumentLoader(loader, type, prpFormState)
                        >stopPolicyCheck()
                        >setPolicyDocumentLoader(loader)
                            >DocumentLoader::setFrame(frame)
                                >WebDocumentLoader::attachToFrame()
                        >DocumentLoader::setTriggeringAction(action)
                        >checkNavigationPolicy
                            >callContinueLoadAfterNavigationPolicy
                                >continueLoadAfterNavigationPolicy
                                    >stopAllLoaders
                                        >stopPolicyCheck
                                        >stopLoadingSubframes
                                        >DocumentLoader::stopLoading
                                        >setProvisionalDocumentLoader(0)
                                        >DocumentLoader::clearArchiveResources
                                    >setProvisionalDocumentLoader(m_policyDocumentLoader.get())
                                    >setState(FrameStateProvisional)
                                        >provisionalLoadStarted()
                                            >cancelRedirection(true)
                                            >FrameLoaderClient::provisionalLoadStarted()----
                                                                                       >FrameLoaderClientAndroid::provisionalLoadStarted
                                                                                                >BrowserFrame.loadStarted(..)//调用到应用层
                                    >setPolicyDocumentLoader(0)
                                    >continueLoadAfterWillSubmitForm();
                                        >DocumentLoader::prepareForLoadStart
                                            >setPrimaryLoadComplete(false);
                                            >clearErrors();
                                            >setLoading(true);
                                            >FrameLoader::prepareForLoadStart
                                                >ProgressTracker::progressStarted
                                        >ProgressTracker::createUniqueIdentifier
                                        >DocumentLoader::startLoadingMainResource(identifier)
                                            >MainResourceLoader::create(frame)
                                            >ResourceLoader::setIdentifier(identifier)
                                            >MainResourceLoader::load(r, substituteData)
                                                >loadNow(r)
                                                    >willSendRequest(newRequest, redirectResponse)
                                                        >ResourceLoader::willSendRequest(newRequest, redirectResponse)
                                                            >FrameLoader::willSendRequest
                                                                >applyUserAgent
                                                                >dispatchWillSendRequest
                                                                    >DocumentLoader::didTellClientAboutLoad
                                                                    >WebFrameLoaderClient::dispatchWillSendRequest
                                                                    >InspectorController::willSendRequest
                                                        >DocumentLoader::setRequest
                                                    >handleDataLoadSoon
                                                        >startDataLoadTimer
                                                    >ResourceHandle::create(r, this, m_frame.get(), false, true, true)
                                                                                                 >ResourceHandle::start
                                                                                                        >ResourceLoaderAndroid::start
                                                                                                             >clientAndroid->webFrame()->startLoadingResource
                                                                                                                 >env->CallObjectMethod(mStartLoadingResource
                                                                                                                       >调用应用层的browserframe的startLoadingResource方法
                            >DocumentLoader::setLastCheckedRequest
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>MainResourceLoader::didReceiveData
    >ResourceLoader::didReceiveData
        >MainResourceLoader::addData
            >ResourceLoader::addData
                >m_resourceData = SharedBuffer::create
            >FrameLoader::receivedData
                >DocumentLoader::receivedData
                    >m_gotFirstByte = true;
                    >doesProgressiveLoad
                    >commitLoad
                        >commitIfReady*
                        >FrameLoader::committedLoad*
        >FrameLoader::didReceiveData
            >ProgressTracker::incrementProgress
            >dispatchDidReceiveContentLength
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>FrameLoader::addData
    >write
        >m_decoder = TextResourceDecoder::create
        >m_decoder->setEncoding
        >Document::setDecoder
        >TextResourceDecoder::decode
            >checkForBOM
        >m_receivedData = true;
        >Document::recalcStyle
            > m_inStyleRecalc = true;
            >ContainerNode::suspendPostAttachCallbacks
            >FrameView::pauseScheduledEvents
            >m_hasNodesWithPlaceholderStyle = false;
            >RenderStyle::create
            >documentStyle->setDisplay(BLOCK);
            >documentStyle->setVisuallyOrdered(visuallyOrdered);
            >documentStyle->setZoom(frame()->pageZoomFactor());
            >m_styleSelector->setStyle(documentStyle);
            >setNeedsStyleRecalc(NoStyleChange);
            >setChildNeedsStyleRecalc(false);
            >unscheduleStyleRecalc
            >FrameView::resumeScheduledEvents
            >ContainerNode::resumePostAttachCallbacks
            >m_inStyleRecalc = false;
        >HTMLTokenizer::write

FrameLoader::committedLoad  

2010-09-05 12:08:42|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>FrameLoader::committedLoad
    >m_client->committedLoad(loader, data, length);
        >receivedData
            >FrameLoader::setEncoding
                >receivedFirstData
                    >begin(m_workingURL, false);
                    >dispatchDidCommitLoad()
                        >m_client->dispatchDidCommitLoad();
                            >WinLauncherWebHost::didCommitLoadForFrame
                                >WinLauncherWebHost::updateAddressBar
                    >dispatchWindowObjectAvailable
                    >m_workingURL = KURL();
                >m_encoding = name;
                >m_encodingWasChosenByUser = userChosen;
            >FrameLoader::addData*
 

WebFrameLoaderClient::transitionToCommittedForNewPage  

2010-09-05 12:14:34|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>WebFrameLoaderClient::transitionToCommittedForNewPage
    >Frame::createView
        >ScrollView::setParentVisible
            >Widget::setParentVisible
        >setView(0);
            >Document::detach()*
            >m_view->unscheduleRelayout();
            >EventHandler::clear()
            >FrameLoader::resetMultipleFormSubmissionProtection()
                >m_submittedFormURL = KURL();
        >FrameView::create
            >Widget::setFrameRect
            >ScrollView::show()
        >frameView->setFixedLayoutSize
        >frameView->setScrollbarModes
        >frameView->updateDefaultScrollbarState
        >setView(frameView);
        >frameView->updateBackgroundRecursively
        >frameView->setParentVisible(true)

FrameLoader::closeURL  

2010-09-05 12:20:03|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>FrameLoader::closeURL
    >saveDocumentState
    >stopLoading
        >DOMWindow::dispatchPageTransitionEvent
            >dispatchEventWithDocumentAsTarget
                >handleEvent
        >Document::updateStyleIfNeeded
        >Document::removeAllEventListeners
            >DOMWindow::removeAllEventListeners
            >removeAllDisconnectedNodeEventListeners
        >Loader::cancelRequests
            >DocLoader::clearPendingPreloads
            >Loader::Host::hasRequests
            >scheduleServePendingRequests
                >TimerBase::startOneShot
        >cancelRedirection
    >Editor::clearUndoRedoOperations

DocumentLoader::commitIfReady  

2010-09-05 12:22:13|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>DocumentLoader::commitIfReady
    >m_committed = true;
    >FrameLoader::commitProvisionalLoad(0)
        >cachePageForHistoryItem
        >closeOldDataSources
            >WebFrameLoaderClient::dispatchWillClose
            >WebFrameLoaderClient::setMainFrameDocumentReady(false)
        >WebFrame::makeRepresentation
        >transitionToCommitted
            >WebFrame::setCopiesOnScroll
            >updateHistoryForCommit
            >closeURL*
            >DocumentLoader::stopLoadingSubresources
            >DocumentLoader::stopLoadingPlugIns
            >setDocumentLoader
            >setProvisionalDocumentLoader(0)
            >setState(FrameStateCommittedPage);
            >updateHistoryForStandardLoad
            >ScrollView::setScrollbarsSuppressed
            >WebFrameLoaderClient::transitionToCommittedForNewPage*
            >m_responseMIMEType = dl->responseMIMEType();
            >m_committedFirstRealDocumentLoad = true;
        >didOpenURL
            >cancelRedirection
                >stopRedirectionTimer();
            >Editor::clearLastEditCommand()
            >closeURL()
            >m_URL = url;
            >m_workingURL = m_URL;
            >started()

Document::detach  

2010-09-05 12:25:01|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>Document::detach()
    >clearAXObjectCache
    >ScriptExecutionContext::stopActiveDOMObjects
    >render = renderer();
    >documentWillBecomeInactive
    >FrameView::detachCustomScrollbars
    >Node::setRenderer(0);
    >ContainerNode::detach
        >setChildNeedsStyleRecalc(false);
        >Node::detach()
    >unscheduleStyleRecalc()
    >RenderBlock::destroy()
    >m_frame = 0;

MainResourceLoader::handleDataLoadNow  

2010-09-05 18:18:18|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈)
 
MainResourceLoader::handleDataLoadNow
    >didReceiveResponse
        >m_documentLoader->setResponse(r)
        >ref
        >FrameLoader::checkContentPolicy
            >MainResourceLoader::callContinueAfterContentPolicy
                >continueAfterContentPolicy(policy)
                    >continueAfterContentPolicy(contentPolicy, response)
                        >ResourceLoader::reachedTerminalState
                        >ResourceLoader::didReceiveResponse
                            >FrameLoader::didReceiveResponse
                                >DocumentLoader::addResponse
                                >ProgressTracker::incrementProgress
                                >dispatchDidReceiveResponse
                                    >WebFrameLoaderClient::dispatchDidReceiveResponse
                                    >InspectorController::didReceiveResponse
                        >didReceiveData
                            >ResourceLoader::didReceiveData
                                >MainResourceLoader::addData
                                    >ResourceLoader::addData
                                        >m_resourceData = SharedBuffer::create
                                    >FrameLoader::receivedData
                                        >DocumentLoader::receivedData
                                            >m_gotFirstByte = true;
                                            >doesProgressiveLoad
                                            >commitLoad
                                                >commitIfReady
                                                    >m_committed = true;
                                                    >FrameLoader::commitProvisionalLoad(0)
                                                        >cachePageForHistoryItem
                                                        >closeOldDataSources
                                                            >WebFrameLoaderClient::dispatchWillClose
                                                            >WebFrameLoaderClient::setMainFrameDocumentReady(false)
                                                        >WebFrame::makeRepresentation
                                                        >transitionToCommitted
                                                            >WebFrame::setCopiesOnScroll
                                                            >updateHistoryForCommit
                                                            >closeURL
                                                                >saveDocumentState
                                                                >stopLoading
                                                                    >DOMWindow::dispatchPageTransitionEvent
                                                                        >dispatchEventWithDocumentAsTarget
                                                                            >handleEvent
                                                                    >Document::updateStyleIfNeeded
                                                                    >Document::removeAllEventListeners
                                                                        >DOMWindow::removeAllEventListeners
                                                                        >removeAllDisconnectedNodeEventListeners
                                                                    >Loader::cancelRequests
                                                                        >DocLoader::clearPendingPreloads
                                                                        >Loader::Host::hasRequests
                                                                        >scheduleServePendingRequests
                                                                            >TimerBase::startOneShot
                                                                    >cancelRedirection
                                                                >Editor::clearUndoRedoOperations
                                                            >DocumentLoader::stopLoadingSubresources
                                                            >DocumentLoader::stopLoadingPlugIns
                                                            >setDocumentLoader
                                                            >setProvisionalDocumentLoader(0)
                                                            >setState(FrameStateCommittedPage);
                                                            >updateHistoryForStandardLoad
                                                            >ScrollView::setScrollbarsSuppressed
                                                            >WebFrameLoaderClient::transitionToCommittedForNewPage
                                                                >Frame::createView
                                                                    >ScrollView::setParentVisible
                                                                        >Widget::setParentVisible
                                                                    >setView(0);
                                                                        >Document::detach()
                                                                            >clearAXObjectCache
                                                                            >ScriptExecutionContext::stopActiveDOMObjects
                                                                            >render = renderer();
                                                                            >documentWillBecomeInactive
                                                                            >FrameView::detachCustomScrollbars
                                                                            >Node::setRenderer(0);
                                                                            >ContainerNode::detach
                                                                                >setChildNeedsStyleRecalc(false);
                                                                                >Node::detach()
                                                                            >unscheduleStyleRecalc()
                                                                            >RenderBlock::destroy()
                                                                            >m_frame = 0;
                                                                        >m_view->unscheduleRelayout();
                                                                        >EventHandler::clear()
                                                                        >FrameLoader::resetMultipleFormSubmissionProtection()
                                                                            >m_submittedFormURL = KURL();
                                                                    >FrameView::create
                                                                        >Widget::setFrameRect
                                                                        >ScrollView::show()
                                                                    >frameView->setFixedLayoutSize
                                                                    >frameView->setScrollbarModes
                                                                    >frameView->updateDefaultScrollbarState
                                                                    >setView(frameView);
                                                                    >frameView->updateBackgroundRecursively
                                                                    >frameView->setParentVisible(true)
                                                            >m_responseMIMEType = dl->responseMIMEType();
                                                            >m_committedFirstRealDocumentLoad = true;
                                                        >didOpenURL
                                                            >cancelRedirection
                                                                >stopRedirectionTimer();
                                                            >Editor::clearLastEditCommand()
                                                            >closeURL()
                                                            >m_URL = url;
                                                            >m_workingURL = m_URL;
                                                            >started()
                                                >FrameLoader::committedLoad
                                                    >m_client->committedLoad(loader, data, length);
                                                        >receivedData
                                                            >FrameLoader::setEncoding
                                                                >receivedFirstData
                                                                    >begin(m_workingURL, false);
                                                                    >dispatchDidCommitLoad()
                                                                        >m_client->dispatchDidCommitLoad();
                                                                            >WinLauncherWebHost::didCommitLoadForFrame
                                                                                >WinLauncherWebHost::updateAddressBar
                                                                    >dispatchWindowObjectAvailable
                                                                    >m_workingURL = KURL();
                                                                >m_encoding = name;
                                                                >m_encodingWasChosenByUser = userChosen;
                                                            >FrameLoader::addData
                                                                >write
                                                                    >m_decoder = TextResourceDecoder::create
                                                                    >m_decoder->setEncoding
                                                                    >Document::setDecoder
                                                                    >TextResourceDecoder::decode
                                                                        >checkForBOM
                                                                    >m_receivedData = true;
                                                                    >Document::recalcStyle
                                                                        > m_inStyleRecalc = true;
                                                                        >ContainerNode::suspendPostAttachCallbacks
                                                                        >FrameView::pauseScheduledEvents
                                                                        >m_hasNodesWithPlaceholderStyle = false;
                                                                        >RenderStyle::create
                                                                        >documentStyle->setDisplay(BLOCK);
                                                                        >documentStyle->setVisuallyOrdered(visuallyOrdered);
                                                                        >documentStyle->setZoom(frame()->pageZoomFactor());
                                                                        >m_styleSelector->setStyle(documentStyle);
                                                                        >setNeedsStyleRecalc(NoStyleChange);
                                                                        >setChildNeedsStyleRecalc(false);
                                                                        >unscheduleStyleRecalc
                                                                        >FrameView::resumeScheduledEvents
                                                                        >ContainerNode::resumePostAttachCallbacks
                                                                        >m_inStyleRecalc = false;
                                                                    >HTMLTokenizer::write
                                >FrameLoader::didReceiveData
                                    >ProgressTracker::incrementProgress
                                    >dispatchDidReceiveContentLength
                        >didFinishLoading
                            >FrameLoader::finishedLoading()
                                >DocumentLoader::finishedLoading()
                                    >m_gotFirstByte = true;
                                    >commitIfReady();
                                    >FrameLoader::finishedLoadingDocument
                                        >WebFrameLoaderClient::finishedLoading
                                            >committedLoad
                                                >receivedData
                                    >FrameLoader::end
                                        >m_isLoadingMainResource = false;
                                        >endIfNotLoadingMainResource
                                            >write(0, 0, true);
                                            >Document::finishParsing()
                                                >HTMLTokenizer::finish()
                                                    >end()
                                                        >HTMLParser::finished()
                                                            >Document::finishedParsing()
                                                                >setParsing(false);
                                                                    >m_bParsing = b;
                                                                    >FrameView::scheduleRelayout()
                                                                        >needsLayout()
                                                                            >layoutPending()
                                                                                >m_layoutTimer.isActive();
                                                                        >Document::shouldScheduleLayout()
                                                                >dispatchEvent
                                                                    >Node::dispatchGenericEvent
                                                                >FrameLoader::finishedParsing()
                                                                    >WebFrameLoaderClient::dispatchDidFinishDocumentLoad()
                                                                    >checkCompleted()
                                                                        >checkCallImplicitClose
                                                                            >m_didCallImplicitClose = true;
                                                                            >m_wasUnloadEventEmitted = false;
                                                                            >Document::implicitClose
                                                                                >m_processingLoadEvent = true;
                                                                                >m_wellFormed = m_tokenizer && m_tokenizer->wellFormed();
                                                                                >delete m_tokenizer;
                                                                                >m_tokenizer = 0;
                                                                                >m_docLoader->clearPreloads();
                                                                                >FrameLoader::startIconLoader()
                                                                                >AnimationController::resumeAnimations
                                                                                >ImageLoader::dispatchPendingLoadEvents();
                                                                                >dispatchLoadEvent
                                                                                    >DOMWindow::dispatchLoadEvent
                                                                                >dispatchPageTransitionEvent
                                                                                >FrameLoader::handledOnloadEvents
                                                                                    >WebFrameLoaderClient::dispatchDidHandleOnloadEvents
                                                                                >m_processingLoadEvent = false;
                                                                                >FrameLoader::checkCallImplicitClose
                                                                                >m_overMinimumLayoutThreshold = true;
                                                                                >updateStyleIfNeeded
                                                                                >FrameView::layout
                                                                                    >m_layoutTimer.stop();
                                                                                    >m_delayedLayout = false;
                                                                                    >m_setNeedsLayoutWasDeferred = false;
                                                                                    >isPainting()
                                                                                    >m_layoutSchedulingEnabled = false;
                                                                                    >CSSStyleSelector::affectedByViewportChange()
                                                                                    >Frame::needsReapplyStyles()
                                                                                    >m_nestedLayoutCount++;
                                                                                    >applyOverflowToViewport
                                                                                    >pauseScheduledEvents()
                                                                                    >beginDeferredRepaints()
                                                                                    >root->layout();[RenderView::layout()]
                                                                                        >RenderBlock::layout()
                                                                                        >RenderBox::addLayoutOverflow
                                                                                        >setNeedsLayout(false);
                                                                                    >endDeferredRepaints();
                                                                                        >doDeferredRepaints
                                                                        >completed()
                                                                            >FrameView::maintainScrollPositionAtAnchor(0)
                                                                        >checkLoadComplete()
                                                                            >recursiveCheckLoadComplete
                                                                                >checkLoadCompleteForThisFrame
                                                                    >FrameView::restoreScrollbar()
                                                                        >setScrollbarsSuppressed(false);
                                                                    >gotoAnchor()
                                >DocumentLoader::setPrimaryLoadComplete(true)
                                    >updateLoading
                                        >setLoading
                                >WebFrameLoaderClient::dispatchDidLoadMainResource
                                >checkLoadComplete
                            >ResourceLoader::didFinishLoading()
                                >didFinishLoadingOnePart
                                    >m_calledDidFinishLoad = true;
                                    >FrameLoader::didFinishLoad
                                        >ProgressTracker::completeProgress
                                        >dispatchDidFinishLoading
                                            >WebFrameLoaderClient::dispatchDidFinishLoading
                                >releaseResources
                                    >m_frame = 0;
                                    >m_documentLoader = 0;
                                    >m_reachedTerminalState = true;
                                    >m_identifier = 0;
                                    >m_resourceData = 0;
                                    >m_deferredRequest = ResourceRequest();
                            >ApplicationCacheHost::finishedLoadingMainResource()
                    >deref();
 

FrameView::layout  

2010-09-05 18:22:28|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>FrameView::layout
    >m_layoutTimer.stop();
    >m_delayedLayout = false;
    >m_setNeedsLayoutWasDeferred = false;
    >isPainting()
    >m_layoutSchedulingEnabled = false;
    >CSSStyleSelector::affectedByViewportChange()
    >Frame::needsReapplyStyles()
    >m_nestedLayoutCount++;
    >applyOverflowToViewport
    >pauseScheduledEvents()
    >beginDeferredRepaints()
    >root->layout();[RenderView::layout()]
        >RenderBlock::layout()
        >RenderBox::addLayoutOverflow
        >setNeedsLayout(false);
    >endDeferredRepaints();
        >doDeferredRepaints
 

Document::implicitClose  

2010-09-05 18:28:32|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>Document::implicitClose
    >m_processingLoadEvent = true;
    >m_wellFormed = m_tokenizer && m_tokenizer->wellFormed();
    >delete m_tokenizer;
    >m_tokenizer = 0;
    >m_docLoader->clearPreloads();
    >FrameLoader::startIconLoader()
    >AnimationController::resumeAnimations
    >ImageLoader::dispatchPendingLoadEvents();
    >dispatchLoadEvent
        >DOMWindow::dispatchLoadEvent
    >dispatchPageTransitionEvent
    >FrameLoader::handledOnloadEvents
        >WebFrameLoaderClient::dispatchDidHandleOnloadEvents
    >m_processingLoadEvent = false;
    >FrameLoader::checkCallImplicitClose
    >m_overMinimumLayoutThreshold = true;
    >updateStyleIfNeeded
    >FrameView::layout*

HTMLTokenizer::finish  

2010-09-05 18:31:56|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>HTMLTokenizer::finish()
    >end()
        >HTMLParser::finished()
            >Document::finishedParsing()
                >setParsing(false);
                    >m_bParsing = b;
                    >FrameView::scheduleRelayout()
                        >needsLayout()
                            >layoutPending()
                                >m_layoutTimer.isActive();
                        >Document::shouldScheduleLayout()
                >dispatchEvent
                    >Node::dispatchGenericEvent
                >FrameLoader::finishedParsing()
                    >WebFrameLoaderClient::dispatchDidFinishDocumentLoad()
                    >checkCompleted()
                        >checkCallImplicitClose
                            >m_didCallImplicitClose = true;
                            >m_wasUnloadEventEmitted = false;
                            >Document::implicitClose*
                        >completed()
                            >FrameView::maintainScrollPositionAtAnchor(0)
                        >checkLoadComplete()
                            >recursiveCheckLoadComplete
                                >checkLoadCompleteForThisFrame
                    >FrameView::restoreScrollbar()
                        >setScrollbarsSuppressed(false);
                    >gotoAnchor()
 

FrameLoader::finishedLoading  

2010-09-05 18:35:30|  分类: WebKit|字号 订阅

 
 
(WebFrame::loadHTMLString之后MainResourceLoader::handleDataLoadNow的调用栈片段)
 
>FrameLoader::finishedLoading()
    >DocumentLoader::finishedLoading()
        >m_gotFirstByte = true;
        >commitIfReady();
        >FrameLoader::finishedLoadingDocument
            >WebFrameLoaderClient::finishedLoading
                >committedLoad
                    >receivedData
        >FrameLoader::end
            >m_isLoadingMainResource = false;
            >endIfNotLoadingMainResource
                >write(0, 0, true);
                >Document::finishParsing()
                    >HTMLTokenizer::finish()*
    >DocumentLoader::setPrimaryLoadComplete(true)
        >updateLoading
            >setLoading
    >WebFrameLoaderClient::dispatchDidLoadMainResource
    >checkLoadComplete
posted on 2013-09-01 22:18  南岳秦戟  阅读(413)  评论(0编辑  收藏  举报