[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