LayoutTests:
authoradele <adele@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Jan 2006 18:45:08 +0000 (18:45 +0000)
committeradele <adele@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Jan 2006 18:45:08 +0000 (18:45 +0000)
        Reviewed by Darin, committed by Adele.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6673
          Selection highlight doesn't scroll along with an image contained in an overflow:scroll block

        * fast/overflow/image-selection-highlight-expected.checksum: Added.
        * fast/overflow/image-selection-highlight-expected.png: Added.
        * fast/overflow/image-selection-highlight-expected.txt: Added.
        * fast/overflow/image-selection-highlight.html: Added.

WebCore:

        Test: fast/overflow/image-selection-highlight.html

        Reviewed by Darin, committed by Adele.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6673
          Selection highlight doesn't scroll along with an image contained in an overflow:scroll block

        * rendering/render_replaced.cpp:
        (WebCore::RenderReplaced::selectionRect): Subtract the containing block's scroll offset.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@12261 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/overflow/image-selection-highlight-expected.checksum [new file with mode: 0644]
LayoutTests/fast/overflow/image-selection-highlight-expected.png [new file with mode: 0644]
LayoutTests/fast/overflow/image-selection-highlight-expected.txt [new file with mode: 0644]
LayoutTests/fast/overflow/image-selection-highlight.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/rendering/render_replaced.cpp

index f524a7c..b26971c 100644 (file)
@@ -1,3 +1,15 @@
+2006-01-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
+
+        Reviewed by Darin, committed by Adele.
+
+        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6673
+          Selection highlight doesn't scroll along with an image contained in an overflow:scroll block
+
+        * fast/overflow/image-selection-highlight-expected.checksum: Added.
+        * fast/overflow/image-selection-highlight-expected.png: Added.
+        * fast/overflow/image-selection-highlight-expected.txt: Added.
+        * fast/overflow/image-selection-highlight.html: Added.
+
 2006-01-19  Anders Carlsson  <andersca@mac.com>
 
         Reviewed by Darin.
