[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
ojan at chromium.org
ojan at chromium.org
Wed Dec 22 12:15:26 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit e390957911a261efbd391323365a3c402cfd5d29
Author: ojan at chromium.org <ojan at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Aug 17 22:33:57 2010 +0000
2010-08-17 Ojan Vafai <ojan at chromium.org>
Reviewed by Tony Chang.
selectionStart clobbered if textarea isn't focused
https://bugs.webkit.org/show_bug.cgi?id=43814
* fast/forms/text-control-select-blurred-expected.txt: Added.
* fast/forms/text-control-select-blurred.html: Added.
2010-08-17 Ojan Vafai <ojan at chromium.org>
Reviewed by Tony Chang.
selectionStart clobbered if textarea isn't focused
https://bugs.webkit.org/show_bug.cgi?id=43814
If a text control is blurred, setting selectionStart/end should use
the cached selection value, which is currently stored on the form
control element.
Test: fast/forms/text-control-select-blurred.html
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::setSelectionStart):
(WebCore::RenderTextControl::setSelectionEnd):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index d4e9d7e..f810607 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-08-17 Ojan Vafai <ojan at chromium.org>
+
+ Reviewed by Tony Chang.
+
+ selectionStart clobbered if textarea isn't focused
+ https://bugs.webkit.org/show_bug.cgi?id=43814
+
+ * fast/forms/text-control-select-blurred-expected.txt: Added.
+ * fast/forms/text-control-select-blurred.html: Added.
+
2010-08-17 Dmitry Titov <dimich at chromium.org>
Reviewed by David Levin.
diff --git a/LayoutTests/fast/forms/text-control-select-blurred-expected.txt b/LayoutTests/fast/forms/text-control-select-blurred-expected.txt
new file mode 100644
index 0000000..c3a3e79
--- /dev/null
+++ b/LayoutTests/fast/forms/text-control-select-blurred-expected.txt
@@ -0,0 +1,9 @@
+Tests that setting selectionEnd on a blurred text control does not clobber selectionStart.
+
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+
diff --git a/LayoutTests/fast/forms/text-control-select-blurred.html b/LayoutTests/fast/forms/text-control-select-blurred.html
new file mode 100644
index 0000000..6bb5815
--- /dev/null
+++ b/LayoutTests/fast/forms/text-control-select-blurred.html
@@ -0,0 +1,30 @@
+<div>Tests that setting selectionEnd on a blurred text control does not clobber selectionStart.</div>
+<textarea>This is dummy text. This is dummy text.</textarea>
+<input value="This is dummy text. This is dummy text">
+<pre id="logger"></pre>
+<script>
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+function assert(property, actual, expected)
+{
+ if (expected == actual)
+ result = "PASS";
+ else
+ result = "FAIL: " + property + " was " + actual + " expected " + expected + ".";
+
+ document.getElementById('logger').innerHTML += result + "\n";
+}
+
+function runTest(editArea)
+{
+ editArea.selectionStart = 10;
+ editArea.blur();
+ assert("selectionStart", editArea.selectionStart, 10);
+ editArea.selectionEnd = 20;
+ assert("selectionStart", editArea.selectionStart, 10);
+ assert("selectionEnd", editArea.selectionEnd, 20);
+}
+runTest(document.querySelector('textarea'));
+runTest(document.querySelector('input'));
+</script>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4caa5da..29dd4cd 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-08-17 Ojan Vafai <ojan at chromium.org>
+
+ Reviewed by Tony Chang.
+
+ selectionStart clobbered if textarea isn't focused
+ https://bugs.webkit.org/show_bug.cgi?id=43814
+
+ If a text control is blurred, setting selectionStart/end should use
+ the cached selection value, which is currently stored on the form
+ control element.
+
+ Test: fast/forms/text-control-select-blurred.html
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::setSelectionStart):
+ (WebCore::RenderTextControl::setSelectionEnd):
+
2010-08-17 Dmitry Titov <dimich at chromium.org>
Reviewed by David Levin.
diff --git a/WebCore/rendering/RenderTextControl.cpp b/WebCore/rendering/RenderTextControl.cpp
index d1c8039..5f8c788 100644
--- a/WebCore/rendering/RenderTextControl.cpp
+++ b/WebCore/rendering/RenderTextControl.cpp
@@ -29,6 +29,7 @@
#include "EventNames.h"
#include "Frame.h"
#include "HTMLBRElement.h"
+#include "HTMLFormControlElement.h"
#include "HTMLNames.h"
#include "HitTestResult.h"
#include "RenderLayer.h"
@@ -217,12 +218,14 @@ int RenderTextControl::selectionEnd()
void RenderTextControl::setSelectionStart(int start)
{
- setSelectionRange(start, max(start, selectionEnd()));
+ HTMLTextFormControlElement* element = static_cast<HTMLTextFormControlElement*>(node());
+ setSelectionRange(start, max(start, element->selectionEnd()));
}
void RenderTextControl::setSelectionEnd(int end)
{
- setSelectionRange(min(end, selectionStart()), end);
+ HTMLTextFormControlElement* element = static_cast<HTMLTextFormControlElement*>(node());
+ setSelectionRange(min(end, element->selectionStart()), end);
}
void RenderTextControl::select()
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list