[webkit-dev] Fix for Qt build

Holger Freyther zecke at selfish.org
Sat May 12 04:28:11 PDT 2007


Am 12.05.2007 um 12:32 schrieb Maciej Stachowiak:

>
> I can't check this in right now because the SVN server is  
> temporarily out of disk, but this appears to mostly fix the Qt  
> build, at least in QtLauncher. Rob Buis helped me test and is  
> running layout tests now.

Hey,
so the Gdk port remains and I'm a bit lost and won't have time before  
monday. At least the Frame::init is the obvious change but I see a  
crash on the google site. It is reproducable by starting the  
GdkLauncher and clicking on any link. What confuses me is that in the  
below backtrace there is no way that FrameLoaderClientGdk can call  
setEncoding. I don't know the relation between ResourceLoader,  
FrameLoader, MainResourceLoader, DocumentLoader and  
ResourceHandleManager yet so I don't know who should call into the  
FrameLoaderClient and when.

 From yesterday's research I saw that platform//network/gdk is rather  
incomplete, so it might be partly to blame. What I see is that  
directly from curl callback didReceiveData gets called and gets  
delivered up to the FrameLoader without ever calling into  
FrameLoaderClient or I forgot to set a breakpoint and missed a  
position where I can/should call setEncoding from.

What I will look into on Monday is:
	-Where and when is the document of the Frame gets destroyed
	-What is the platform/network code omitting. I know of not handling  
HTTP response headers at all.
	-See if any unimplemented method of the FrameLoaderClientGdk gets  
called (Currently it looks like   
WebCore::FrameLoaderClientGdk::canCachePage() is the only one)



--- a/WebKitTools/GdkLauncher/main.cpp
+++ b/WebKitTools/GdkLauncher/main.cpp
@@ -213,6 +213,7 @@ int main(int argc, char* argv[])
      gFrame->setView(frameView);
      frameView->ScrollView::setDrawable(frameWindow->window);
+    gFrame->init();
      gFrame->loader()->load(ResourceRequest(url));
      gtk_main();
#if 0 // FIXME: this crashes at the moment. needs to provide DragClient





0xb7a6d598 in WebCore::FrameLoader::saveDocumentState  
(this=0x8199630) at ../../../WebCore/loader/FrameLoader.cpp:3755
3755        ASSERT(document);
(gdb) bt
#0  0xb7a6d598 in WebCore::FrameLoader::saveDocumentState  
(this=0x8199630) at ../../../WebCore/loader/FrameLoader.cpp:3755
#1  0xb7a7d283 in WebCore::FrameLoader::closeURL (this=0x8199630)  
at ../../../WebCore/loader/FrameLoader.cpp:627
#2  0xb7a7dea8 in WebCore::FrameLoader::transitionToCommitted  
(this=0x8199630, cachedPage=@0xbf8efd40) at ../../../WebCore/loader/ 
FrameLoader.cpp:2401
#3  0xb7a7ea50 in WebCore::FrameLoader::commitProvisionalLoad  
(this=0x8199630, prpCachedPage=@0xbf8efe8c) at ../../../WebCore/ 
loader/FrameLoader.cpp:2359
#4  0xb7a64201 in WebCore::DocumentLoader::commitIfReady  
(this=0x8236e90) at ../../../WebCore/loader/DocumentLoader.cpp:305
#5  0xb7a64c6e in WebCore::DocumentLoader::commitLoad (this=0x8236e90,
     data=0x824510b "<html><head><meta http-equiv=\"content-type\"  
content=\"text/html; charset=ISO-8859-1\"><title>Google</ 
title><style><!--\nbody,td,a,p,.h{font-family:arial,sans-serif}\n.h 
{font-size:20px}\n.h{color:#3366cc}\n."..., length=1255) at ../../../ 
WebCore/loader/DocumentLoader.cpp:345
#6  0xb7a64d2e in WebCore::DocumentLoader::receivedData (this=0x8236e90,
     data=0x824510b "<html><head><meta http-equiv=\"content-type\"  
content=\"text/html; charset=ISO-8859-1\"><title>Google</ 
title><style><!--\nbody,td,a,p,.h{font-family:arial,sans-serif}\n.h 
{font-size:20px}\n.h{color:#3366cc}\n."..., length=1255) at ../../../ 
WebCore/loader/DocumentLoader.cpp:359
#7  0xb7a73117 in WebCore::FrameLoader::receivedData (this=0x8199630,
     data=0x824510b "<html><head><meta http-equiv=\"content-type\"  
content=\"text/html; charset=ISO-8859-1\"><title>Google</ 
title><style><!--\nbody,td,a,p,.h{font-family:arial,sans-serif}\n.h 
{font-size:20px}\n.h{color:#3366cc}\n."..., length=1255) at ../../../ 
WebCore/loader/FrameLoader.cpp:2052
#8  0xb7a9ac24 in WebCore::MainResourceLoader::addData (this=0x822e9d0,
     data=0x824510b "<html><head><meta http-equiv=\"content-type\"  
content=\"text/html; charset=ISO-8859-1\"><title>Google</ 
title><style><!--\nbody,td,a,p,.h{font-family:arial,sans-serif}\n.h 
{font-size:20px}\n.h{color:#3366cc}\n."..., length=1255,  
allAtOnce=false) at ../../../WebCore/loader/MainResourceLoader.cpp:136
#9  0xb7aa11d7 in WebCore::ResourceLoader::didReceiveData  
(this=0x822e9d0,
     data=0x824510b "<html><head><meta http-equiv=\"content-type\"  
content=\"text/html; charset=ISO-8859-1\"><title>Google</ 
title><style><!--\nbody,td,a,p,.h{font-family:arial,sans-serif}\n.h 
{font-size:20px}\n.h{color:#3366cc}\n."..., length=1255,  
lengthReceived=0, allAtOnce=false) at ../../../WebCore/loader/ 
ResourceLoader.cpp:208
#10 0xb7a9a99e in WebCore::MainResourceLoader::didReceiveData  
(this=0x822e9d0,
     data=0x824510b "<html><head><meta http-equiv=\"content-type\"  
content=\"text/html; charset=ISO-8859-1\"><title>Google</ 
title><style><!--\nbody,td,a,p,.h{font-family:arial,sans-serif}\n.h 
{font-size:20px}\n.h{color:#3366cc}\n."..., length=1255,  
lengthReceived=0, allAtOnce=false) at ../../../WebCore/loader/ 
MainResourceLoader.cpp:292
#11 0xb7aa0726 in WebCore::ResourceLoader::didReceiveData  
(this=0x822e9d0,
     data=0x824510b "<html><head><meta http-equiv=\"content-type\"  
content=\"text/html; charset=ISO-8859-1\"><title>Google</ 
title><style><!--\nbody,td,a,p,.h{font-family:arial,sans-serif}\n.h 
{font-size:20px}\n.h{color:#3366cc}\n."..., length=1255,  
lengthReceived=0) at ../../../WebCore/loader/ResourceLoader.cpp:330
#12 0xb7c3c0ba in writeCallback (ptr=0x8242dd2, size=1, nmemb=1248,  
obj=0x81c8500) at ../../../WebCore/platform/network/gdk/ 
ResourceHandleManager.cpp:77



More information about the webkit-dev mailing list