1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
5 <script src="../../resources/js-test.js"></script>
6 <script type="text/javascript">
7 function doScroll(x, y, deltaX, deltaY) {
8 eventSender.gestureScrollBegin(x, y);
9 eventSender.gestureScrollUpdate(deltaX, deltaY);
10 eventSender.gestureScrollEnd(0, 0);
13 function doResize(t, offsetX, offsetY, deltaX, deltaY, expectResize)
16 rect = target.getBoundingClientRect();
17 old_width = target.offsetWidth;
18 old_height = target.offsetHeight;
19 doScroll(rect.right + offsetX, rect.bottom + offsetY, deltaX, deltaY);
22 if (expectResize == "resize") {
23 deltaXExpected = deltaX;
24 deltaYExpected = deltaY;
27 shouldBe("target.offsetWidth - old_width", "deltaXExpected");
28 shouldBe("target.offsetHeight - old_height", "deltaYExpected");
31 function resize(id, offsetX, offsetY, deltaX, deltaY, expectedDeltaX, expectedDeltaY)
33 debug("\nResize " + id + " at offset (" + offsetX + "," + offsetY + ")");
34 var target = document.getElementById(id);
35 doResize(target, offsetX, offsetY, deltaX, deltaY, expectedDeltaX, expectedDeltaY);
38 function resizeInIframe(id, iframe_id, offsetX, offsetY, deltaX, deltaY, expectedDeltaX, expectedDeltaY)
40 debug("\nResize " + id + "in iframe " + iframe_id + " at offset (" + offsetX + "," + offsetY + ")");
41 var iframe = document.getElementById(iframe_id);
42 var rect = iframe.getBoundingClientRect();
43 doResize(iframe.contentDocument.getElementById(id),
44 offsetX + rect.left, offsetY + rect.top,
45 deltaX, deltaY, expectedDeltaX, expectedDeltaY);
50 if (!window.testRunner)
53 // Scroll the page first to test that resize works with scrolled page.
54 document.documentElement.scrollTop = 50;
56 // 1. Touch scrolling starting at outside of the object, e.g. offset (6, 7)
57 // to bottom right corner of the object, won't do the resize.
58 // 2. Touch scrolling starting at inside the object, and within the normal
59 // resizer area (15x15), e.g. offset (-6, -7) to bottom right corner of
60 // the object, will do the resize.
61 // 3. Touch scrolling starting at inside the object, and only a little bit
62 // off the resizer area, e.g. offset (-20, -20) to bottom right corner of
63 // the object, will do the resize.
65 resize("div", -6, -7, 20, 10, "resize");
66 resize("div", 6, 7, 20, 10, "noresize");
67 resize("textarea1", -20, -20, 20, 10, "resize");
69 // Scroll the page again
70 document.documentElement.scrollTop += 100;
72 resize("iframe1", -6, -7, 20, 10, "resize");
73 resize("iframe1", -20, -20, 20, 10, "resize");
74 resizeInIframe("textarea2", "iframe1", -6, -7, 20, 20, "resize");
81 border: blue 2px solid;
89 border: blue 2px solid;
93 <body onload="test()">
97 <i><a href="https://code.google.com/p/chromium/issues/detail?id=150601">https://code.google.com/p/chromium/issues/detail?id=150601</a>
98 Can't resize a textarea with touch</i>.
101 <div id="placeholder" style="width: 150px; height: 150px;">a placeholder so that we have enough elements to scroll the page</div>
102 <div id="div" style="width: 150px; height: 100px;;"></div>
103 <textarea id="textarea1" style="width: 150px; height: 100px;"></textarea>
105 <iframe id="iframe1" src="resources/resize-corner-tracking-touch-iframe.html" style="resize:both; width: 200px; height: 200px"></iframe>
106 <pre id="console"></pre>