[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:06:32 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 12e9151b610ee1e74a8f9c07d1853ff473028703
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 28 19:12:16 2003 +0000

            Reviewed by Darin.
    
    	- fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level
    
            * kwq/KWQKHTMLPart.h:
            * kwq/KWQKHTMLPart.mm:
            (KWQKHTMLPart::setName): Make sure the name is unique. Then tell
    	the bridge and the superclass about it.
            * kwq/KWQKPartsPart.h:
            (KParts::ReadOnlyPart::setName): Made this method virtual.
            * kwq/KWQKPartsPart.m: Added. Moved implementations of virtual methods here.
            * kwq/WebCoreBridge.h:
            * kwq/WebCoreBridge.mm:
            (-[WebCoreBridge setName:]): Call the superclass method to avid
    	sending the name pointlessly back across the bridge.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index a923fc5..03ff819 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,21 @@
+2003-10-27  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Darin.
+
+	- fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level
+	
+        * kwq/KWQKHTMLPart.h:
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::setName): Make sure the name is unique. Then tell
+	the bridge and the superclass about it.
+        * kwq/KWQKPartsPart.h:
+        (KParts::ReadOnlyPart::setName): Made this method virtual.
+        * kwq/KWQKPartsPart.m: Added. Moved implementations of virtual methods here.
+        * kwq/WebCoreBridge.h:
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge setName:]): Call the superclass method to avid
+	sending the name pointlessly back across the bridge.
+
 2003-10-28  Darin Adler  <darin at apple.com>
 
         Reviewed by John.
diff --git a/WebCore/WebCore.pbproj/project.pbxproj b/WebCore/WebCore.pbproj/project.pbxproj
index 1d72e68..9f72da4 100644
--- a/WebCore/WebCore.pbproj/project.pbxproj
+++ b/WebCore/WebCore.pbproj/project.pbxproj
@@ -772,6 +772,7 @@
 				55998A5F052B59CC0017A6C1,
 				55998A61052B59CC0017A6C1,
 				65F80698054D9F86008BF776,
+				65732B69054EF483007B42F8,
 			);
 			isa = PBXSourcesBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1010,6 +1011,20 @@
 //652
 //653
 //654
+		65732B68054EF483007B42F8 = {
+			expectedFileType = sourcecode.cpp.objcpp;
+			fileEncoding = 30;
+			isa = PBXFileReference;
+			path = KWQKPartsPart.mm;
+			refType = 4;
+			sourceTree = "<group>";
+		};
+		65732B69054EF483007B42F8 = {
+			fileRef = 65732B68054EF483007B42F8;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
 		65A640F00533BB1F0085E777 = {
 			expectedFileType = sourcecode.c.h;
 			fileEncoding = 30;
@@ -8420,6 +8435,7 @@
 				F587866B02DE3B3201EA4122,
 				F58784F602DE375901EA4122,
 				F587866C02DE3B3201EA4122,
+				65732B68054EF483007B42F8,
 				F587866D02DE3B3201EA4122,
 			);
 			isa = PBXGroup;
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index c2c89f9..4b8b6a0 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -228,6 +228,7 @@ public:
     
     WebCoreKeyboardUIMode keyboardUIMode() const;
 
+    void setName(const QString &name);
 private:
     virtual void khtmlMousePressEvent(khtml::MousePressEvent *);
     virtual void khtmlMouseDoubleClickEvent(khtml::MouseDoubleClickEvent *);
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 665991e..b4df605 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -2635,3 +2635,20 @@ WebCoreKeyboardUIMode KWQKHTMLPart::keyboardUIMode() const
 
     return WebCoreDefaultKeyboardAccess;
 }
+
+void KWQKHTMLPart::setName(const QString &name)
+{
+    QString n = name;
+
+    KWQKHTMLPart *parent = KWQ(parentPart());
+
+    if (parent && (name.isEmpty() || parent->frameExists(name))) {
+	n = parent->requestFrameName();
+    }
+
+    KHTMLPart::setName(n);
+
+    KWQ_BLOCK_EXCEPTIONS;
+    [_bridge didSetName:n.getNSString()];
+    KWQ_UNBLOCK_EXCEPTIONS;
+}
diff --git a/WebCore/kwq/KWQKPartsPart.h b/WebCore/kwq/KWQKPartsPart.h
index 58f2597..a75836d 100644
--- a/WebCore/kwq/KWQKPartsPart.h
+++ b/WebCore/kwq/KWQKPartsPart.h
@@ -54,7 +54,7 @@ public:
     void deref() { if (!--_ref) delete this; }
 
     bool event(QEvent *event) { customEvent((QCustomEvent *)event); return true; }
-    virtual void customEvent(QCustomEvent *) { }
+    virtual void customEvent(QCustomEvent *);
     
 private:
     QWidget *_widget;
@@ -71,7 +71,7 @@ public:
     void setParent(QObject *parent) { _parent = parent; }
     QObject *parent() const { return _parent; }
 
-    void setName(const QString &name) { _name = name; }
+    virtual void setName(const QString &name);
     QString name() { return _name; }
 
     void setXMLFile(const char *) { }
diff --git a/WebCore/kwq/KWQKPartsFactory.h b/WebCore/kwq/KWQKPartsPart.mm
similarity index 91%
copy from WebCore/kwq/KWQKPartsFactory.h
copy to WebCore/kwq/KWQKPartsPart.mm
index 1bd7e39..df0d634 100644
--- a/WebCore/kwq/KWQKPartsFactory.h
+++ b/WebCore/kwq/KWQKPartsPart.mm
@@ -23,14 +23,16 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef FACTORY_H_
-#define FACTORY_H_
-
-#include "KWQKPartsPart.h"
+#import "KWQKPartsPart.h"
 
 namespace KParts {
-    class Factory;
-}
 
-#endif
+void Part::customEvent(QCustomEvent *)
+{
+}
 
+void Part::setName(const QString &name)
+{
+    _name = name; 
+}
+    
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index b37f155..cd378d2 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -351,6 +351,8 @@ typedef enum {
 
 - (WebCoreKeyboardUIMode)keyboardUIMode;
 
+- (void)didSetName:(NSString *)name;
+
 @end
 
 // This interface definition allows those who hold a WebCoreBridge * to call all the methods
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 0a55762..0268f67 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -923,7 +923,7 @@ static HTMLFormElementImpl *formElementFromDOMElement(id <WebDOMElement>element)
 
 - (void)setName:(NSString *)name
 {
-    _part->setName(QString::fromNSString(name));
+    _part->KHTMLPart::setName(QString::fromNSString(name));
 }
 
 - (NSString *)name

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list