[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

philn at webkit.org philn at webkit.org
Sun Feb 20 23:05:32 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 29c909d591e475b775a00b0064f4147e7f67fd4e
Author: philn at webkit.org <philn at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 17 08:26:24 2011 +0000

    2011-01-17  Philippe Normand  <pnormand at igalia.com>
    
            Unreviewed, rolling out r75914.
            http://trac.webkit.org/changeset/75914
            https://bugs.webkit.org/show_bug.cgi?id=49177
    
            multiple crashes on GTK
    
            * platform/gtk/Skipped:
    2011-01-17  Philippe Normand  <pnormand at igalia.com>
    
            Unreviewed, rolling out r75914.
            http://trac.webkit.org/changeset/75914
            https://bugs.webkit.org/show_bug.cgi?id=49177
    
            multiple crashes on GTK
    
            * platform/ScrollView.cpp:
            (WebCore::ScrollView::removeChild):
            (WebCore::ScrollView::wheelEvent):
            * platform/gtk/MainFrameScrollbarGtk.cpp:
            (MainFrameScrollbarGtk::attachAdjustment):
            (MainFrameScrollbarGtk::gtkValueChanged):
            * platform/gtk/ScrollViewGtk.cpp:
            (WebCore::ScrollView::platformInit):
            (WebCore::ScrollView::platformAddChild):
            (WebCore::ScrollView::platformRemoveChild):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75924 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index f1bfaae..deb090c 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2011-01-17  Philippe Normand  <pnormand at igalia.com>
+
+        Unreviewed, rolling out r75914.
+        http://trac.webkit.org/changeset/75914
+        https://bugs.webkit.org/show_bug.cgi?id=49177
+
+        multiple crashes on GTK
+
+        * platform/gtk/Skipped:
+
 2011-01-16  Martin Robinson  <mrobinson at igalia.com>
 
         Reviewed by Xan Lopez.
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index 0f764d7..1cf8462 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -5522,6 +5522,9 @@ fast/frames/meta-refresh-user-gesture.html
 # https://bugs.webkit.org/show_bug.cgi?id=49052
 fast/canvas/pointInPath.html
 
+# https://bugs.webkit.org/show_bug.cgi?id=49177
+fast/events/scroll-after-click-on-tab-index.html
+
 # https://bugs.webkit.org/show_bug.cgi?id=49179
 animations/stop-animation-on-suspend.html
 
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 8c168f8..a1664d6 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,22 @@
+2011-01-17  Philippe Normand  <pnormand at igalia.com>
+
+        Unreviewed, rolling out r75914.
+        http://trac.webkit.org/changeset/75914
+        https://bugs.webkit.org/show_bug.cgi?id=49177
+
+        multiple crashes on GTK
+
+        * platform/ScrollView.cpp:
+        (WebCore::ScrollView::removeChild):
+        (WebCore::ScrollView::wheelEvent):
+        * platform/gtk/MainFrameScrollbarGtk.cpp:
+        (MainFrameScrollbarGtk::attachAdjustment):
+        (MainFrameScrollbarGtk::gtkValueChanged):
+        * platform/gtk/ScrollViewGtk.cpp:
+        (WebCore::ScrollView::platformInit):
+        (WebCore::ScrollView::platformAddChild):
+        (WebCore::ScrollView::platformRemoveChild):
+
 2011-01-17  Gyuyoung Kim  <gyuyoung.kim at samsung.com>
 
         Unreviewed build fix.
diff --git a/Source/WebCore/platform/ScrollView.cpp b/Source/WebCore/platform/ScrollView.cpp
index e8631e0..6cf13a4 100644
--- a/Source/WebCore/platform/ScrollView.cpp
+++ b/Source/WebCore/platform/ScrollView.cpp
@@ -75,7 +75,6 @@ void ScrollView::addChild(PassRefPtr<Widget> prpChild)
         platformAddChild(child);
 }
 
-#if !PLATFORM(GTK)
 void ScrollView::removeChild(Widget* child)
 {
     ASSERT(child->parent() == this);
@@ -84,7 +83,6 @@ void ScrollView::removeChild(Widget* child)
     if (child->platformWidget())
         platformRemoveChild(child);
 }
-#endif
 
 void ScrollView::setHasHorizontalScrollbar(bool hasBar)
 {
@@ -1068,19 +1066,19 @@ void ScrollView::setScrollOrigin(const IntPoint& origin, bool updatePosition)
         updateScrollbars(scrollOffset());
 }
 
+#if !PLATFORM(WX) && !PLATFORM(GTK) && !PLATFORM(EFL)
+
 void ScrollView::platformInit()
 {
 }
 
-#if !PLATFORM(WX) && !PLATFORM(GTK) && !PLATFORM(EFL)
-
 void ScrollView::platformDestroy()
 {
 }
 
 #endif
 
