[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

dbates at webkit.org dbates at webkit.org
Thu Feb 4 21:22:33 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 1feb1acb8febcc752edad6af40f72e47971357f8
Author: dbates at webkit.org <dbates at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 21 02:31:21 2010 +0000

    2010-01-20  Daniel Bates  <dbates at webkit.org>
    
            Reviewed by Tor Arne Vestbø.
    
            https://bugs.webkit.org/show_bug.cgi?id=29564
    
            [Qt] Fixes an issue where the height of <button>- and
            <input type="button">- elements are fixed to the height of the
            button label font plus padding. That is, the CSS height property
            is being ignored.
    
            Instead, we should honor the user-specified height, if appropriate
            for the platform and context. Notice, the Mac ports do not honor the
            height for <input type="button"> elements unless a border and/or
            background is also specified.
    
            Test: fast/css/button-height.html
    
            * platform/qt/RenderThemeQt.cpp:
            (WebCore::RenderThemeQt::RenderThemeQt):
            (WebCore::RenderThemeQt::adjustButtonStyle):
    2010-01-20  Daniel Bates  <dbates at webkit.org>
    
            Reviewed by Tor Arne Vestbø.
    
            https://bugs.webkit.org/show_bug.cgi?id=29564
    
            Tests that the user-specified height for <button>- and <input type="button">-
            elements are honored, if appropriate for the platform and context.
    
            * fast/css/button-height-expected.txt: Added.
            * fast/css/button-height.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53591 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 654c27c..881a97c 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2010-01-20  Daniel Bates  <dbates at webkit.org>
+
+        Reviewed by Tor Arne Vestbø.
+
+        https://bugs.webkit.org/show_bug.cgi?id=29564
+        
+        Tests that the user-specified height for <button>- and <input type="button">-
+        elements are honored, if appropriate for the platform and context.
+
+        * fast/css/button-height-expected.txt: Added.
+        * fast/css/button-height.html: Added.
+
 2010-01-20  Brady Eidson  <beidson at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/LayoutTests/fast/css/button-height-expected.txt b/LayoutTests/fast/css/button-height-expected.txt
new file mode 100644
index 0000000..3f3b68e
--- /dev/null
+++ b/LayoutTests/fast/css/button-height-expected.txt
@@ -0,0 +1,13 @@
+This tests that the specified height is honored (*) for <input> and <button> elements.
+(*) The Mac ports ignore the specified height for <input type="button"> elements unless a border and/or background CSS property is also specified (see the fifth button below). Disregarding padding, they render the button with a height equal to the height of the font used for the button label.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS document.getElementById('button1').offsetHeight is document.getElementById('button2').offsetHeight
+PASS document.getElementById('button3').offsetHeight is 40
+PASS document.getElementById('button4').offsetHeight is 40
+PASS document.getElementById('button5').offsetHeight is correct for this platform.
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/css/button-height.html b/LayoutTests/fast/css/button-height.html
new file mode 100644
index 0000000..b08d2e0
--- /dev/null
+++ b/LayoutTests/fast/css/button-height.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<link rel="stylesheet" href="../js/resources/js-test-style.css">
+<script src="../js/resources/js-test-pre.js"></script>
+<style>
+#button3, #button5 { height: 40px; }
+#button4 { height: 40px; background-color: yellow; }
+</style>
+<script>
+if (window.layoutTestController)
+    layoutTestController.dumpAsText();
+
+window.onload = function()
+{
+    shouldBe("document.getElementById('button1').offsetHeight", "document.getElementById('button2').offsetHeight");
+    shouldEvaluateTo("document.getElementById('button3').offsetHeight", 40);
+    shouldEvaluateTo("document.getElementById('button4').offsetHeight", 40);
+
+    // Note, the expected height is the height of button 1 for the Mac ports, and 40 otherwise.
+    var expectedButton5Height = (navigator.platform.indexOf("Mac") !== -1) ? document.getElementById("button1").offsetHeight : 40;
+    if (document.getElementById('button5').offsetHeight == expectedButton5Height)
+        testPassed("document.getElementById('button5').offsetHeight is correct for this platform.");
+    else
+        testFailed("document.getElementById('button5').offsetHeight is incorrect for this platform. Should be the same height as button 1 for the Mac ports and 40 otherwise.");
+
+    if (window.layoutTestController) {
+        var testContainer = document.getElementById("test-container");
+        if (testContainer)
+            document.body.removeChild(testContainer);   
+    }
+    debug('<br /><span class="pass">TEST COMPLETE</span>');
+}
+</script>
+</head>
+<body>
+<p id="description"></p>
+<div id="test-container">
+    <ol>
+        <li><input id="button1" type="button" value="unspecified height"/><p><strong>Expected height:</strong> height of button label font.</p></li>
+        <li><button id="button2">unspecified height</button><p><strong>Expected height:</strong> height of button label font.</p></li>
+        <li><button id="button3">height 40 pixels</button><p><strong>Expected height:</strong> 40 pixels.</p></li>
+        <li><input id="button4" type="button" value="height 40 pixels, background yellow"/><p><strong>Expected height:</strong> 40 pixels.</p></li>
+        <li><input id="button5" type="button" value="height 40 pixels (*)"/><p><strong>(*) Expected height:</strong><br/>Mac: height of button label font.<br/>Other: 40 pixels.</p></li>
+    </ol>
+</div>
+<hr/>
+<div id="console"></div>
+<script>
+    description("This tests that the specified height is honored (*) for &lt;input&gt; and &lt;button&gt; elements.<br/>" +
+                "(*) The Mac ports ignore the specified height for &lt;input type=&quot;button&quot;&gt; elements unless a " +
+                "border and/or background CSS property is also specified (see the fifth button below). Disregarding " +
+                "padding, they render the button with a height equal to the height of the font used for the button label.");
+    var successfullyParsed = true;
+</script>
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index cb55f49..759e18c 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,25 @@
+2010-01-20  Daniel Bates  <dbates at webkit.org>
+
+        Reviewed by Tor Arne Vestbø.
+
+        https://bugs.webkit.org/show_bug.cgi?id=29564
+
+        [Qt] Fixes an issue where the height of <button>- and
+        <input type="button">- elements are fixed to the height of the
+        button label font plus padding. That is, the CSS height property
+        is being ignored.
+
+        Instead, we should honor the user-specified height, if appropriate
+        for the platform and context. Notice, the Mac ports do not honor the
+        height for <input type="button"> elements unless a border and/or
+        background is also specified.
+
+        Test: fast/css/button-height.html
+
+        * platform/qt/RenderThemeQt.cpp:
+        (WebCore::RenderThemeQt::RenderThemeQt):
+        (WebCore::RenderThemeQt::adjustButtonStyle):
+
 2010-01-20  Brady Eidson  <beidson at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebCore/platform/qt/RenderThemeQt.cpp b/WebCore/platform/qt/RenderThemeQt.cpp
index 428dbbc..c8df328 100644
--- a/WebCore/platform/qt/RenderThemeQt.cpp
+++ b/WebCore/platform/qt/RenderThemeQt.cpp
@@ -397,8 +397,13 @@ void RenderThemeQt::adjustButtonStyle(CSSStyleSelector* selector, RenderStyle* s
     // Ditch the border.
     style->resetBorder();
 
-    // Height is locked to auto.
-    style->setHeight(Length(Auto));
+#ifdef Q_WS_MAC
+    if (style->appearance() == PushButtonPart) {
+        // The Mac ports ignore the specified height for <input type="button"> elements
+        // unless a border and/or background CSS property is also specified.
+        style->setHeight(Length(Auto));
+    }
+#endif
 
     // White-space is locked to pre
     style->setWhiteSpace(PRE);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list