[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

dglazkov at chromium.org dglazkov at chromium.org
Wed Dec 22 16:38:10 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit cafccabf86a6f7fc1fdec6d83a02c5ab175247e9
Author: dglazkov at chromium.org <dglazkov at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Nov 29 17:52:20 2010 +0000

    2010-11-24  Dimitri Glazkov  <dglazkov at chromium.org>
    
            Reviewed by Darin Adler.
    
            REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
            https://bugs.webkit.org/show_bug.cgi?id=49868
    
            * fast/forms/disabled-search-input-expected.txt: Added.
            * fast/forms/disabled-search-input.html: Added.
    2010-11-24  Dimitri Glazkov  <dglazkov at chromium.org>
    
            Reviewed by Darin Adler.
    
            REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
            https://bugs.webkit.org/show_bug.cgi?id=49868
    
            The problem here was that the inner text element of search input was first laid out as
            disabled and thus with a 0-height. This would prevent a hit test to ever reach it, even
            if it's enabled.
    
            Test: fast/forms/disabled-search-input.html
    
            * rendering/RenderBlock.cpp:
            (WebCore::RenderBlock::hasLineIfEmpty): Removed a check for textarea that is no longer necessary.
            * rendering/TextControlInnerElements.cpp:
            (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): Added an override to ensure that
                an empty inner text element is always one-line high.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72807 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 6df8d50..39daaa9 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-11-24  Dimitri Glazkov  <dglazkov at chromium.org>
+
+        Reviewed by Darin Adler.
+
+        REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
+        https://bugs.webkit.org/show_bug.cgi?id=49868
+
+        * fast/forms/disabled-search-input-expected.txt: Added.
+        * fast/forms/disabled-search-input.html: Added.
+
 2010-11-29  Vitaly Repeshko  <vitalyr at chromium.org>
 
         Unreviewed.
diff --git a/LayoutTests/fast/forms/disabled-search-input-expected.txt b/LayoutTests/fast/forms/disabled-search-input-expected.txt
new file mode 100644
index 0000000..f5175ab
--- /dev/null
+++ b/LayoutTests/fast/forms/disabled-search-input-expected.txt
@@ -0,0 +1,2 @@
+
+The inner text element of the search input should never be 0-height: PASS
diff --git a/LayoutTests/fast/forms/disabled-search-input.html b/LayoutTests/fast/forms/disabled-search-input.html
new file mode 100644
index 0000000..e40bab1
--- /dev/null
+++ b/LayoutTests/fast/forms/disabled-search-input.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<script>
+
+if (window.layoutTestController) {
+    layoutTestController.dumpAsText();
+    layoutTestController.waitUntilDone();
+}
+
+var logDiv;
+
+function log(msg, success)
+{
+    logDiv.appendChild(document.createElement('div')).textContent = msg + ': ' + (!!success ? 'PASS' : 'FAIL');
+}
+
+function clickOn(element)
+{
+    if (!window.eventSender)
+        return;
+
+    var x = element.offsetLeft + element.offsetWidth / 2;
+    var y = element.offsetTop + element.offsetHeight / 2;
+    eventSender.mouseMoveTo(x, y);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
+}
+
+function runTest()
+{
+    logDiv = document.getElementById('console');
+    var input = document.getElementsByTagName('input')[0];
+    setTimeout(function() {
+        input.disabled = false;
+        if (!window.eventSender)
+            return;
+
+        var x = input.offsetLeft + input.offsetWidth / 2;
+        var y = input.offsetTop + input.offsetHeight / 2;
+        eventSender.mouseMoveTo(x, y);
+        eventSender.mouseDown();
+        eventSender.mouseUp();
+        eventSender.keyDown('a');
+        log('The inner text element of the search input should never be 0-height', input.value == 'a');
+        layoutTestController.notifyDone();
+    }, 0);
+}
+
+</script>
+</head>
+<body onload="runTest()">
+    <div>
+        <input id="foo" type="search" results="0" disabled>
+    </div>
+<div id="console">
+</div>
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 77f0da5..65611db 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,22 @@
+2010-11-24  Dimitri Glazkov  <dglazkov at chromium.org>
+
+        Reviewed by Darin Adler.
+
+        REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
+        https://bugs.webkit.org/show_bug.cgi?id=49868
+
+        The problem here was that the inner text element of search input was first laid out as
+        disabled and thus with a 0-height. This would prevent a hit test to ever reach it, even
+        if it's enabled.
+
+        Test: fast/forms/disabled-search-input.html
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::hasLineIfEmpty): Removed a check for textarea that is no longer necessary.
+        * rendering/TextControlInnerElements.cpp:
+        (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): Added an override to ensure that
+            an empty inner text element is always one-line high.
+
 2010-11-29  W. James MacLean  <wjmaclean at chromium.org>
 
        Reviewed by Dirk Schulze.
diff --git a/WebCore/rendering/RenderBlock.cpp b/WebCore/rendering/RenderBlock.cpp
index d3ea2e0..c2cf6e4 100644
--- a/WebCore/rendering/RenderBlock.cpp
+++ b/WebCore/rendering/RenderBlock.cpp
@@ -5229,7 +5229,7 @@ bool RenderBlock::hasLineIfEmpty() const
     if (node()->isContentEditable() && node()->rootEditableElement() == node())
         return true;
     
-    if (node()->isShadowNode() && (node()->shadowParentNode()->hasTagName(inputTag) || node()->shadowParentNode()->hasTagName(textareaTag)))
+    if (node()->isShadowNode() && (node()->shadowParentNode()->hasTagName(inputTag)))
         return true;
     
     return false;
diff --git a/WebCore/rendering/TextControlInnerElements.cpp b/WebCore/rendering/TextControlInnerElements.cpp
index 3068a78..92c51ee 100644
--- a/WebCore/rendering/TextControlInnerElements.cpp
+++ b/WebCore/rendering/TextControlInnerElements.cpp
@@ -52,6 +52,7 @@ public:
     RenderTextControlInnerBlock(Node* node, bool isMultiLine) : RenderBlock(node), m_multiLine(isMultiLine) { }
 
 private:
+    virtual bool hasLineIfEmpty() const { return true; }
     virtual VisiblePosition positionForPoint(const IntPoint&);
 
     bool m_multiLine;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list