Changeset 20691 in webkit


Ignore:
Timestamp:
Apr 3, 2007 3:50:34 PM (17 years ago)
Author:
justing
Message:

Reviewed by darin


<http://bugs.webkit.org/show_bug.cgi?id=13268>
Make editing/selection/drag-in-iframe.html valid and deterministic

  • editing/resources/select-and-drag-iframe.html: Removed.
  • editing/selection/drag-in-iframe-expected.checksum:
  • editing/selection/drag-in-iframe-expected.png:
  • editing/selection/drag-in-iframe-expected.txt:
  • editing/selection/drag-in-iframe.html:
Location:
trunk/LayoutTests
Files:
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r20690 r20691  
     12007-04-03  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by darin
     4       
     5        <http://bugs.webkit.org/show_bug.cgi?id=13268>
     6        Make editing/selection/drag-in-iframe.html valid and deterministic
     7
     8        * editing/resources/select-and-drag-iframe.html: Removed.
     9        * editing/selection/drag-in-iframe-expected.checksum:
     10        * editing/selection/drag-in-iframe-expected.png:
     11        * editing/selection/drag-in-iframe-expected.txt:
     12        * editing/selection/drag-in-iframe.html:
     13
    1142007-04-03  Adele Peterson  <adele@apple.com>
    215
  • trunk/LayoutTests/editing/selection/drag-in-iframe-expected.checksum

    r20275 r20691  
    1 11265ae311eab430bbc9bfc493fbc8df
     1e2c5631ad61edafb104b352de006f4a7
  • trunk/LayoutTests/editing/selection/drag-in-iframe-expected.txt

    r19605 r20691  
    1 EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of BODY > HTML > #document to 3 of BODY > HTML > #document
    2 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 1 of #text > BODY > HTML > #document to 1 of #text > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
    3 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
    4 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > BODY > HTML > #document to 1 of #text > BODY > HTML > #document toDOMRange:range from 0 of #text > BODY > HTML > #document to 4 of #text > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
    5 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
    61layer at (0,0) size 800x600
    72  RenderView at (0,0) size 800x600
     
    94  RenderBlock {HTML} at (0,0) size 800x600
    105    RenderBody {BODY} at (8,8) size 784x584
    11       RenderPartObject {IFRAME} at (0,0) size 302x152 [border: (1px solid #000000)]
    12         layer at (0,0) size 300x150
    13           RenderView at (0,0) size 300x150
    14         layer at (0,0) size 300x150
    15           RenderBlock {HTML} at (0,0) size 300x150
    16             RenderBody {BODY} at (8,8) size 284x134
    17               RenderText {#text} at (0,0) size 92x18
    18                 text run at (0,0) width 92: "Drag onto me!"
    19               RenderBR {BR} at (92,14) size 0x0
    20               RenderText {#text} at (0,18) size 47x18
    21                 text run at (0,18) width 47: "Or Me!"
    22       RenderText {#text} at (0,0) size 0x0
    23       RenderText {#text} at (0,0) size 0x0
     6      RenderBlock {P} at (0,0) size 784x36
     7        RenderText {#text} at (0,0) size 753x36
     8          text run at (0,0) width 538: "This is an automatic pixel test. To test interactively, drag selected text onto the iframe "
     9          text run at (538,0) width 215: "below and verify that a drag caret "
     10          text run at (0,18) width 156: "appears inside the frame."
     11      RenderBlock (anonymous) at (0,52) size 784x152
     12        RenderPartObject {IFRAME} at (0,0) size 302x152 [border: (1px solid #000000)]
     13          layer at (0,0) size 300x150
     14            RenderView at (0,0) size 300x150
     15          layer at (0,0) size 300x150
     16            RenderBlock {HTML} at (0,0) size 300x150
     17              RenderBody {BODY} at (8,8) size 284x134
     18                RenderInline {SPAN} at (0,0) size 37x18
     19                  RenderText {#text} at (0,0) size 37x18
     20                    text run at (0,0) width 37: "There"
     21                RenderText {#text} at (37,0) size 168x18
     22                  text run at (37,0) width 168: " should be a caret here --> "
     23                RenderBR {BR} at (205,14) size 0x0
     24                RenderText {#text} at (0,18) size 42x18
     25                  text run at (0,18) width 42: "See it?"
     26        RenderText {#text} at (0,0) size 0x0
     27        RenderText {#text} at (0,0) size 0x0
     28        RenderText {#text} at (0,0) size 0x0
     29        RenderText {#text} at (0,0) size 0x0
  • trunk/LayoutTests/editing/selection/drag-in-iframe.html

    r17562 r20691  
    1 <script>
    2 if (window.layoutTestController)
    3      layoutTestController.dumpEditingCallbacks();
    4 </script>
     1<html>
    52<body contenteditable="true">
    6 <iframe style="border: 1px solid black;" src="../resources/select-and-drag-iframe.html" id="subframe"></iframe>
     3    <p>
     4        This is an automatic pixel test. To test interactively, drag selected text onto the iframe
     5        below and verify that a drag caret appears inside the frame.
     6    </p>
     7    <iframe onload="test()" id="subframe" style="border: 1px solid black;"
     8        src="data:text/html,<body contenteditable><span id='target'>There</span> should be a caret here --> <br>See it?</body>"></iframe>
     9    <script>
     10        function dragAndDrop()
     11        {
     12            var iframe = document.getElementById("subframe");
     13            var target = iframe.contentDocument.getElementById("target");
     14       
     15            var x1 = iframe.offsetLeft + target.offsetLeft + target.offsetWidth / 2;
     16            var x2 = iframe.offsetLeft + iframe.offsetWidth - 20;
     17            var y = iframe.offsetTop + target.offsetTop + target.offsetHeight / 2;
     18       
     19            window.getSelection().setBaseAndExtent(target, 0, target, 1);
     20       
     21            eventSender.mouseMoveTo(x1, y);
     22            eventSender.dragMode = false;
     23            eventSender.mouseDown();
     24            eventSender.leapForward(1000);
     25            eventSender.mouseMoveTo(x2, y);
     26       
     27            // Dump pixel results before we drop so we can see where the drag caret is painted.
     28            layoutTestController.notifyDone();
     29       
     30            eventSender.mouseUp();
     31        }
     32       
     33        function test()
     34        {
     35            if (!window.layoutTestController)
     36                return;
    737
    8 <script>
    9 
    10 function step2() {
    11     // This is a hack because when we try to get the document
    12     // for the subframe to get elements from it, the frame fails to load.
    13     eventSender.mouseMoveTo(30, 20);
    14     eventSender.mouseDown();
    15     eventSender.mouseUp();
    16     eventSender.mouseDown();
    17     eventSender.mouseUp();
    18    
    19     eventSender.leapForward(1000);
    20     eventSender.mouseDown();
    21     eventSender.leapForward(500);
    22     eventSender.mouseMoveTo(200, 20);
    23    
    24     // Dump pixel results before we drop so we can see where the drag caret is painted.
    25     window.layoutTestController.notifyDone();
    26    
    27     // Drop outside the subframe to avoid strange bugs when dropping content inside an editable frame.
    28     eventSender.mouseMoveTo(600, 400);   
    29     eventSender.mouseUp();
    30    
    31     // Mouse down to avoid assertion about multiple frames selections.
    32     eventSender.mouseDown();
    33     eventSender.mouseUp();
    34 }
    35 
    36 function runTest() {
    37     if (!window.layoutTestController)
    38         return;
    39 
    40     window.layoutTestController.waitUntilDone();
    41     // Give the iframe a moment to come into being.
    42     window.setTimeout(step2, 100);
    43 }
    44 
    45 runTest();
    46 
    47 </script>
     38            layoutTestController.waitUntilDone();
     39            setTimeout(dragAndDrop, 0);
     40        }
     41    </script>
    4842</body>
     43</html>
Note: See TracChangeset for help on using the changeset viewer.