Hi folks I am trying around to get the patch for qt4-x11 working for sid. I will attach a current patch, but it might still need some adjustment, since I am not sure, if I missed anything. Cheers Steffen
diff -ur ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
--- ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp 2008-04-04 08:40:58.000000000 +0000
+++ qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp 2008-05-08 10:26:28.000000000 +0000
@@ -4389,6 +4389,11 @@
return m_client->blockedError(request);
}
+ResourceError FrameLoader::cannotShowURLError(const ResourceRequest& request) const
+{
+ return m_client->cannotShowURLError(request);
+}
+
ResourceError FrameLoader::fileDoesNotExistError(const ResourceResponse& response) const
{
return m_client->fileDoesNotExistError(response);
diff -ur ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/FrameLoader.h qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
--- ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/FrameLoader.h 2008-04-04 08:40:58.000000000 +0000
+++ qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/FrameLoader.h 2008-05-08 10:26:28.000000000 +0000
@@ -215,6 +215,7 @@
ResourceError cancelledError(const ResourceRequest&) const;
ResourceError fileDoesNotExistError(const ResourceResponse&) const;
ResourceError blockedError(const ResourceRequest&) const;
+ ResourceError cannotShowURLError(const ResourceRequest&) const;
bool willUseArchive(ResourceLoader*, const ResourceRequest&, const KURL&) const;
bool isArchiveLoadPending(ResourceLoader*) const;
void cannotShowMIMEType(const ResourceResponse&);
diff -ur ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/ResourceLoader.cpp qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/ResourceLoader.cpp
--- ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/ResourceLoader.cpp 2008-04-04 08:40:58.000000000 +0000
+++ qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/ResourceLoader.cpp 2008-05-08 10:26:28.000000000 +0000
@@ -176,6 +176,11 @@
m_resourceData->clear();
}
+ResourceError ResourceLoader::cannotShowURLError()
+{
+ return frameLoader()->cannotShowURLError(m_request);
+}
+
void ResourceLoader::willSendRequest(ResourceRequest& request, const ResourceResponse& redirectResponse)
{
// Protect this in this delegate method since the additional processing can do
@@ -280,11 +285,6 @@
releaseResources();
}
-void ResourceLoader::wasBlocked()
-{
- didFail(blockedError());
-}
-
void ResourceLoader::didCancel(const ResourceError& error)
{
ASSERT(!m_cancelled);
@@ -368,7 +368,12 @@
void ResourceLoader::wasBlocked(ResourceHandle*)
{
- wasBlocked();
+ didFail(blockedError());
+}
+
+void ResourceLoader::cannotShowURL(ResourceHandle*)
+{
+ didFail(cannotShowURLError());
}
void ResourceLoader::didReceiveAuthenticationChallenge(const AuthenticationChallenge& challenge)
diff -ur ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/ResourceLoader.h qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/ResourceLoader.h
--- ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/ResourceLoader.h 2008-04-04 08:40:58.000000000 +0000
+++ qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/loader/ResourceLoader.h 2008-05-08 10:26:28.000000000 +0000
@@ -61,6 +61,7 @@
virtual void cancel(const ResourceError&);
ResourceError cancelledError();
ResourceError blockedError();
+ ResourceError cannotShowURLError();
virtual void setDefersLoading(bool);
@@ -80,7 +81,6 @@
void willStopBufferingData(const char*, int);
virtual void didFinishLoading();
virtual void didFail(const ResourceError&);
- virtual void wasBlocked();
void didReceiveAuthenticationChallenge(const AuthenticationChallenge&);
void didCancelAuthenticationChallenge(const AuthenticationChallenge&);
@@ -93,6 +93,7 @@
virtual void didFinishLoading(ResourceHandle*);
virtual void didFail(ResourceHandle*, const ResourceError&);
virtual void wasBlocked(ResourceHandle*);
+ virtual void cannotShowURL(ResourceHandle*);
virtual void willStopBufferingData(ResourceHandle*, const char* data, int length) { willStopBufferingData(data, length); }
virtual void didReceiveAuthenticationChallenge(ResourceHandle*, const AuthenticationChallenge& challenge) { didReceiveAuthenticationChallenge(challenge); }
virtual void didCancelAuthenticationChallenge(ResourceHandle*, const AuthenticationChallenge& challenge) { didCancelAuthenticationChallenge(challenge); }
diff -ur ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/KURL.h qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/KURL.h
--- ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/KURL.h 2008-04-04 08:40:59.000000000 +0000
+++ qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/KURL.h 2008-05-08 10:26:28.000000000 +0000
@@ -74,6 +74,7 @@
KURL(const QUrl&);
#endif
bool isEmpty() const { return urlString.isEmpty(); }
+ bool isValid() const { return m_isValid; }
bool hasPath() const;
DeprecatedString url() const { return urlString; }
diff -ur ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.cpp qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.cpp
--- ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.cpp 2008-04-04 08:40:59.000000000 +0000
+++ qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.cpp 2008-05-08 10:26:28.000000000 +0000
@@ -34,6 +34,8 @@
namespace WebCore {
+static bool portAllowed(const ResourceRequest&);
+
ResourceHandle::ResourceHandle(const ResourceRequest& request, ResourceHandleClient* client, bool defersLoading,
bool shouldContentSniff, bool mightDownloadFromHandle)
: d(new ResourceHandleInternal(this, request, client, defersLoading, shouldContentSniff, mightDownloadFromHandle))
@@ -45,8 +47,13 @@
{
RefPtr<ResourceHandle> newHandle(new ResourceHandle(request, client, defersLoading, shouldContentSniff, mightDownloadFromHandle));
+ if (!request.url().isValid()) {
+ newHandle->scheduleFailure(InvalidURLFailure);
+ return newHandle.release();
+ }
+
if (!portAllowed(request)) {
- newHandle->scheduleBlockedFailure();
+ newHandle->scheduleFailure(BlockedFailure);
return newHandle.release();
}
@@ -56,17 +63,27 @@
return 0;
}
-void ResourceHandle::scheduleBlockedFailure()
+void ResourceHandle::scheduleFailure(FailureType type)
{
- Timer<ResourceHandle>* blockedTimer = new Timer<ResourceHandle>(this, &ResourceHandle::fireBlockedFailure);
- blockedTimer->startOneShot(0);
+ d->m_failureType = type;
+ d->m_failureTimer.startOneShot(0);
}
-void ResourceHandle::fireBlockedFailure(Timer<ResourceHandle>* timer)
+void ResourceHandle::fireFailure(Timer<ResourceHandle>*)
{
- if (client())
- client()->wasBlocked(this);
- delete timer;
+ if (!client())
+ return;
+
+ switch (d->m_failureType) {
+ case BlockedFailure:
+ client()->wasBlocked(this);
+ return;
+ case InvalidURLFailure:
+ client()->cannotShowURL(this);
+ return;
+ }
+
+ ASSERT_NOT_REACHED();
}
ResourceHandleClient* ResourceHandle::client() const
@@ -94,7 +111,7 @@
d->m_currentWebChallenge.nullify();
}
-bool ResourceHandle::portAllowed(const ResourceRequest& request)
+static bool portAllowed(const ResourceRequest& request)
{
unsigned short port = request.url().port();
diff -ur ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h
--- ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h 2008-04-04 08:40:59.000000000 +0000
+++ qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h 2008-05-08 10:26:28.000000000 +0000
@@ -89,6 +89,11 @@
private:
ResourceHandle(const ResourceRequest&, ResourceHandleClient*, bool defersLoading, bool shouldContentSniff, bool mightDownloadFromHandle);
+ enum FailureType {
+ BlockedFailure,
+ InvalidURLFailure
+ };
+
public:
// FIXME: should not need the Frame
static PassRefPtr<ResourceHandle> create(const ResourceRequest&, ResourceHandleClient*, Frame*, bool defersLoading, bool shouldContentSniff, bool mightDownloadFromHandle = false);
@@ -152,15 +157,14 @@
const ResourceRequest& request() const;
- void fireBlockedFailure(Timer<ResourceHandle>*);
+ void fireFailure(Timer<ResourceHandle>*);
private:
- static bool portAllowed(const ResourceRequest&);
-
- void scheduleBlockedFailure();
+ void scheduleFailure(FailureType);
bool start(Frame*);
-
+
+ friend class ResourceHandleInternal;
OwnPtr<ResourceHandleInternal> d;
};
diff -ur ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h
--- ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h 2008-04-04 08:40:59.000000000 +0000
+++ qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h 2008-05-08 10:26:28.000000000 +0000
@@ -70,6 +70,7 @@
virtual void didFinishLoading(ResourceHandle*) { }
virtual void didFail(ResourceHandle*, const ResourceError&) { }
virtual void wasBlocked(ResourceHandle*) { }
+ virtual void cannotShowURL(ResourceHandle*) { }
virtual void willCacheResponse(ResourceHandle*, CacheStoragePolicy&) { }
diff -ur ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h
--- ../old/qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h 2008-04-04 08:40:59.000000000 +0000
+++ qt4-x11-4.4.0~rc1/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h 2008-05-08 10:28:00.000000000 +0000
@@ -27,6 +27,7 @@
#ifndef ResourceHandleInternal_h
#define ResourceHandleInternal_h
+#include "ResourceHandle.h"
#include "ResourceRequest.h"
#include "AuthenticationChallenge.h"
@@ -108,7 +109,8 @@
#elif USE(CFNETWORK)
, m_currentCFChallenge(0)
#endif
- {
+ , m_failureTimer(loader, &ResourceHandle::fireFailure)
+ {
}
~ResourceHandleInternal();
@@ -168,6 +170,8 @@
CFURLAuthChallengeRef m_currentCFChallenge;
#endif
AuthenticationChallenge m_currentWebChallenge;
+ ResourceHandle::FailureType m_failureType;
+ Timer<ResourceHandle> m_failureTimer;
};
} // namespace WebCore
Attachment:
signature.asc
Description: This is a digitally signed message part.