[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