-#if !PLATFORM(WX) && !PLATFORM(QT) && !PLATFORM(MAC)
+#if !PLATFORM(WX) && !PLATFORM(GTK) && !PLATFORM(QT) && !PLATFORM(MAC)
 
 void ScrollView::platformAddChild(Widget*)
 {
diff --git a/Source/WebCore/platform/gtk/MainFrameScrollbarGtk.cpp b/Source/WebCore/platform/gtk/MainFrameScrollbarGtk.cpp
index bd09bbb..c2e24e0 100644
--- a/Source/WebCore/platform/gtk/MainFrameScrollbarGtk.cpp
+++ b/Source/WebCore/platform/gtk/MainFrameScrollbarGtk.cpp
@@ -59,9 +59,6 @@ MainFrameScrollbarGtk::~MainFrameScrollbarGtk()
 
 void MainFrameScrollbarGtk::attachAdjustment(GtkAdjustment* adjustment)
 {
-    if (m_adjustment.get() == adjustment)
-        return;
-
     if (m_adjustment)
         detachAdjustment();
 
@@ -69,10 +66,9 @@ void MainFrameScrollbarGtk::attachAdjustment(GtkAdjustment* adjustment)
     if (!m_adjustment)
         return;
 
+    g_signal_connect(m_adjustment.get(), "value-changed", G_CALLBACK(MainFrameScrollbarGtk::gtkValueChanged), this);
     updateThumbProportion();
     updateThumbPosition();
-    g_signal_connect(m_adjustment.get(), "value-changed", G_CALLBACK(MainFrameScrollbarGtk::gtkValueChanged), this);
-
 }
 
 void MainFrameScrollbarGtk::detachAdjustment()
@@ -112,9 +108,7 @@ void MainFrameScrollbarGtk::updateThumbProportion()
 
 void MainFrameScrollbarGtk::gtkValueChanged(GtkAdjustment*, MainFrameScrollbarGtk* that)
 {
-    int newValue = static_cast<int>(gtk_adjustment_get_value(that->m_adjustment.get()));
-    if (newValue != that->value())
-        that->setValue(newValue, NotFromScrollAnimator);
+    that->setValue(static_cast<int>(gtk_adjustment_get_value(that->m_adjustment.get())), NotFromScrollAnimator);
 }
 
 void MainFrameScrollbarGtk::paint(GraphicsContext* context, const IntRect& rect)
diff --git a/Source/WebCore/platform/gtk/ScrollViewGtk.cpp b/Source/WebCore/platform/gtk/ScrollViewGtk.cpp
index 76999a1..a8c7562 100644
--- a/Source/WebCore/platform/gtk/ScrollViewGtk.cpp
+++ b/Source/WebCore/platform/gtk/ScrollViewGtk.cpp
@@ -51,6 +51,10 @@ using namespace std;
 
 namespace WebCore {
 
+void ScrollView::platformInit()
+{
+}
+
 void ScrollView::platformDestroy()
 {
     m_horizontalAdjustment = 0;
@@ -74,21 +78,6 @@ PassRefPtr<Scrollbar> ScrollView::createScrollbar(ScrollbarOrientation orientati
     return MainFrameScrollbarGtk::create(this, orientation, m_verticalAdjustment.get());
 }
 
-void ScrollView::removeChild(Widget* child)
-{
-    ASSERT(child->parent() == this);
-    child->setParent(0);
-    m_children.remove(child);
-
-    // We need to override the version of ScrollView::removeChild in ScrollView.cpp because
-    // we must inform main frame scrollbars that their adjustments no longer control the
-    // WebCore scrollbars. We cannot use platformRemoveChild for this task, because even
-    // main frame scrollbars do not have a platform widget (a GtkAdjustment is not a GtkWidget).
-    if (parent() || (child != horizontalScrollbar()) && (child != verticalScrollbar()))
-        return;
-    static_cast<MainFrameScrollbarGtk*>(child)->detachAdjustment();
-}
-
 void ScrollView::setHorizontalAdjustment(GtkAdjustment* hadj, bool resetValues)
 {
     ASSERT(!parent() || !hadj);
@@ -173,6 +162,14 @@ void ScrollView::setGtkAdjustments(GtkAdjustment* hadj, GtkAdjustment* vadj, boo
     setVerticalAdjustment(vadj, resetValues);
 }
 
+void ScrollView::platformAddChild(Widget* child)
+{
+}
+
+void ScrollView::platformRemoveChild(Widget* child)
+{
+}
+
 IntRect ScrollView::visibleContentRect(bool includeScrollbars) const
 {
     // If we are an interior frame scrollbar or are in some sort of transition

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list