[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
mjs
mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:02:31 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit d4a855359fb1720bd04cbeb3b54b725da3d87c57
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 17 00:36:06 2003 +0000
Reviewed by John.
More exception blocking.
* kwq/KWQFont.mm:
(QFont::isFixedPitch):
(QFont::getNSFont):
* kwq/KWQKJobClasses.mm:
(KIO::TransferJob::~TransferJob):
* kwq/KWQLoader.mm:
(KWQServeRequest):
(KWQCheckIfReloading):
(KWQCheckCacheObjectStatus):
(KWQRetainResponse):
(KWQReleaseResponse):
(KWQResponseMIMEType):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 21e4b12..a9a44ea 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,21 @@
+2003-10-16 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by John.
+
+ More exception blocking.
+
+ * kwq/KWQFont.mm:
+ (QFont::isFixedPitch):
+ (QFont::getNSFont):
+ * kwq/KWQKJobClasses.mm:
+ (KIO::TransferJob::~TransferJob):
+ * kwq/KWQLoader.mm:
+ (KWQServeRequest):
+ (KWQCheckIfReloading):
+ (KWQCheckCacheObjectStatus):
+ (KWQRetainResponse):
+ (KWQReleaseResponse):
+ (KWQResponseMIMEType):
=== Safari-110 ===
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 21e4b12..a9a44ea 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,21 @@
+2003-10-16 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by John.
+
+ More exception blocking.
+
+ * kwq/KWQFont.mm:
+ (QFont::isFixedPitch):
+ (QFont::getNSFont):
+ * kwq/KWQKJobClasses.mm:
+ (KIO::TransferJob::~TransferJob):
+ * kwq/KWQLoader.mm:
+ (KWQServeRequest):
+ (KWQCheckIfReloading):
+ (KWQCheckCacheObjectStatus):
+ (KWQRetainResponse):
+ (KWQReleaseResponse):
+ (KWQResponseMIMEType):
=== Safari-110 ===
diff --git a/WebCore/kwq/KWQFont.mm b/WebCore/kwq/KWQFont.mm
index 5bfb3cb..3e18c88 100644
--- a/WebCore/kwq/KWQFont.mm
+++ b/WebCore/kwq/KWQFont.mm
@@ -25,6 +25,7 @@
#import "KWQFont.h"
+#import "KWQExceptions.h"
#import "KWQString.h"
#import "WebCoreTextRendererFactory.h"
@@ -146,7 +147,11 @@ bool QFont::bold() const
bool QFont::isFixedPitch() const
{
- return [[WebCoreTextRendererFactory sharedFactory] isFontFixedPitch: getNSFont()];
+ volatile bool isFixed = false;
+ KWQ_BLOCK_NS_EXCEPTIONS;
+ isFixed = [[WebCoreTextRendererFactory sharedFactory] isFontFixedPitch: getNSFont()];
+ KWQ_UNBLOCK_NS_EXCEPTIONS;
+ return isFixed;
}
@@ -162,10 +167,12 @@ NSFont *QFont::getNSFont() const
{
if (!_NSFont) {
CREATE_FAMILY_ARRAY(*this, families);
+ KWQ_BLOCK_NS_EXCEPTIONS;
_NSFont = [[[WebCoreTextRendererFactory sharedFactory]
fontWithFamilies:families
traits:getNSTraits()
size:getNSSize()] retain];
+ KWQ_UNBLOCK_NS_EXCEPTIONS;
}
return _NSFont;
}
diff --git a/WebCore/kwq/KWQKJobClasses.mm b/WebCore/kwq/KWQKJobClasses.mm
index eb951f8..c479191 100644
--- a/WebCore/kwq/KWQKJobClasses.mm
+++ b/WebCore/kwq/KWQKJobClasses.mm
@@ -25,12 +25,18 @@
#import "KWQLogging.h"
+#import "KWQExceptions.h"
+#import "KWQKJobClasses.h"
#import "KWQResourceLoader.h"
#import "KWQString.h"
-#import "KWQKJobClasses.h"
namespace KIO {
+ // The allocations and releases in TransferJobPrivate are
+ // definitely Cocoa-exception-free (either simple Foundation
+ // classes or our own KWQResourceLoader which avoides doing work
+ // in dealloc
+
class TransferJobPrivate
{
public:
@@ -66,7 +72,10 @@ TransferJob::TransferJob(const KURL &url, const QByteArray &postData, bool showP
TransferJob::~TransferJob()
{
+ // This will cancel the handle, and who knows what that could do
+ KWQ_BLOCK_NS_EXCEPTIONS;
[d->loader jobWillBeDeallocated];
+ KWQ_UNBLOCK_NS_EXCEPTIONS;
delete d;
}
diff --git a/WebCore/kwq/KWQLoader.mm b/WebCore/kwq/KWQLoader.mm
index 2a085a8..c6ef33f 100644
--- a/WebCore/kwq/KWQLoader.mm
+++ b/WebCore/kwq/KWQLoader.mm
@@ -25,12 +25,13 @@
#import "KWQLoader.h"
-#import "khtml_part.h"
+#import "KWQExceptions.h"
#import "KWQKJobClasses.h"
#import "KWQLogging.h"
#import "KWQResourceLoader.h"
-#import "loader.h"
#import "WebCoreBridge.h"
+#import "khtml_part.h"
+#import "loader.h"
using khtml::Cache;
using khtml::CachedObject;
@@ -48,10 +49,15 @@ bool KWQServeRequest(Loader *loader, Request *request, TransferJob *job)
WebCoreBridge *bridge = static_cast<KWQKHTMLPart *>(request->m_docLoader->part())->bridge();
+ volatile id <WebCoreResourceHandle> handle = nil;
+
+ KWQ_BLOCK_NS_EXCEPTIONS;
KWQResourceLoader *resourceLoader = [[KWQResourceLoader alloc] initWithLoader:loader job:job];
- id <WebCoreResourceHandle> handle = [bridge startLoadingResource:resourceLoader withURL:job->url().getNSURL()];
+ handle = [bridge startLoadingResource:resourceLoader withURL:job->url().getNSURL()];
[resourceLoader setHandle:handle];
[resourceLoader release];
+ KWQ_UNBLOCK_NS_EXCEPTIONS;
+
return handle != nil;
}
@@ -63,7 +69,13 @@ int KWQNumberOfPendingOrLoadingRequests(khtml::DocLoader *dl)
bool KWQCheckIfReloading(DocLoader *loader)
{
- return [static_cast<KWQKHTMLPart *>(loader->part())->bridge() isReloading];
+ volatile bool reloading = false;
+
+ KWQ_BLOCK_NS_EXCEPTIONS;
+ reloading = [static_cast<KWQKHTMLPart *>(loader->part())->bridge() isReloading];
+ KWQ_UNBLOCK_NS_EXCEPTIONS;
+
+ return reloading;
}
void KWQCheckCacheObjectStatus(DocLoader *loader, CachedObject *cachedObject)
@@ -88,19 +100,25 @@ void KWQCheckCacheObjectStatus(DocLoader *loader, CachedObject *cachedObject)
// Notify the caller that we "loaded".
WebCoreBridge *bridge = static_cast<KWQKHTMLPart *>(loader->part())->bridge();
CachedImage *cachedImage = dynamic_cast<CachedImage *>(cachedObject);
+ KWQ_BLOCK_NS_EXCEPTIONS;
[bridge objectLoadedFromCacheWithURL:KURL(cachedObject->url().string()).getNSURL()
response:(id)cachedObject->response()
size:cachedImage ? cachedImage->dataSize() : cachedObject->size()];
+ KWQ_UNBLOCK_NS_EXCEPTIONS;
}
void KWQRetainResponse(void *response)
{
+ // There's no way a retain can raise
[(id)response retain];
}
void KWQReleaseResponse(void *response)
{
+ // A release could raise if it deallocs, though...
+ KWQ_BLOCK_NS_EXCEPTIONS;
[(id)response release];
+ KWQ_UNBLOCK_NS_EXCEPTIONS;
}
@interface NSObject (WebPrivateResponse)
@@ -109,7 +127,13 @@ void KWQReleaseResponse(void *response)
void *KWQResponseMIMEType(void *response)
{
- return [(id)response MIMEType];
+ volatile void * volatile result = NULL;
+
+ KWQ_BLOCK_NS_EXCEPTIONS;
+ result = [(id)response MIMEType];
+ KWQ_UNBLOCK_NS_EXCEPTIONS;
+
+ return (void *)result;
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list