[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

hamaji at chromium.org hamaji at chromium.org
Thu Apr 8 00:33:46 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 59b65c97347a6e9a160d2e4aa9aa7ada3b0c8875
Author: hamaji at chromium.org <hamaji at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Dec 12 01:50:40 2009 +0000

    2009-12-11  Shinichiro Hamaji  <hamaji at chromium.org>
    
            Reviewed by Darin Adler.
    
            body with display:inline causes crash
            https://bugs.webkit.org/show_bug.cgi?id=32371
    
            * fast/inline/inline-body-crash-expected.txt: Copied from LayoutTests/fast/css-generated-content/absolute-position-inside-inline-expected.txt.
            * fast/inline/inline-body-crash.html: Added.
            * fast/inline/inline-body-with-scrollbar-crash-expected.txt: Copied from LayoutTests/fast/css-generated-content/absolute-position-inside-inline-expected.txt.
            * fast/inline/inline-body-with-scrollbar-crash.html: Added.
    2009-12-11  Shinichiro Hamaji  <hamaji at chromium.org>
    
            Reviewed by Darin Adler.
    
            body with display:inline causes crash
            https://bugs.webkit.org/show_bug.cgi?id=32371
    
            Tests: fast/inline/inline-body-crash.html
                   fast/inline/inline-body-with-scrollbar-crash.html
    
            * page/FrameView.cpp:
            (WebCore::FrameView::createScrollbar):
            (WebCore::FrameView::layout):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52036 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index d0649da..21dcce9 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2009-12-11  Shinichiro Hamaji  <hamaji at chromium.org>
+
+        Reviewed by Darin Adler.
+
+        body with display:inline causes crash
+        https://bugs.webkit.org/show_bug.cgi?id=32371
+
+        * fast/inline/inline-body-crash-expected.txt: Copied from LayoutTests/fast/css-generated-content/absolute-position-inside-inline-expected.txt.
+        * fast/inline/inline-body-crash.html: Added.
+        * fast/inline/inline-body-with-scrollbar-crash-expected.txt: Copied from LayoutTests/fast/css-generated-content/absolute-position-inside-inline-expected.txt.
+        * fast/inline/inline-body-with-scrollbar-crash.html: Added.
+
 2009-12-11  Brady Eidson  <beidson at apple.com>
 
         Reviewed by Darin Adler.
diff --git a/LayoutTests/fast/css-generated-content/absolute-position-inside-inline-expected.txt b/LayoutTests/fast/inline/inline-body-crash-expected.txt
similarity index 100%
copy from LayoutTests/fast/css-generated-content/absolute-position-inside-inline-expected.txt
copy to LayoutTests/fast/inline/inline-body-crash-expected.txt
diff --git a/LayoutTests/fast/inline/inline-body-crash.html b/LayoutTests/fast/inline/inline-body-crash.html
new file mode 100644
index 0000000..a66959d
--- /dev/null
+++ b/LayoutTests/fast/inline/inline-body-crash.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+<title>inline body causes crash</title>
+<script>
+  if (window.layoutTestController)
+      layoutTestController.dumpAsText();
+</script>
+</head>
+
+<body style="display: inline;">
+  <marquee>No crash means PASS</marquee>
+</body>
+
+</html>
diff --git a/LayoutTests/fast/css-generated-content/absolute-position-inside-inline-expected.txt b/LayoutTests/fast/inline/inline-body-with-scrollbar-crash-expected.txt
similarity index 100%
copy from LayoutTests/fast/css-generated-content/absolute-position-inside-inline-expected.txt
copy to LayoutTests/fast/inline/inline-body-with-scrollbar-crash-expected.txt
diff --git a/LayoutTests/fast/inline/inline-body-with-scrollbar-crash.html b/LayoutTests/fast/inline/inline-body-with-scrollbar-crash.html
new file mode 100644
index 0000000..1eeb0fd
--- /dev/null
+++ b/LayoutTests/fast/inline/inline-body-with-scrollbar-crash.html
@@ -0,0 +1,17 @@
+<html>
+<head>
+<title>inline body causes crash with custom scrollbar</title>
+<style>
+  ::-webkit-scrollbar { width: 5px; height: 5px; }
+</style>
+<script>
+  if (window.layoutTestController)
+      layoutTestController.dumpAsText();
+</script>
+</head>
+
+<body style="overflow: scroll; display: inline;">
+  <div style="width: 5000px; height: 5000px;">No crash means PASS</div>
+</body>
+
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index e44f96a..42eb3d8 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2009-12-11  Shinichiro Hamaji  <hamaji at chromium.org>
+
+        Reviewed by Darin Adler.
+
+        body with display:inline causes crash
+        https://bugs.webkit.org/show_bug.cgi?id=32371
+
+        Tests: fast/inline/inline-body-crash.html
+               fast/inline/inline-body-with-scrollbar-crash.html
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::createScrollbar):
+        (WebCore::FrameView::layout):
+
 2009-12-11  Brady Eidson  <beidson at apple.com>
 
         Rubberstamped by Sam Weinig.
diff --git a/WebCore/page/FrameView.cpp b/WebCore/page/FrameView.cpp
index 873b465..639134d 100644
--- a/WebCore/page/FrameView.cpp
+++ b/WebCore/page/FrameView.cpp
@@ -345,7 +345,7 @@ PassRefPtr<Scrollbar> FrameView::createScrollbar(ScrollbarOrientation orientatio
     // Try the <body> element first as a scrollbar source.
     Element* body = doc ? doc->body() : 0;
     if (body && body->renderer() && body->renderer()->style()->hasPseudoStyle(SCROLLBAR))
-        return RenderScrollbar::createCustomScrollbar(this, orientation, body->renderBox());
+        return RenderScrollbar::createCustomScrollbar(this, orientation, body->renderer()->enclosingBox());
     
     // If the <body> didn't have a custom style, then the root element might.
     Element* docElement = doc ? doc->documentElement() : 0;
@@ -604,8 +604,7 @@ void FrameView::layout(bool allowSubtree)
                 vMode = ScrollbarAlwaysOff;
                 hMode = ScrollbarAlwaysOff;
             } else if (body->hasTagName(bodyTag)) {
-                if (!m_firstLayout && m_size.height() != layoutHeight()
-                        && toRenderBox(body->renderer())->stretchesToViewHeight())
+                if (!m_firstLayout && m_size.height() != layoutHeight() && body->renderer()->enclosingBox()->stretchesToViewHeight())
                     body->renderer()->setChildNeedsLayout(true);
                 // It's sufficient to just check the X overflow,
                 // since it's illegal to have visible in only one direction.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list