On May 4, 2009, at 11:32 PM, Meryl Silverburgh wrote:

Thank you. If implementating the 'didFinishLoadForFrame' method is to listen for browser finishing loading everything, then some please in webkit code must call the didFinishLoadForFrame' to tell the delegate that page load is done, right?

But when i search the code, i only find these places calling. None of them is calling didFinishLoadForFrame on MacOS. Can you please tell me what am i missing?

The easiest way to answer a question like this is to run Safari under the debugger and set a breakpoint, then look at the backtrace.

(gdb) rb webView:didFinishLoadForFrame:
(gdb) run
#0 -[LocationChangeHandler webView:didFinishLoadForFrame:] (self=0x11f8d70, _cmd=0x98ea6c, sender=0x11de720, frame=0x1d0632a0) #1 0x00951536 in CallDelegate (implementation=0xf169e <- [LocationChangeHandler webView:didFinishLoadForFrame:]>, self=0x11de720, delegate=0x11f8d70, selector=0x98ea6c, object=0x1d0632a0) at /Users/darin/Safari/OpenSource/WebKit/mac/ WebView/WebView.mm:5532 #2 0x009515af in CallFrameLoadDelegate (implementation=0xf169e <- [LocationChangeHandler webView:didFinishLoadForFrame:]>, self=0x11de720, selector=0x98ea6c, object=0x1d0632a0) at /Users/darin/ Safari/OpenSource/WebKit/mac/WebView/WebView.mm:5732 #3 0x008d57ff in WebFrameLoaderClient::dispatchDidFinishLoad (this=0x1d063760) at /Users/darin/Safari/OpenSource/WebKit/mac/ WebCoreSupport/WebFrameLoaderClient.mm:614 #4 0x03775f40 in WebCore::FrameLoader::checkLoadCompleteForThisFrame (this=0x733742c) at /Users/darin/Safari/OpenSource/WebCore/loader/ FrameLoader.cpp:3353 #5 0x037760ac in WebCore::FrameLoader::recursiveCheckLoadComplete (this=0x733742c) at /Users/darin/Safari/OpenSource/WebCore/loader/ FrameLoader.cpp:3474 #6 0x03776096 in WebCore::FrameLoader::recursiveCheckLoadComplete (this=0x70a1c2c) at /Users/darin/Safari/OpenSource/WebCore/loader/ FrameLoader.cpp:3472 #7 0x03776153 in WebCore::FrameLoader::checkLoadComplete (this=0x733742c) at /Users/darin/Safari/OpenSource/WebCore/loader/ FrameLoader.cpp:3485 #8 0x036f4e6d in WebCore::DocumentLoader::removeSubresourceLoader (this=0x70dbc00, loader=0x737f400) at /Users/darin/Safari/OpenSource/ WebCore/loader/DocumentLoader.cpp:774 #9 0x03ce0e80 in WebCore::SubresourceLoader::didFinishLoading (this=0x737f400) at /Users/darin/Safari/OpenSource/WebCore/loader/ SubresourceLoader.cpp:189 #10 0x03bbfa2c in WebCore::ResourceLoader::didFinishLoading (this=0x737f400) at /Users/darin/Safari/OpenSource/WebCore/loader/ ResourceLoader.cpp:416 #11 0x03bbce90 in -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] (self=0x1d077fe0, _cmd=0x96073564, unusedConnection=0x1d07d800) at /Users/darin/Safari/OpenSource/WebCore/ platform/network/mac/ResourceHandleMac.mm:649 #12 0x94c06cd7 in -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] ()
#13 0x94c06c43 in _NSURLConnectionDidFinishLoading ()
#14 0x936e11f4 in URLConnectionClient::clientDidFinishLoading ()
#15 0x936dfd31 in URLConnectionClient ::ClientConnectionEventQueue::processAllEventsAndConsumePayload ()
#16 0x936e0d70 in URLConnectionClient::processEvents ()
#17 0x93690b6b in MultiplexerSource::perform ()
#18 0x95d0b5f5 in CFRunLoopRunSpecific ()
#19 0x95d0bcd8 in CFRunLoopRunInMode ()
#20 0x9634f2c0 in RunCurrentEventLoopInMode ()
#21 0x9634f0d9 in ReceiveNextEventCommon ()
#22 0x9634ef4d in BlockUntilNextEventMatchingListInMode ()
#23 0x937bbd7d in _DPSNextEvent ()
#24 0x937bb630 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] () #25 0x001b2313 in -[BrowserApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (self=0x1120a50, _cmd=0x96026b80, mask=4294967295, expiration=0x11cb970, mode=0xa0783b40, dequeue=1 '\001')
#26 0x937b466b in -[NSApplication run] ()
#27 0x937818a4 in NSApplicationMain ()
#28 0x00032168 in main (argc=1, argv=0xbffff514)

    -- Darin

_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to