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

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:21:49 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 7291ef12a53de6993a010be0a2392ae43710089b
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Jan 11 19:06:35 2004 +0000

    	Fix for frame repainting bugs (3510669, 3515442).  This is a narrower fix than the previous attempt.
    
            Reviewed by darin
    
            * khtml/rendering/render_frames.cpp:
            (RenderPart::updateWidgetPositions):
            * khtml/rendering/render_frames.h:
            * khtml/rendering/render_replaced.cpp:
            (RenderWidget::updateWidgetPositions):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5887 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index d683945..efb6c95 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,15 @@
+2004-01-11  David Hyatt  <hyatt at apple.com>
+
+	Fix for frame repainting bugs (3510669, 3515442).  This is a narrower fix than the previous attempt.
+	
+        Reviewed by darin
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderPart::updateWidgetPositions):
+        * khtml/rendering/render_frames.h:
+        * khtml/rendering/render_replaced.cpp:
+        (RenderWidget::updateWidgetPositions):
+
 2004-01-10  Darin Adler  <darin at apple.com>
 
         Reviewed by John.
diff --git a/WebCore/khtml/rendering/render_frames.cpp b/WebCore/khtml/rendering/render_frames.cpp
index 973e0c9..3935dc0 100644
--- a/WebCore/khtml/rendering/render_frames.cpp
+++ b/WebCore/khtml/rendering/render_frames.cpp
@@ -37,6 +37,7 @@
 #include "misc/htmltags.h"
 #include "khtmlview.h"
 #include "khtml_part.h"
+#include "render_arena.h"
 
 #include <kapplication.h>
 #include <kcursor.h>
@@ -972,4 +973,34 @@ void RenderPartObject::slotViewCleared()
   }
 }
 
+#if APPLE_CHANGES
+// FIXME: This should not be necessary.  Remove this once WebKit knows to properly schedule
+// layouts using WebCore when objects resize.
+void RenderPart::updateWidgetPositions()
+{
+    if (!m_widget)
+        return;
+    
+    int x, y, width, height;
+    absolutePosition(x,y);
+    x += borderLeft() + paddingLeft();
+    y += borderTop() + paddingTop();
+    width = m_width - borderLeft() - borderRight() - paddingLeft() - paddingRight();
+    height = m_height - borderTop() - borderBottom() - paddingTop() - paddingBottom();
+    QRect newBounds(x,y,width,height);
+    if (newBounds != m_widget->frameGeometry()) {
+        // The widget changed positions.  Update the frame geometry.
+        RenderArena *arena = ref();
+        element()->ref();
+        m_widget->setFrameGeometry(newBounds);
+        element()->deref();
+        deref(arena);
+        
+        QScrollView *view = static_cast<QScrollView *>(m_widget);
+        if (view && view->inherits("KHTMLView"))
+            static_cast<KHTMLView*>(view)->scheduleRelayout();
+    }
+}
+#endif
+
 #include "render_frames.moc"
diff --git a/WebCore/khtml/rendering/render_frames.h b/WebCore/khtml/rendering/render_frames.h
index 4e0067b..4e15eb4 100644
--- a/WebCore/khtml/rendering/render_frames.h
+++ b/WebCore/khtml/rendering/render_frames.h
@@ -99,6 +99,12 @@ public:
 
     virtual void setWidget( QWidget *widget );
 
+#if APPLE_CHANGES
+    // FIXME: This should not be necessary.  Remove this once WebKit knows to properly schedule
+    // layouts using WebCore when objects resize.
+    void updateWidgetPositions();
+#endif
+    
     /**
      * Called by KHTMLPart to notify the frame object that loading the
      * part was not successfuly. (called either asyncroniously after a

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list