[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