[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
cblu
cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:49:24 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 6085b5359c9ab20578d58ba1b99e4864e974c712
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Jul 9 21:24:00 2004 +0000
WebCore:
Allowed my change for 3715785 to compile on Jaguar.
Reviewed by kocienda.
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge domain]): new, allows access to the domain without using the DOM API which doesn't exist on Jaguar
WebKit:
Allowed my change for 3715785 to compile on Jaguar.
Reviewed by kocienda.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 2282d1a..d2ad4ae 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,13 @@
+2004-07-09 Chris Blumenberg <cblu at apple.com>
+
+ Allowed my change for 3715785 to compile on Jaguar.
+
+ Reviewed by kocienda.
+
+ * kwq/WebCoreBridge.h:
+ * kwq/WebCoreBridge.mm:
+ (-[WebCoreBridge domain]): new, allows access to the domain without using the DOM API which doesn't exist on Jaguar
+
2004-07-09 Ken Kocienda <kocienda at apple.com>
Reviewed by Hyatt
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index 6712aed..67b447b 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -162,6 +162,7 @@ typedef enum {
- (NSURL *)URL;
- (NSString *)referrer;
+- (NSString *)domain;
- (void)installInFrame:(NSView *)view;
- (void)removeFromFrame;
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 10e6965..abce3c4 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -1199,6 +1199,15 @@ static HTMLFormElementImpl *formElementFromDOMElement(DOMElement *element)
return _part->referrer().getNSString();
}
+- (NSString *)domain
+{
+ DocumentImpl *doc = _part->xmlDocImpl();
+ if (doc && doc->isHTMLDocument()) {
+ return doc->domain().string().getNSString();
+ }
+ return nil;
+}
+
+ (NSString *)stringWithData:(NSData *)data textEncoding:(CFStringEncoding)textEncoding
{
if (textEncoding == kCFStringEncodingInvalidId || textEncoding == kCFStringEncodingISOLatin1) {
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 2d56eb0..bedbed8 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,12 @@
+2004-07-09 Chris Blumenberg <cblu at apple.com>
+
+ Allowed my change for 3715785 to compile on Jaguar.
+
+ Reviewed by kocienda.
+
+ * WebCoreSupport.subproj/WebBridge.m:
+ (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge
+
2004-07-09 Ken Kocienda <kocienda at apple.com>
Reviewed by John
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index 06d5588..6befdac 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -13,7 +13,6 @@
#import <WebKit/WebDataSourcePrivate.h>
#import <WebKit/WebDefaultResourceLoadDelegate.h>
#import <WebKit/WebDefaultUIDelegate.h>
-#import <WebKit/DOMHTML.h>
#import <WebKit/WebEditingDelegate.h>
#import <WebKit/WebFileButton.h>
#import <WebKit/WebFormDelegate.h>
@@ -597,7 +596,9 @@ NSString *WebPluginContainerKey = @"WebPluginContainer";
// This method prevents this exploit:
// <rdar://problem/3715785> multiple frame injection vulnerability reported by Secunia, affects almost all browsers
- NSString *thisDomain = [(DOMHTMLDocument *)[_frame DOMDocument] domain];
+ // Normally, domain should be called on the DOMDocument since it is a DOM method, but this fix is needed for
+ // Jaguar as well where the DOM API doesn't exist.
+ NSString *thisDomain = [self domain];
if ([thisDomain length] == 0) {
// Allow if the request is made from a local file.
return YES;
@@ -609,7 +610,7 @@ NSString *WebPluginContainerKey = @"WebPluginContainer";
return YES;
}
- NSString *parentDomain = [(DOMHTMLDocument *)[parentFrame DOMDocument] domain];
+ NSString *parentDomain = [[parentFrame _bridge] domain];
if (parentDomain != nil && [thisDomain _web_isCaseInsensitiveEqualToString:parentDomain]) {
// Allow if the domain of the parent of the targeted frame equals this domain.
return YES;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list