hello, when I debug mozilla to open html page,
I noticed that PresShell::NotifyReflowObservers() to be called three times to open one html page.
I think maybe it is an waste of time.

I print call stack here.
I think at least the second call could be removed.

PresShell::NotifyReflowObservers(const char * 0x032c2cf0) line 2515
PresShell::ResizeReflow(PresShell * const 0x03f01120, int 15330, int 9060) line 2762
PresShell::ResizeReflow(PresShell * const 0x03f01124, nsIView * 0x03f092d0, int 15330, int 9060) line 6080
nsViewManager::SetWindowDimensions(nsViewManager * const 0x03d7ddc0, int 15330, int 9060) line 587
DocumentViewerImpl::Init(DocumentViewerImpl * const 0x03d0cd80, nsIWidget * 0x03d4de0c, nsIDeviceContext * 0x036f7d98, const nsRect & {...}) line 1183
nsDocShell::SetupNewViewer(nsDocShell * const 0x03d438e0, nsIContentViewer * 0x03d0cd80) line 4215 + 66 bytes
nsDocShell::Embed(nsDocShell * const 0x03d43904, nsIContentViewer * 0x03d0cd80, const char * 0x02ce9fc0, nsISupports * 0x00000000) line 3587 + 23 bytes
nsDocShell::CreateContentViewer(nsDocShell * const 0x03d438e0, const char * 0x0012fbfc, nsIRequest * 0x03ee44e8, nsIStreamListener * * 0x0012fc4c) line 3966 + 32 bytes
nsDSURIContentListener::DoContent(nsDSURIContentListener * const 0x03c68ae8, const char * 0x0012fbfc, int 0, nsIRequest * 0x03ee44e8, nsIStreamListener * * 0x0012fc4c, int * 0x0012fbe8) line 107 + 33 bytes
nsDocumentOpenInfo::DispatchContent(nsIRequest * 0x03ee44e8, nsISupports * 0x00000000) line 355 + 87 bytes
nsDocumentOpenInfo::OnStartRequest(nsDocumentOpenInfo * const 0x03d4a800, nsIRequest * 0x03ee44e8, nsISupports * 0x00000000) line 226 + 16 bytes
nsFileChannel::OnStartRequest(nsFileChannel * const 0x03ee44f0, nsIRequest * 0x03f08ab4, nsISupports * 0x00000000) line 462 + 37 bytes


PresShell::BeginObservingDocument(PresShell * const 0x03f03398) line 2444
HTMLContentSink::StartLayout() line 3880
HTMLContentSink::OpenBody(HTMLContentSink * const 0x03d7a958, const nsIParserNode & {...}) line 3163
CNavDTD::OpenBody(const nsCParserNode * 0x03f16208) line 3151 + 31 bytes
CNavDTD::OpenContainer(const nsCParserNode * 0x03f16208, nsHTMLTag eHTMLTag_body, int 1, nsEntryStack * 0x00000000) line 3411 + 12 bytes
CNavDTD::HandleDefaultStartToken(CToken * 0x03e432e0, nsHTMLTag eHTMLTag_body, nsCParserNode * 0x03f16208) line 1318 + 20 bytes
CNavDTD::HandleStartToken(CToken * 0x03e432e0) line 1731 + 22 bytes
CNavDTD::HandleToken(CNavDTD * const 0x03d73cf0, CToken * 0x03e432e0, nsIParser * 0x03ec7f78) line 895 + 12 bytes
CNavDTD::BuildModel(CNavDTD * const 0x03d73cf0, nsIParser * 0x03ec7f78, nsITokenizer * 0x03c714d0, nsITokenObserver * 0x00000000, nsIContentSink * 0x03d7a958) line 521 + 20 bytes
nsParser::BuildModel() line 2005 + 34 bytes
nsParser::ResumeParse(int 1, int 0, int 1) line 1871 + 11 bytes
nsParser::OnDataAvailable(nsParser * const 0x03ec7f7c, nsIRequest * 0x03e5aa98, nsISupports * 0x00000000, nsIInputStream * 0x03c75668, unsigned int 0, unsigned int 38) line 2494 + 21 bytes

PresShell::NotifyReflowObservers(const char * 0x032c2c64) line 2515
PresShell::InitialReflow(PresShell * const 0x03f01120, int 15330, int 9060) line 2596
HTMLContentSink::StartLayout() line 3887
HTMLContentSink::OpenBody(HTMLContentSink * const 0x03d83d18, const nsIParserNode & {...}) line 3163
CNavDTD::OpenBody(const nsCParserNode * 0x03c81eb0) line 3151 + 31 bytes
CNavDTD::OpenContainer(const nsCParserNode * 0x03c81eb0, nsHTMLTag eHTMLTag_body, int 1, nsEntryStack * 0x00000000) line 3411 + 12 bytes
CNavDTD::HandleDefaultStartToken(CToken * 0x03c75960, nsHTMLTag eHTMLTag_body, nsCParserNode * 0x03c81eb0) line 1318 + 20 bytes
CNavDTD::HandleStartToken(CToken * 0x03c75960) line 1731 + 22 bytes
CNavDTD::HandleToken(CNavDTD * const 0x03e603b8, CToken * 0x03c75960, nsIParser * 0x03d48560) line 895 + 12 bytes
CNavDTD::BuildModel(CNavDTD * const 0x03e603b8, nsIParser * 0x03d48560, nsITokenizer * 0x03c742c8, nsITokenObserver * 0x00000000, nsIContentSink * 0x03d83d18) line 521 + 20 bytes
nsParser::BuildModel() line 2005 + 34 bytes
nsParser::ResumeParse(int 1, int 0, int 1) line 1871 + 11 bytes


Reply via email to