[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:38:11 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 42143a44b8b249b47a2ec9bc34b8e25b7facaa33
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Sep 11 18:56:10 2002 +0000

    	- fixed 3021137 -- changing font prefs doesn't redraw frames
    	other than the main frame
    
            * kwq/WebCoreSettings.m: Renamed to WebCoreSettings.mm.
            * kwq/WebCoreSettings.mm: Renamed from WebCoreSettings.m so I could
    	use C++.
            (-[WebCoreSettings _updateAllViews]): Iterate over all KWQKHTMLPartImpl
    	instances, calling setNeedsReapplyStyles on each one.
            * WebCore.pbproj/project.pbxproj: Updated for name change.
    
            * kwq/KWQKHTMLPartImpl.h: Add instances() and mutableInstances().
    	Get rid of frameExists(), findFrame(), and frames().
            * kwq/KWQKHTMLPartImpl.mm:
            (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Add to instance list.
            (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove from instance list.
            (KWQKHTMLPartImpl::requestFrame): Update to not use frameExists().
            (KWQKHTMLPartImpl::overURL): Update to not use frameExists, and improve
    	handling of various cases.
            (KWQKHTMLPartImpl::mutableInstances): Create and return instance list.
    
            * kwq/WebCoreBridge.h: Add setNeedsReapplyStyles; already implemented
    	in WebKit.
    
            * khtml/khtml_part.cpp:
            (KHTMLPart::findFrame): Remove APPLE_CHANGES.
            (KHTMLPart::frameExists): Remove APPLE_CHANGES.
            (KHTMLPart::frames): Remove APPLE_CHANGES.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2035 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index f424e6b..126f35c 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,33 @@
+2002-09-11  Darin Adler  <darin at apple.com>
+
+	- fixed 3021137 -- changing font prefs doesn't redraw frames
+	other than the main frame
+
+        * kwq/WebCoreSettings.m: Renamed to WebCoreSettings.mm.
+        * kwq/WebCoreSettings.mm: Renamed from WebCoreSettings.m so I could
+	use C++.
+        (-[WebCoreSettings _updateAllViews]): Iterate over all KWQKHTMLPartImpl
+	instances, calling setNeedsReapplyStyles on each one.
+        * WebCore.pbproj/project.pbxproj: Updated for name change.
+
+        * kwq/KWQKHTMLPartImpl.h: Add instances() and mutableInstances().
+	Get rid of frameExists(), findFrame(), and frames().
+        * kwq/KWQKHTMLPartImpl.mm:
+        (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Add to instance list.
+        (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove from instance list.
+        (KWQKHTMLPartImpl::requestFrame): Update to not use frameExists().
+        (KWQKHTMLPartImpl::overURL): Update to not use frameExists, and improve
+	handling of various cases.
+        (KWQKHTMLPartImpl::mutableInstances): Create and return instance list.
+
+        * kwq/WebCoreBridge.h: Add setNeedsReapplyStyles; already implemented
+	in WebKit.
+
+        * khtml/khtml_part.cpp:
+        (KHTMLPart::findFrame): Remove APPLE_CHANGES.
+        (KHTMLPart::frameExists): Remove APPLE_CHANGES.
+        (KHTMLPart::frames): Remove APPLE_CHANGES.
+
 2002-09-10  Darin Adler  <darin at apple.com>
 
 	WebCore part of support for the "Referer" header.
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index f424e6b..126f35c 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,33 @@
+2002-09-11  Darin Adler  <darin at apple.com>
+
+	- fixed 3021137 -- changing font prefs doesn't redraw frames
+	other than the main frame
+
+        * kwq/WebCoreSettings.m: Renamed to WebCoreSettings.mm.
+        * kwq/WebCoreSettings.mm: Renamed from WebCoreSettings.m so I could
+	use C++.
+        (-[WebCoreSettings _updateAllViews]): Iterate over all KWQKHTMLPartImpl
+	instances, calling setNeedsReapplyStyles on each one.
+        * WebCore.pbproj/project.pbxproj: Updated for name change.
+
+        * kwq/KWQKHTMLPartImpl.h: Add instances() and mutableInstances().
+	Get rid of frameExists(), findFrame(), and frames().
+        * kwq/KWQKHTMLPartImpl.mm:
+        (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Add to instance list.
+        (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove from instance list.
+        (KWQKHTMLPartImpl::requestFrame): Update to not use frameExists().
+        (KWQKHTMLPartImpl::overURL): Update to not use frameExists, and improve
+	handling of various cases.
+        (KWQKHTMLPartImpl::mutableInstances): Create and return instance list.
+
+        * kwq/WebCoreBridge.h: Add setNeedsReapplyStyles; already implemented
+	in WebKit.
+
+        * khtml/khtml_part.cpp:
+        (KHTMLPart::findFrame): Remove APPLE_CHANGES.
+        (KHTMLPart::frameExists): Remove APPLE_CHANGES.
+        (KHTMLPart::frames): Remove APPLE_CHANGES.
+
 2002-09-10  Darin Adler  <darin at apple.com>
 
 	WebCore part of support for the "Referer" header.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index f424e6b..126f35c 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,33 @@
+2002-09-11  Darin Adler  <darin at apple.com>
+
+	- fixed 3021137 -- changing font prefs doesn't redraw frames
+	other than the main frame
+
+        * kwq/WebCoreSettings.m: Renamed to WebCoreSettings.mm.
+        * kwq/WebCoreSettings.mm: Renamed from WebCoreSettings.m so I could
+	use C++.
+        (-[WebCoreSettings _updateAllViews]): Iterate over all KWQKHTMLPartImpl
+	instances, calling setNeedsReapplyStyles on each one.
+        * WebCore.pbproj/project.pbxproj: Updated for name change.
+
+        * kwq/KWQKHTMLPartImpl.h: Add instances() and mutableInstances().
+	Get rid of frameExists(), findFrame(), and frames().
+        * kwq/KWQKHTMLPartImpl.mm:
+        (KWQKHTMLPartImpl::KWQKHTMLPartImpl): Add to instance list.
+        (KWQKHTMLPartImpl::~KWQKHTMLPartImpl): Remove from instance list.
+        (KWQKHTMLPartImpl::requestFrame): Update to not use frameExists().
+        (KWQKHTMLPartImpl::overURL): Update to not use frameExists, and improve
+	handling of various cases.
+        (KWQKHTMLPartImpl::mutableInstances): Create and return instance list.
+
+        * kwq/WebCoreBridge.h: Add setNeedsReapplyStyles; already implemented
+	in WebKit.
+
+        * khtml/khtml_part.cpp:
+        (KHTMLPart::findFrame): Remove APPLE_CHANGES.
+        (KHTMLPart::frameExists): Remove APPLE_CHANGES.
+        (KHTMLPart::frames): Remove APPLE_CHANGES.
+
 2002-09-10  Darin Adler  <darin at apple.com>
 
 	WebCore part of support for the "Referer" header.
diff --git a/WebCore/WebCore.pbproj/project.pbxproj b/WebCore/WebCore.pbproj/project.pbxproj
index 2ae9232..ed68107 100644
--- a/WebCore/WebCore.pbproj/project.pbxproj
+++ b/WebCore/WebCore.pbproj/project.pbxproj
@@ -4060,7 +4060,7 @@
 		F565AE8602ECA583018635CA = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
-			path = WebCoreSettings.m;
+			path = WebCoreSettings.mm;
 			refType = 4;
 		};
 		F565AE8702ECA583018635CA = {
diff --git a/WebCore/khtml/khtml_part.cpp b/WebCore/khtml/khtml_part.cpp
index 7dfbca7..995bd1c 100644
--- a/WebCore/khtml/khtml_part.cpp
+++ b/WebCore/khtml/khtml_part.cpp
@@ -3278,9 +3278,6 @@ khtml::ChildFrame *KHTMLPart::frame( const QObject *obj )
 
 KHTMLPart *KHTMLPart::findFrame( const QString &f )
 {
-#ifdef APPLE_CHANGES
-    return impl->findFrame(f);
-#else
 #if 0
   kdDebug() << "KHTMLPart::findFrame '" << f << "'" << endl;
   FrameIt it2 = d->m_frames.begin();
@@ -3313,7 +3310,6 @@ KHTMLPart *KHTMLPart::findFrame( const QString &f )
       return 0L;
     }
   }
-#endif // APPLE_CHANGES
 }
 
 #ifndef APPLE_CHANGES
@@ -3337,9 +3333,6 @@ KParts::ReadOnlyPart *KHTMLPart::currentFrame() const
 
 bool KHTMLPart::frameExists( const QString &frameName )
 {
-#ifdef APPLE_CHANGES
-  return impl->frameExists(frameName);
-#else
   ConstFrameIt it = d->m_frames.find( frameName );
   if ( it == d->m_frames.end() )
     return false;
@@ -3348,7 +3341,6 @@ bool KHTMLPart::frameExists( const QString &frameName )
   // set. Otherwise we might find our preloaded-selve.
   // This happens when we restore the frameset.
   return (!(*it).m_frame.isNull());
-#endif
 }
 
 KHTMLPart *KHTMLPart::parentPart()
@@ -3840,9 +3832,6 @@ QStringList KHTMLPart::frameNames() const
 
 QPtrList<KParts::ReadOnlyPart> KHTMLPart::frames() const
 {
-#ifdef APPLE_CHANGES
-  return impl->frames();
-#else
   QPtrList<KParts::ReadOnlyPart> res;
 
   ConstFrameIt it = d->m_frames.begin();
@@ -3852,7 +3841,6 @@ QPtrList<KParts::ReadOnlyPart> KHTMLPart::frames() const
       res.append( (*it).m_part );
 
   return res;
-#endif
 }
 
 #ifndef APPLE_CHANGES
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index a51dfb5..6f2b4b1 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -80,10 +80,6 @@ public:
     void setTitle(const DOM::DOMString &);
     void setStatusBarText(const QString &status);
 
-    bool frameExists(const QString &frameName);
-    KHTMLPart *findFrame(const QString &frameName);
-    QPtrList<KParts::ReadOnlyPart> frames() const;
-
     void urlSelected(const KURL &url, int button, int state, const KParts::URLArgs &args);
     bool requestFrame(khtml::RenderPart *frame, const QString &url, const QString &frameName, const QStringList &params, bool isIFrame);
     bool requestObject(khtml::RenderPart *frame, const QString &url, const QString &serviceType, const QStringList &args);
@@ -123,6 +119,8 @@ public:
     void redirectionTimerStartedOrStopped();
     
     static NSString *referrer(const KParts::URLArgs &);
+    
+    static const QPtrList<KWQKHTMLPartImpl> &instances() { return mutableInstances(); }
 
 private:
     WebCoreBridge *bridgeForFrameName(const QString &frameName);
@@ -136,6 +134,8 @@ private:
     
     WebCoreBridge *_bridge;
 
+    static QPtrList<KWQKHTMLPartImpl> &mutableInstances();
+
     friend class KHTMLPart;
 };
 
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index fd732ae..96e6e6c 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -105,11 +105,13 @@ void KHTMLPart::completed(bool arg)
 KWQKHTMLPartImpl::KWQKHTMLPartImpl(KHTMLPart *p)
     : part(p), d(part->d)
 {
+    mutableInstances().prepend(this);
     d->m_redirectionTimer.setMonitor(redirectionTimerMonitor, this);
 }
 
 KWQKHTMLPartImpl::~KWQKHTMLPartImpl()
 {
+    mutableInstances().remove();
 }
 
 WebCoreBridge *KWQKHTMLPartImpl::bridgeForFrameName(const QString &frameName)
@@ -208,7 +210,7 @@ void KWQKHTMLPartImpl::urlSelected(const KURL &url, int button, int state, const
 bool KWQKHTMLPartImpl::requestFrame( RenderPart *frame, const QString &url, const QString &frameName,
                                      const QStringList &params, bool isIFrame )
 {
-    ASSERT(!frameExists(frameName));
+    ASSERT([_bridge frameNamed:frameName.getNSString()] == nil);
 
     NSURL *childURL = part->completeURL(url).getNSURL();
     if (childURL == nil) {
@@ -295,29 +297,6 @@ void KWQKHTMLPartImpl::submitForm(const KURL &u, const URLArgs &args)
     }
 }
 
-bool KWQKHTMLPartImpl::frameExists(const QString &frameName)
-{
-    return [_bridge frameNamed:frameName.getNSString()] != nil;
-}
-
-KHTMLPart *KWQKHTMLPartImpl::findFrame(const QString &frameName)
-{
-    return [[_bridge frameNamed:frameName.getNSString()] part];
-}
-
-QPtrList<KParts::ReadOnlyPart> KWQKHTMLPartImpl::frames() const
-{
-    QPtrList<KParts::ReadOnlyPart> parts;
-    NSEnumerator *e = [[_bridge childFrames] objectEnumerator];
-    WebCoreBridge *childFrame;
-    while ((childFrame = [e nextObject])) {
-        KHTMLPart *childPart = [childFrame part];
-        if (childPart)
-            parts.append(childPart);
-    }
-    return parts;
-}
-
 void KWQKHTMLPartImpl::setView(KHTMLView *view)
 {
     d->m_view = view;
@@ -351,6 +330,9 @@ void KWQKHTMLPartImpl::unfocusWindow()
 
 void KWQKHTMLPartImpl::overURL(const QString &url, const QString &_target, int modifierState)
 {
+    // FIXME: The rules about what string does what should not be separate from the code that
+    // actually implements these rules. It's particularly bad with strings.
+
     if (url.isEmpty()) {
         [_bridge setStatusText:@""];
         return;
@@ -366,7 +348,7 @@ void KWQKHTMLPartImpl::overURL(const QString &url, const QString &_target, int m
     
     KURL u = part->completeURL(url);
     
-    if (u.protocol() == QString("mailto")) {
+    if (u.protocol() == "mailto") {
         // FIXME: Add address book integration so we show the real name instead?
         const QString address = KURL::decode_string(u.path());
         [_bridge setStatusText:[NSString stringWithFormat:@"Send email to %@", address.getNSString()]];
@@ -379,18 +361,25 @@ void KWQKHTMLPartImpl::overURL(const QString &url, const QString &_target, int m
     if (target.isEmpty() && d->m_doc) {
         target = d->m_doc->baseTarget();
     }
-
+    
     if (target == "_blank") {
         format = @"Open \"%@\" in a new window";
-    } else if (!target.isEmpty() && target != "_self" && target == "_top" && target != "_parent") {
-        if (frameExists(target)) {
-            // FIXME: Distinguish existing frame in same window from existing frame in other window.
-            format = @"Go to \"%@\" in another frame";
+    } else {
+        WebCoreBridge *targetFrame;
+        if (target.isEmpty() || target != "_self" || target == "_top" || target != "_parent") {
+            targetFrame = _bridge;
         } else {
+            targetFrame = [_bridge frameNamed:target.getNSString()];
+        }
+        if (targetFrame == _bridge) {
+            format = @"Go to \"%@\"";
+        } else if (targetFrame == nil) {
             format = @"Open \"%@\" in a new window";
+        } else if ([targetFrame mainFrame] == [_bridge mainFrame]) {
+            format = @"Go to \"%@\" in another frame";
+        } else {
+            format = @"Go to \"%@\" in another window";
         }
-    } else {
-        format = @"Go to \"%@\"";
     }
     
     if ([_bridge modifierTrackingEnabled]) {
@@ -570,7 +559,6 @@ NodeImpl *KWQKHTMLPartImpl::nodeForWidget(QWidget *widget)
     return static_cast<const RenderWidget *>(widget->eventFilterObject())->element();
 }
 
-
 void KWQKHTMLPartImpl::saveDocumentState()
 {
     [_bridge saveDocumentState];
@@ -580,3 +568,9 @@ void KWQKHTMLPartImpl::restoreDocumentState()
 {
     [_bridge restoreDocumentState];
 }
+
+QPtrList<KWQKHTMLPartImpl> &KWQKHTMLPartImpl::mutableInstances()
+{
+    static QPtrList<KWQKHTMLPartImpl> instancesList;
+    return instancesList;
+}
diff --git a/WebCore/kwq/KWQKHTMLPartImpl.h b/WebCore/kwq/KWQKHTMLPartImpl.h
index a51dfb5..6f2b4b1 100644
--- a/WebCore/kwq/KWQKHTMLPartImpl.h
+++ b/WebCore/kwq/KWQKHTMLPartImpl.h
@@ -80,10 +80,6 @@ public:
     void setTitle(const DOM::DOMString &);
     void setStatusBarText(const QString &status);
 
-    bool frameExists(const QString &frameName);
-    KHTMLPart *findFrame(const QString &frameName);
-    QPtrList<KParts::ReadOnlyPart> frames() const;
-
     void urlSelected(const KURL &url, int button, int state, const KParts::URLArgs &args);
     bool requestFrame(khtml::RenderPart *frame, const QString &url, const QString &frameName, const QStringList &params, bool isIFrame);
     bool requestObject(khtml::RenderPart *frame, const QString &url, const QString &serviceType, const QStringList &args);
@@ -123,6 +119,8 @@ public:
     void redirectionTimerStartedOrStopped();
     
     static NSString *referrer(const KParts::URLArgs &);
+    
+    static const QPtrList<KWQKHTMLPartImpl> &instances() { return mutableInstances(); }
 
 private:
     WebCoreBridge *bridgeForFrameName(const QString &frameName);
@@ -136,6 +134,8 @@ private:
     
     WebCoreBridge *_bridge;
 
+    static QPtrList<KWQKHTMLPartImpl> &mutableInstances();
+
     friend class KHTMLPart;
 };
 
diff --git a/WebCore/kwq/KWQKHTMLPartImpl.mm b/WebCore/kwq/KWQKHTMLPartImpl.mm
index fd732ae..96e6e6c 100644
--- a/WebCore/kwq/KWQKHTMLPartImpl.mm
+++ b/WebCore/kwq/KWQKHTMLPartImpl.mm
@@ -105,11 +105,13 @@ void KHTMLPart::completed(bool arg)
 KWQKHTMLPartImpl::KWQKHTMLPartImpl(KHTMLPart *p)
     : part(p), d(part->d)
 {
+    mutableInstances().prepend(this);
     d->m_redirectionTimer.setMonitor(redirectionTimerMonitor, this);
 }
 
 KWQKHTMLPartImpl::~KWQKHTMLPartImpl()
 {
+    mutableInstances().remove();
 }
 
 WebCoreBridge *KWQKHTMLPartImpl::bridgeForFrameName(const QString &frameName)
@@ -208,7 +210,7 @@ void KWQKHTMLPartImpl::urlSelected(const KURL &url, int button, int state, const
 bool KWQKHTMLPartImpl::requestFrame( RenderPart *frame, const QString &url, const QString &frameName,
                                      const QStringList &params, bool isIFrame )
 {
-    ASSERT(!frameExists(frameName));
+    ASSERT([_bridge frameNamed:frameName.getNSString()] == nil);
 
     NSURL *childURL = part->completeURL(url).getNSURL();
     if (childURL == nil) {
@@ -295,29 +297,6 @@ void KWQKHTMLPartImpl::submitForm(const KURL &u, const URLArgs &args)
     }
 }
 
-bool KWQKHTMLPartImpl::frameExists(const QString &frameName)
-{
-    return [_bridge frameNamed:frameName.getNSString()] != nil;
-}
-
-KHTMLPart *KWQKHTMLPartImpl::findFrame(const QString &frameName)
-{
-    return [[_bridge frameNamed:frameName.getNSString()] part];
-}
-
-QPtrList<KParts::ReadOnlyPart> KWQKHTMLPartImpl::frames() const
-{
-    QPtrList<KParts::ReadOnlyPart> parts;
-    NSEnumerator *e = [[_bridge childFrames] objectEnumerator];
-    WebCoreBridge *childFrame;
-    while ((childFrame = [e nextObject])) {
-        KHTMLPart *childPart = [childFrame part];
-        if (childPart)
-            parts.append(childPart);
-    }
-    return parts;
-}
-
 void KWQKHTMLPartImpl::setView(KHTMLView *view)
 {
     d->m_view = view;
@@ -351,6 +330,9 @@ void KWQKHTMLPartImpl::unfocusWindow()
 
 void KWQKHTMLPartImpl::overURL(const QString &url, const QString &_target, int modifierState)
 {
+    // FIXME: The rules about what string does what should not be separate from the code that
+    // actually implements these rules. It's particularly bad with strings.
+
     if (url.isEmpty()) {
         [_bridge setStatusText:@""];
         return;
@@ -366,7 +348,7 @@ void KWQKHTMLPartImpl::overURL(const QString &url, const QString &_target, int m
     
     KURL u = part->completeURL(url);
     
-    if (u.protocol() == QString("mailto")) {
+    if (u.protocol() == "mailto") {
         // FIXME: Add address book integration so we show the real name instead?
         const QString address = KURL::decode_string(u.path());
         [_bridge setStatusText:[NSString stringWithFormat:@"Send email to %@", address.getNSString()]];
@@ -379,18 +361,25 @@ void KWQKHTMLPartImpl::overURL(const QString &url, const QString &_target, int m
     if (target.isEmpty() && d->m_doc) {
         target = d->m_doc->baseTarget();
     }
-
+    
     if (target == "_blank") {
         format = @"Open \"%@\" in a new window";
-    } else if (!target.isEmpty() && target != "_self" && target == "_top" && target != "_parent") {
-        if (frameExists(target)) {
-            // FIXME: Distinguish existing frame in same window from existing frame in other window.
-            format = @"Go to \"%@\" in another frame";
+    } else {
+        WebCoreBridge *targetFrame;
+        if (target.isEmpty() || target != "_self" || target == "_top" || target != "_parent") {
+            targetFrame = _bridge;
         } else {
+            targetFrame = [_bridge frameNamed:target.getNSString()];
+        }
+        if (targetFrame == _bridge) {
+            format = @"Go to \"%@\"";
+        } else if (targetFrame == nil) {
             format = @"Open \"%@\" in a new window";
+        } else if ([targetFrame mainFrame] == [_bridge mainFrame]) {
+            format = @"Go to \"%@\" in another frame";
+        } else {
+            format = @"Go to \"%@\" in another window";
         }
-    } else {
-        format = @"Go to \"%@\"";
     }
     
     if ([_bridge modifierTrackingEnabled]) {
@@ -570,7 +559,6 @@ NodeImpl *KWQKHTMLPartImpl::nodeForWidget(QWidget *widget)
     return static_cast<const RenderWidget *>(widget->eventFilterObject())->element();
 }
 
-
 void KWQKHTMLPartImpl::saveDocumentState()
 {
     [_bridge saveDocumentState];
@@ -580,3 +568,9 @@ void KWQKHTMLPartImpl::restoreDocumentState()
 {
     [_bridge restoreDocumentState];
 }
+
+QPtrList<KWQKHTMLPartImpl> &KWQKHTMLPartImpl::mutableInstances()
+{
+    static QPtrList<KWQKHTMLPartImpl> instancesList;
+    return instancesList;
+}
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index 25e4f9d..b97036b 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -189,6 +189,8 @@ typedef khtml::RenderPart KHTMLRenderPart;
 - (void)saveDocumentState: (NSArray *)documentState;
 - (NSArray *)documentState;
 
+- (void)setNeedsReapplyStyles;
+
 @end
 
 // This interface definition allows those who hold a WebCoreBridge * to call all the methods
diff --git a/WebCore/kwq/WebCoreSettings.m b/WebCore/kwq/WebCoreSettings.mm
similarity index 96%
rename from WebCore/kwq/WebCoreSettings.m
rename to WebCore/kwq/WebCoreSettings.mm
index 4169b11..cf8a080 100644
--- a/WebCore/kwq/WebCoreSettings.m
+++ b/WebCore/kwq/WebCoreSettings.mm
@@ -25,6 +25,9 @@
 
 #import "WebCoreSettings.h"
 
+#import "KWQKHTMLPartImpl.h"
+#import "WebCoreBridge.h"
+
 @implementation WebCoreSettings
 
 + (WebCoreSettings *)sharedSettings
@@ -50,6 +53,9 @@
 
 - (void)_updateAllViews
 {
+    for (QPtrListIterator<KWQKHTMLPartImpl> it(KWQKHTMLPartImpl::instances()); it.current(); ++it) {
+        [it.current()->bridge() setNeedsReapplyStyles];
+    }
 }
 
 - (void)setStandardFontFamily:(NSString *)s

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list