[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