Changeset 121735 in webkit


Ignore:
Timestamp:
Jul 3, 2012 12:06:06 AM (12 years ago)
Author:
hbono@chromium.org
Message:

Calculate client positions from offsets.
https://bugs.webkit.org/show_bug.cgi?id=73640

Reviewed by Tony Chang.

This change calculates client positions from offset positions at run time to
remove platform-dependent constants from this test.

  • fast/events/offsetX-offsetY-expected.txt:
  • fast/events/offsetX-offsetY.html:
  • platform/chromium-win/fast/events/offsetX-offsetY-expected.txt: Removed.
Location:
trunk/LayoutTests
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r121734 r121735  
     12012-07-03  Hironori Bono  <hbono@chromium.org>
     2
     3        Calculate client positions from offsets.
     4        https://bugs.webkit.org/show_bug.cgi?id=73640
     5
     6        Reviewed by Tony Chang.
     7
     8        This change calculates client positions from offset positions at run time to
     9        remove platform-dependent constants from this test.
     10
     11        * fast/events/offsetX-offsetY-expected.txt:
     12        * fast/events/offsetX-offsetY.html:
     13        * platform/chromium-win/fast/events/offsetX-offsetY-expected.txt: Removed.
     14
    1152012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
    216
  • trunk/LayoutTests/fast/events/offsetX-offsetY-expected.txt

    r102216 r121735  
    1515Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    1616
    17 PASS: event at (112, 62) hit abs-box at offset (32, 37)
    18 PASS: event at (157, 32) hit rel-box at offset (22, 24)
    19 PASS: event at (410, 30) hit fixed-box at offset (10, 10)
    20 PASS: event at (36, 272) hit with-bordertopextra at offset (4, 4)
    21 FAIL: event at (639, 207) expected to hit in-columns at (35, 5) but hit in-columns at (35, 15)
    22 PASS: event at (563, 410) hit inside-overflow at offset (7, 6)
    23 PASS: event at (112, 369) hit transformed at offset (11, 16)
     17PASS: event hit abs-box at offset (32, 37)
     18PASS: event hit rel-box at offset (22, 24)
     19PASS: event hit fixed-box at offset (10, 10)
     20PASS: event hit with-bordertopextra at offset (4, 4)
     21PASS: event hit in-columns at offset (35, 5)
     22PASS: event hit inside-overflow at offset (7, 6)
     23PASS: event hit transformed at offset (11, 16)
    2424
  • trunk/LayoutTests/fast/events/offsetX-offsetY.html

    r120792 r121735  
    3434        document.body.addEventListener('mousemove', mousemoved, false);
    3535
    36       dispatchEvent(112, 62, 'abs-box', 32, 37);
    37       dispatchEvent(157, 32, 'rel-box', 22, 24);
    38       dispatchEvent(410, 30, 'fixed-box', 10, 10);
    39       dispatchEvent(36, 272, 'with-bordertopextra', 4, 4);
    40       dispatchEvent(639, 207, 'in-columns', 35, 5);
    41       dispatchEvent(563, 410, 'inside-overflow', 7, 6);
    42       dispatchEvent(112, 369, 'transformed', 11, 16);
     36      var offsetX = 32;
     37      var offsetY = 37;
     38      var positions = sumPositions(document.getElementById('abs-box'));
     39      var clientX = positions.offsetLeft - positions.scrollLeft + offsetX;
     40      var clientY = positions.offsetTop - positions.scrollTop + offsetY;
     41      dispatchEvent(clientX, clientY, 'abs-box', offsetX, offsetY);
     42
     43      offsetX = 22;
     44      offsetY = 24;
     45      positions = sumPositions(document.getElementById('rel-box'));
     46      clientX = positions.offsetLeft + positions.clientLeft - positions.scrollLeft + offsetX;
     47      clientY = positions.offsetTop + positions.clientLeft - positions.scrollTop + offsetY;
     48      dispatchEvent(clientX, clientY, 'rel-box', offsetX, offsetY);
     49
     50      offsetX = 10;
     51      offsetY = 10;
     52      positions = sumPositions(document.getElementById('fixed-box'));
     53      clientX = positions.offsetLeft + offsetX;
     54      clientY = positions.offsetTop + offsetY;
     55      dispatchEvent(clientX, clientY, 'fixed-box', offsetX, offsetY);
     56
     57      offsetX = 4;
     58      offsetY = 4;
     59      positions = sumPositions(document.getElementById('with-bordertopextra'));
     60      clientX = positions.offsetLeft - positions.scrollLeft + offsetX;
     61      clientY = positions.offsetTop - positions.scrollTop + offsetY;
     62      dispatchEvent(clientX, clientY, 'with-bordertopextra', offsetX, offsetY);
     63
     64      offsetX = 35;
     65      offsetY = 5;
     66      positions = sumPositions(document.getElementById('in-columns'));
     67      clientX = positions.offsetLeft + positions.clientLeft - positions.scrollLeft + offsetX;
     68      clientY = positions.offsetTop + positions.clientTop - positions.scrollTop + offsetY;
     69      dispatchEvent(clientX, clientY, 'in-columns', offsetX, offsetY);
     70
     71      offsetX = 7;
     72      offsetY = 6;
     73      positions = sumPositions(document.getElementById('inside-overflow'));
     74      clientY = positions.offsetTop + positions.clientTop - positions.scrollTop + offsetY;
     75
     76      var content = document.getElementById('overflow-contents');
     77      positions = sumPositions(content);
     78      var inside = document.getElementById('inside-overflow');
     79      var borderLeft = 2;
     80      clientX = positions.offsetLeft + borderLeft + content.clientWidth - inside.clientWidth - window.scrollX + offsetX;
     81      dispatchEvent(clientX, clientY, 'inside-overflow', offsetX, offsetY);
     82
     83      offsetX = 11;
     84      offsetY = 16;
     85      positions = sumPositions(document.getElementById('transformed'));
     86      var sin20 = Math.sin(-20 * Math.PI / 180);
     87      var cos20 = Math.cos(-20 * Math.PI / 180);
     88      clientX = positions.offsetLeft + positions.clientLeft - positions.scrollLeft + 100 + Math.round(100 - (100 - offsetX) * cos20 - (60 - offsetY) * sin20);
     89      clientY = positions.offsetTop + positions.clientTop - positions.scrollTop + 50 + Math.round(60 + (100 - offsetX) * sin20 - (60 - offsetY) * cos20);
     90      dispatchEvent(clientX, clientY, 'transformed', offsetX, offsetY);
    4391           
    4492      if (window.testRunner)
     
    4694    }
    4795   
     96    function sumPositions(element)
     97    {
     98        var offsetLeft = 0;
     99        var offsetTop = 0;
     100        var clientLeft = 0;
     101        var clientTop = 0;
     102        var scrollLeft = 0;
     103        var scrollTop = 0;
     104        while (element) {
     105            offsetLeft += element.offsetLeft;
     106            offsetTop += element.offsetTop;
     107            clientLeft += element.clientLeft;
     108            clientTop += element.clientTop;
     109            scrollLeft += element.scrollLeft;
     110            scrollTop += element.scrollTop;
     111            element = element.offsetParent;
     112        }
     113        return { 'offsetLeft': offsetLeft, 'offsetTop': offsetTop, 'clientLeft': clientLeft, 'clientTop': clientTop, 'scrollLeft': scrollLeft, 'scrollTop': scrollTop };
     114    }
     115
    48116    function dispatchEvent(clientX, clientY, expectedElementID, expectedOffsetX, expectedOffsetY)
    49117    {
     
    65133          event.offsetX == event.expectedOffsetX &&
    66134          event.offsetY == event.expectedOffsetY)
    67         result = 'PASS: event at (' + event.clientX + ', ' + event.clientY + ') hit ' + element.id + ' at offset (' + event.offsetX + ', ' + event.offsetY + ')';
     135        result = 'PASS: event hit ' + element.id + ' at offset (' + event.offsetX + ', ' + event.offsetY + ')';
    68136      else
    69137        result = 'FAIL: event at (' + event.clientX + ', ' + event.clientY + ') expected to hit ' + event.expectedElement + ' at (' + event.expectedOffsetX + ', ' + event.expectedOffsetY + ') but hit ' + element.id + ' at (' + event.offsetX + ', ' + event.offsetY + ')';
Note: See TracChangeset for help on using the changeset viewer.