Title: [115779] trunk/Source/WebCore
Revision
115779
Author
[email protected]
Date
2012-05-01 19:09:34 -0700 (Tue, 01 May 2012)

Log Message

Remove uneeded min/max pref width assignment from RenderView
https://bugs.webkit.org/show_bug.cgi?id=85325

Reviewed by Julien Chaffraix.

This code has been with us since the original import from KDE:
http://trac.webkit.org/browser/trunk/WebCore/khtml/rendering/render_root.cpp?annotate=blame&rev=4#L93
It's never been documented, or explained.  Removing it showed no
effect on my local layout tests run.
However this code blocks proper implementation of <iframe seamless>
as we have to do proper min/max width negotiation across the iframe boundary.

I would remove the whole function, but doing so opens a whole can of worms
as this override is public, yet normally this function is *private* (well protected on RenderBox).
It seems plausible that frame flattening code needs this override since it doesn't always
call the min/maxPreferredWidth() calls which normally automatically call this compute*
function if the pref-widths are dirty.
Instead of trying to track that all down, I'm just removing this line, and we'll go
back and remove the whole function at a later date if possible.

* rendering/RenderView.cpp:
(WebCore::RenderView::computePreferredLogicalWidths):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (115778 => 115779)


--- trunk/Source/WebCore/ChangeLog	2012-05-02 01:36:44 UTC (rev 115778)
+++ trunk/Source/WebCore/ChangeLog	2012-05-02 02:09:34 UTC (rev 115779)
@@ -1,3 +1,28 @@
+2012-05-01  Eric Seidel  <[email protected]>
+
+        Remove uneeded min/max pref width assignment from RenderView
+        https://bugs.webkit.org/show_bug.cgi?id=85325
+
+        Reviewed by Julien Chaffraix.
+
+        This code has been with us since the original import from KDE:
+        http://trac.webkit.org/browser/trunk/WebCore/khtml/rendering/render_root.cpp?annotate=blame&rev=4#L93
+        It's never been documented, or explained.  Removing it showed no
+        effect on my local layout tests run.
+        However this code blocks proper implementation of <iframe seamless>
+        as we have to do proper min/max width negotiation across the iframe boundary.
+
+        I would remove the whole function, but doing so opens a whole can of worms
+        as this override is public, yet normally this function is *private* (well protected on RenderBox).
+        It seems plausible that frame flattening code needs this override since it doesn't always
+        call the min/maxPreferredWidth() calls which normally automatically call this compute*
+        function if the pref-widths are dirty.
+        Instead of trying to track that all down, I'm just removing this line, and we'll go
+        back and remove the whole function at a later date if possible.
+
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::computePreferredLogicalWidths):
+
 2012-05-01  Nate Chapin  <[email protected]>
 
         REGRESSION(r115654): PDFs come up blank

Modified: trunk/Source/WebCore/rendering/RenderView.cpp (115778 => 115779)


--- trunk/Source/WebCore/rendering/RenderView.cpp	2012-05-02 01:36:44 UTC (rev 115778)
+++ trunk/Source/WebCore/rendering/RenderView.cpp	2012-05-02 02:09:34 UTC (rev 115779)
@@ -99,8 +99,6 @@
     ASSERT(preferredLogicalWidthsDirty());
 
     RenderBlock::computePreferredLogicalWidths();
-
-    m_maxPreferredLogicalWidth = m_minPreferredLogicalWidth;
 }
 
 bool RenderView::isChildAllowed(RenderObject* child, RenderStyle*) const

Modified: trunk/Source/WebCore/rendering/RenderView.h (115778 => 115779)


--- trunk/Source/WebCore/rendering/RenderView.h	2012-05-02 01:36:44 UTC (rev 115778)
+++ trunk/Source/WebCore/rendering/RenderView.h	2012-05-02 02:09:34 UTC (rev 115779)
@@ -44,18 +44,20 @@
 
     bool hitTest(const HitTestRequest&, HitTestResult&);
 
-    virtual const char* renderName() const { return "RenderView"; }
+    virtual const char* renderName() const OVERRIDE { return "RenderView"; }
 
-    virtual bool isRenderView() const { return true; }
+    virtual bool isRenderView() const OVERRIDE { return true; }
 
-    virtual bool requiresLayer() const { return true; }
+    virtual bool requiresLayer() const OVERRIDE { return true; }
 
-    virtual bool isChildAllowed(RenderObject*, RenderStyle*) const;
+    virtual bool isChildAllowed(RenderObject*, RenderStyle*) const OVERRIDE;
 
-    virtual void layout();
-    virtual void computeLogicalWidth();
-    virtual void computeLogicalHeight();
-    virtual void computePreferredLogicalWidths();
+    virtual void layout() OVERRIDE;
+    virtual void computeLogicalWidth() OVERRIDE;
+    virtual void computeLogicalHeight() OVERRIDE;
+    // FIXME: This override is not needed and should be removed
+    // it only exists to make computePreferredLogicalWidths public.
+    virtual void computePreferredLogicalWidths() OVERRIDE;
 
     // The same as the FrameView's layoutHeight/layoutWidth but with null check guards.
     int viewHeight() const;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to