diff --git a/LayoutTests/fast/overflow/image-selection-highlight-expected.checksum b/LayoutTests/fast/overflow/image-selection-highlight-expected.checksum
new file mode 100644 (file)
index 0000000..bc71716
--- /dev/null
@@ -0,0 +1 @@
+8d34998d4a1daaf8d2545ccdca777d4f
\ No newline at end of file
diff --git a/LayoutTests/fast/overflow/image-selection-highlight-expected.png b/LayoutTests/fast/overflow/image-selection-highlight-expected.png
new file mode 100644 (file)
index 0000000..af4b324
Binary files /dev/null and b/LayoutTests/fast/overflow/image-selection-highlight-expected.png differ
diff --git a/LayoutTests/fast/overflow/image-selection-highlight-expected.txt b/LayoutTests/fast/overflow/image-selection-highlight-expected.txt
new file mode 100644 (file)
index 0000000..09807e2
--- /dev/null
@@ -0,0 +1,50 @@
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+layer at (0,0) size 800x600
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x36
+        RenderText {TEXT} at (0,0) size 212x18
+          text run at (0,0) width 212: "This tests for a regression against "
+        RenderInline {I} at (0,0) size 768x36
+          RenderInline {A} at (0,0) size 348x18 [color=#0000EE]
+            RenderText {TEXT} at (212,0) size 348x18
+              text run at (212,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=6673"
+          RenderText {TEXT} at (560,0) size 768x36
+            text run at (560,0) width 4: " "
+            text run at (564,0) width 204: "Selection highlight doesn't scroll"
+            text run at (0,18) width 369: "along with an image contained in an overflow:scroll block"
+        RenderText {TEXT} at (369,18) size 4x18
+          text run at (369,18) width 4: "."
+      RenderBlock {P} at (0,52) size 784x36
+        RenderText {TEXT} at (0,0) size 748x36
+          text run at (0,0) width 412: "There should be one contiguous highlight from \x{201C}elit\x{201D} to \x{201C}Etiam\x{201D}, "
+          text run at (412,0) width 336: "including the orange square, and no other highlighted"
+          text run at (0,18) width 36: "areas."
+      RenderBlock {HR} at (0,104) size 784x2 [border: (1px inset #000000)]
+layer at (8,122) size 100x200 clip at (8,122) size 85x200 scrollY 40 scrollHeight 288
+  RenderBlock {DIV} at (0,114) size 100x200
+    RenderText {TEXT} at (0,0) size 84x108
+      text run at (0,0) width 84: "Lorem ipsum"
+      text run at (0,18) width 51: "dolor sit"
+      text run at (0,36) width 34: "amet,"
+      text run at (0,54) width 78: "consectetuer"
+      text run at (0,72) width 64: "adipiscing"
+      text run at (0,90) width 27: "elit. "
+    RenderImage {IMG} at (27,94) size 10x10
+    RenderText {TEXT} at (37,90) size 83x198
+      text run at (37,90) width 4: " "
+      text run at (41,90) width 37: "Etiam"
+      text run at (0,108) width 57: "et ipsum."
+      text run at (0,126) width 31: "Nam"
+      text run at (0,144) width 78: "consectetuer"
+      text run at (0,162) width 81: "mi eget velit."
+      text run at (0,180) width 83: "Sed nec risus"
+      text run at (0,198) width 60: "vitae felis"
+      text run at (0,216) width 39: "auctor"
+      text run at (0,234) width 53: "ultricies."
+      text run at (0,252) width 79: "Pellentesque"
+      text run at (0,270) width 54: "aliquet..."
+selection start: position 58 of child 0 {TEXT} of child 7 {DIV} of child 1 {BODY} of child 0 {HTML} of document
+selection end:   position 11 of child 2 {TEXT} of child 7 {DIV} of child 1 {BODY} of child 0 {HTML} of document
diff --git a/LayoutTests/fast/overflow/image-selection-highlight.html b/LayoutTests/fast/overflow/image-selection-highlight.html
new file mode 100644 (file)
index 0000000..60a639c
--- /dev/null
@@ -0,0 +1,30 @@
+<html>
+<head>
+    <title>Highlighting a selected image in scrolled block</title>
+    <script type="text/javascript">
+        function test()
+        {
+            var t = document.getElementById('target');
+            window.getSelection().setBaseAndExtent(t.childNodes[0],58,t.childNodes[2],11);
+            t.scrollTop = 40;
+        }
+    </script>
+</head>
+<body onload="test()">
+    <p>
+        This tests for a regression against <i><a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=6673">http://bugzilla.opendarwin.org/show_bug.cgi?id=6673</a>
+        Selection highlight doesn't scroll along with an image contained in an overflow:scroll block</i>.
+    </p>
+    <p>
+        There should be one contiguous highlight from &ldquo;elit&rdquo; to &ldquo;Etiam&rdquo;,
+        including the orange square, and no other highlighted areas.
+    </p>
+    <hr>
+    <div id="target" style="overflow: auto; width: 100px; height: 200px;">
+     Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+    <img src="data:image/gif;base64,R0lGODlhCgAKAIAAAP/MAAAAACH5BAAAAAAALAAAAAAKAAoAAAIIhI+py+0PYysAOw==">
+     Etiam et ipsum. Nam consectetuer mi eget velit.
+     Sed nec risus vitae felis auctor ultricies. Pellentesque
+     aliquet...
+     </div>
+</body>
index 31069db..104e9fe 100644 (file)
@@ -1,3 +1,15 @@
+2006-01-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
+
+        Test: fast/overflow/image-selection-highlight.html
+
+        Reviewed by Darin, committed by Adele.
+        
+        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6673
+          Selection highlight doesn't scroll along with an image contained in an overflow:scroll block
+
+        * rendering/render_replaced.cpp:
+        (WebCore::RenderReplaced::selectionRect): Subtract the containing block's scroll offset.
+
 2006-01-19  Eric Seidel  <eseidel@apple.com>
 
         Reviewed by darin.
index 3469fa7..807e3ea 100644 (file)
@@ -186,6 +186,8 @@ IntRect RenderReplaced::selectionRect()
     
     int absx, absy;
     cb->absolutePosition(absx, absy);
+    if (cb->hasOverflowClip())
+        cb->layer()->subtractScrollOffset(absx, absy);
 
     return IntRect(selectionLeft + absx, selectionTop + absy, selectionRight - selectionLeft, selectionHeight);
 }