[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.1/kdelibs/khtml
From:       Germain Garand <germain () ebooksfrance ! org>
Date:       2008-10-19 22:33:12
Message-ID: 1224455592.607396.6570.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 873675 by ggarand:

automatically merged revision 869765:
argh. Forgotten files - part of "HTML Frame fixes" commit.

 M  +14 -48    rendering/render_replaced.cpp  
 M  +0 -6      rendering/render_replaced.h  
 M  +0 -4      rendering/render_table.cpp  
 M  +0 -1      test_regression.cpp  


--- branches/KDE/4.1/kdelibs/khtml/rendering/render_replaced.cpp #873674:873675
@@ -194,8 +194,6 @@
     assert(!isAnonymous());
     m_view  = node->document()->view();
     m_arena.reset(renderArena());
-    m_resizePending = false;
-    m_discardResizes = false;
     m_needsMask = false;
     m_ownsWidget = true;
 
@@ -262,60 +260,29 @@
     w = qMin( w, 2000 );
 
     if (m_widget->width() != w || m_widget->height() != h) {
-        if (isRedirectedWidget() && qobject_cast<KHTMLView*>(m_widget)) {
-             m_widget->resize( w, h);
-             if (!m_widget->isVisible()) {
-                 // Emission of Resize event is delayed.
-                 // we have to pre-call KHTMLView::resizeEvent
-                 // so that viewport size change and subsequent layout update
-                 // is effective synchronously, which is important for JS.
-                 // This only work because m_widget is a redirected view,
-                 // and thus has visibleWidth()/visibleHeight() that mirror this RenderWidget,
-                 // rather than the effective widget size. - gg.
-                 QResizeEvent e( QSize(w,h), QSize(m_widget->width(),m_widget->height()));
-                 static_cast<KHTMLView*>(m_widget)->resizeEvent( &e );
-             }
-        } else {
-            m_resizePending = isRedirectedWidget();
-            ref();
-            element()->ref();
-            QApplication::postEvent( this, new QWidgetResizeEvent( w, h ) );
-            element()->deref();
-            deref();
-        }
-    }
+        m_widget->resize( w, h);
+        if (isRedirectedWidget() && qobject_cast<KHTMLView*>(m_widget) && !m_widget->isVisible()) {
+             // Emission of Resize event is delayed.
+             // we have to pre-call KHTMLView::resizeEvent
+             // so that viewport size change and subsequent layout update
+             // is effective synchronously, which is important for JS.
+             // This only work because m_widget is a redirected view,
+             // and thus has visibleWidth()/visibleHeight() that mirror this RenderWidget,
+             // rather than the effective widget size. - gg.
+             QResizeEvent e( QSize(w,h), QSize(m_widget->width(),m_widget->height()));
+             static_cast<KHTMLView*>(m_widget)->resizeEvent( &e );
+         }
+     }
 }
 
-void RenderWidget::cancelPendingResize()
-{
-    if (!m_widget)
-        return;
-    m_discardResizes = true;
-    QApplication::sendPostedEvents(this, QWidgetResizeEvent::Type);
-    m_discardResizes = false;
-}
-
 bool RenderWidget::event( QEvent *e )
 {
-    if ( m_widget && (e->type() == (QEvent::Type)QWidgetResizeEvent::Type) ) {
-        m_resizePending = false;
-        if (m_discardResizes)
-            return true;
-        QWidgetResizeEvent *re = static_cast<QWidgetResizeEvent *>(e);
-        m_widget->resize( re->w,  re->h );
-        repaint();
-    }
     // eat all events - except if this is a frame (in which case KHTMLView handles it all)
     if ( qobject_cast<KHTMLView*>( m_widget ) )
         return QObject::event( e );
     return true;
 }
 
-void RenderWidget::flushWidgetResizes() //static
-{
-    QApplication::sendPostedEvents( 0, QWidgetResizeEvent::Type );
-}
-
 bool RenderWidget::isRedirectedWidget() const
 {
     KHTMLWidget* k = dynamic_cast<KHTMLWidget*>(m_widget);
@@ -372,7 +339,6 @@
             m_widget->move(0, -500000);
             m_widget->hide();
         }
-        m_resizePending = false;
     }
 }
 
@@ -591,7 +557,7 @@
         return;
 
     // not visible or not even once layouted
-    if (style()->visibility() != VISIBLE || m_y <= -500000 || m_resizePending )
+    if (style()->visibility() != VISIBLE || m_y <= -500000)
         return;
 
     if ( (_ty > paintInfo.r.bottom()) || (_ty + m_height <= paintInfo.r.top()) ||
--- branches/KDE/4.1/kdelibs/khtml/rendering/render_replaced.h #873674:873675
@@ -99,7 +99,6 @@
 
     void deref();
 
-    void cancelPendingResize();
     bool needsMask() const { return m_needsMask; }
 
     static void paintWidget(PaintInfo& pI, QWidget *widget, int tx, int ty, QPixmap* buffer[] = 0);
@@ -112,9 +111,6 @@
     virtual void dump(QTextStream &stream, const QString &ind) const;
 #endif
 
-    // for ECMA to flush all pending resizes
-    KHTML_EXPORT static void flushWidgetResizes();
-
 public Q_SLOTS:
     void slotWidgetDestructed();
 
@@ -156,8 +152,6 @@
     //so it doesn't get yanked from us, etc.
     SharedPtr<RenderArena> m_arena; 
 
-    bool m_resizePending;
-    bool m_discardResizes;
     bool m_needsMask;
     bool m_ownsWidget;
 
--- branches/KDE/4.1/kdelibs/khtml/rendering/render_table.cpp #873674:873675
@@ -1556,10 +1556,6 @@
     bool didFlex = false;
     while (o) {
         if (!o->isText() && o->style()->height().isPercent()) {
-            if (o->isWidget()) {
-                // cancel resizes from transitory relayouts
-                static_cast<RenderWidget *>(o)->cancelPendingResize();
-            }
             o->setNeedsLayout(true, false);
             p->setChildNeedsLayout(true, false);
             didFlex = true;
--- branches/KDE/4.1/kdelibs/khtml/test_regression.cpp #873674:873675
@@ -340,7 +340,6 @@
 void PartMonitor::partCompleted()
 {
     m_completed = true;
-    RenderWidget::flushWidgetResizes();
     m_timeout_timer->stop();
     connect(m_timeout_timer, SIGNAL(timeout()),this, SLOT( timeout() ) );
 	m_timeout_timer->setSingleShot(true);
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic