Diff
Modified: trunk/LayoutTests/ChangeLog (96384 => 96385)
--- trunk/LayoutTests/ChangeLog 2011-09-30 04:11:39 UTC (rev 96384)
+++ trunk/LayoutTests/ChangeLog 2011-09-30 04:44:39 UTC (rev 96385)
@@ -1,3 +1,17 @@
+2011-09-29 Fady Samuel <fsam...@chromium.org>
+
+ Fixed Hit testing on Framesets when Frameset is transformed
+ https://bugs.webkit.org/show_bug.cgi?id=67740
+
+ Reviewed by Simon Fraser.
+
+ * fast/frames/frame-set-rotation-hit-expected.png: Added.
+ * fast/frames/frame-set-rotation-hit-expected.txt: Added.
+ * fast/frames/frame-set-rotation-hit.html: Added.
+ * fast/frames/frame-set-scaling-hit-expected.png: Added.
+ * fast/frames/frame-set-scaling-hit-expected.txt: Added.
+ * fast/frames/frame-set-scaling-hit.html: Added.
+
2011-09-29 Adam Barth <aba...@webkit.org>
These tests can also time out.
Added: trunk/LayoutTests/fast/frames/frame-set-rotation-hit-expected.png (0 => 96385)
--- trunk/LayoutTests/fast/frames/frame-set-rotation-hit-expected.png (rev 0)
+++ trunk/LayoutTests/fast/frames/frame-set-rotation-hit-expected.png 2011-09-30 04:44:39 UTC (rev 96385)
@@ -0,0 +1,6 @@
+\x89PNG
+
+
+IHDR X ' )tEXtchecksum c20b9f727459283b9e5294af68ec05f0zl+X
+\xF5IDATx\x9C\xED\xDA\xC1m\xC30\xC10p *'\xBD\xAEB*ƽ1
+\xF8d,@ɞ\xA9\xE0\x9D>ǜ\xF3\xE7|\xC6c\xAC\x9E _m\xDE\xCFx \xAE\xE2w\xF5 \x80O#\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b\xB7\xD5^{\xFE=WO x\xD3Ik۶\xD5 \xDEt\xD2\xC0:\x8Ec\xF5\xF8j\xFB\xBE\xAF\x9E pacιz\xC3\xE31VO\x80\xAF6\xEFg\xBC W\xE1\x93; @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @L` \xC4 @l\xCC9Wo \xF8(^\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b\xFF3\x94(\xBB\x92 IEND\xAEB`\x82
\ No newline at end of file
Added: trunk/LayoutTests/fast/frames/frame-set-rotation-hit-expected.txt (0 => 96385)
--- trunk/LayoutTests/fast/frames/frame-set-rotation-hit-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/frames/frame-set-rotation-hit-expected.txt 2011-09-30 04:44:39 UTC (rev 96385)
@@ -0,0 +1,18 @@
+layer at (0,0) size 800x800
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderFrameSet {FRAMESET} at (0,0) size 800x600 [bgcolor=#FF0000]
+ RenderFrame {FRAME} at (0,0) size 398x600
+ layer at (0,0) size 398x600
+ RenderView at (0,0) size 398x600
+ layer at (0,0) size 398x600
+ RenderBlock {HTML} at (0,0) size 398x600
+ RenderBody {BODY} at (8,8) size 382x584 [bgcolor=#008000]
+ RenderFrame {FRAME} at (404,0) size 396x600
+ layer at (0,0) size 396x600
+ RenderView at (0,0) size 396x600
+ layer at (0,0) size 396x600
+ RenderBlock {HTML} at (0,0) size 396x600
+ RenderBody {BODY} at (8,8) size 380x584 [bgcolor=#008000]
Added: trunk/LayoutTests/fast/frames/frame-set-rotation-hit.html (0 => 96385)
--- trunk/LayoutTests/fast/frames/frame-set-rotation-hit.html (rev 0)
+++ trunk/LayoutTests/fast/frames/frame-set-rotation-hit.html 2011-09-30 04:44:39 UTC (rev 96385)
@@ -0,0 +1,25 @@
+<html>
+ <head>
+ <title>FrameSet Rotation Hit Test</title>
+
+ <script>
+ function init() {
+ if (!window.eventSender)
+ return;
+ // Scale the page and resize the frames to verify hit testing on the frameset
+ eventSender.scalePageBy(0.5, 0, 0);
+ var leftPanelWidth = window.innerWidth / 8;
+ eventSender.mouseMoveTo(window.innerWidth / 4, leftPanelWidth);
+ eventSender.mouseDown();
+ eventSender.mouseMoveTo(window.innerWidth / 4, 2 * leftPanelWidth);
+ eventSender.mouseUp();
+ }
+ window._onload_ = init;
+ </script>
+ </head>
+ <!--rotate the frameset and translate it to make sure the entire frameset is visible after scaling-->
+ <frameset style="background-color: red; -webkit-transform: rotate(90deg) translate(100px, 0px);" cols="25%,75%">
+ <frame src="" bgcolor='green'></body>">
+ <frame src="" bgcolor='green'></body>">
+ </frameset>
+</html>
Added: trunk/LayoutTests/fast/frames/frame-set-scaling-hit-expected.png (0 => 96385)
--- trunk/LayoutTests/fast/frames/frame-set-scaling-hit-expected.png (rev 0)
+++ trunk/LayoutTests/fast/frames/frame-set-scaling-hit-expected.png 2011-09-30 04:44:39 UTC (rev 96385)
@@ -0,0 +1,6 @@
+\x89PNG
+
+
+IHDR X ' )tEXtchecksum 7dc241f5e4cf90913251e5e2525378bb\xA13tD
+\xCCIDATx\x9C\xED\xD8A
+\xC30 \xC1\xA4\xFC)\x99bk`\x98L\xB0\xB9\xFAX\xC9R4\x83\xE0\x9E\xAB;\x8F\xEB\x80\xD6\xFD\xB9\xC7s\xCE\xF9\x9E\xBB\xB7\xF0(\xEB\xBBvO \xF8\xCBk\xF7 \x80\xA7X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 X 1\x81 ;\xD7Z\xBB7 <\x8A &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b &\xB0 b \xF6\xA8\xA1\xA9\xAC\xEF\xC3\xCB IEND\xAEB`\x82
\ No newline at end of file
Added: trunk/LayoutTests/fast/frames/frame-set-scaling-hit-expected.txt (0 => 96385)
--- trunk/LayoutTests/fast/frames/frame-set-scaling-hit-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/frames/frame-set-scaling-hit-expected.txt 2011-09-30 04:44:39 UTC (rev 96385)
@@ -0,0 +1,17 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderFrameSet {FRAMESET} at (0,0) size 800x600 [bgcolor=#FF0000]
+ RenderFrame {FRAME} at (0,0) size 398x600
+ layer at (0,0) size 398x600
+ RenderView at (0,0) size 398x600
+ layer at (0,0) size 398x600
+ RenderBlock {HTML} at (0,0) size 398x600
+ RenderBody {BODY} at (8,8) size 382x584 [bgcolor=#008000]
+ RenderFrame {FRAME} at (404,0) size 396x600
+ layer at (0,0) size 396x600
+ RenderView at (0,0) size 396x600
+ layer at (0,0) size 396x600
+ RenderBlock {HTML} at (0,0) size 396x600
+ RenderBody {BODY} at (8,8) size 380x584 [bgcolor=#008000]
Added: trunk/LayoutTests/fast/frames/frame-set-scaling-hit.html (0 => 96385)
--- trunk/LayoutTests/fast/frames/frame-set-scaling-hit.html (rev 0)
+++ trunk/LayoutTests/fast/frames/frame-set-scaling-hit.html 2011-09-30 04:44:39 UTC (rev 96385)
@@ -0,0 +1,24 @@
+<html>
+ <head>
+ <title>Frame Scale Hit Test</title>
+
+ <script>
+ function init() {
+ if (!window.eventSender)
+ return;
+ // Scale the page and resize the frames to verify hit testing on the frameset
+ var leftPanelWidth = window.innerWidth / 8;
+ eventSender.scalePageBy(0.5, 0, 0);
+ eventSender.mouseMoveTo(leftPanelWidth, window.innerHeight / 4);
+ eventSender.mouseDown();
+ eventSender.mouseMoveTo(2 * leftPanelWidth, window.innerHeight / 4);
+ eventSender.mouseUp();
+ }
+ window._onload_ = init;
+ </script>
+ </head>
+ <frameset style="background-color: red; -webkit-transform-origin: 0% 0%;" cols="25%,75%">
+ <frame src="" bgcolor='green'></body>">
+ <frame src="" bgcolor='green'></body>">
+ </frameset>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (96384 => 96385)
--- trunk/Source/WebCore/ChangeLog 2011-09-30 04:11:39 UTC (rev 96384)
+++ trunk/Source/WebCore/ChangeLog 2011-09-30 04:44:39 UTC (rev 96385)
@@ -1,3 +1,16 @@
+2011-09-29 Fady Samuel <fsam...@chromium.org>
+
+ Fixed Hit testing on Framesets when Frameset is transformed
+ https://bugs.webkit.org/show_bug.cgi?id=67740
+
+ Reviewed by Simon Fraser.
+
+ Tests: fast/frames/frame-set-rotation-hit.html
+ fast/frames/frame-set-scaling-hit.html
+
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::userResize):
+
2011-09-29 Dirk Pranke <dpra...@chromium.org>
fix gyp warnings in chromium for renamed files
Modified: trunk/Source/WebCore/rendering/RenderFrameSet.cpp (96384 => 96385)
--- trunk/Source/WebCore/rendering/RenderFrameSet.cpp 2011-09-30 04:11:39 UTC (rev 96384)
+++ trunk/Source/WebCore/rendering/RenderFrameSet.cpp 2011-09-30 04:44:39 UTC (rev 96385)
@@ -699,9 +699,9 @@
if (needsLayout())
return false;
if (evt->type() == eventNames().mousedownEvent && evt->button() == LeftButton) {
- FloatPoint pos = localToAbsolute();
- startResizing(m_cols, evt->absoluteLocation().x() - pos.x());
- startResizing(m_rows, evt->absoluteLocation().y() - pos.y());
+ FloatPoint localPos = absoluteToLocal(evt->absoluteLocation(), false, true);
+ startResizing(m_cols, localPos.x());
+ startResizing(m_rows, localPos.y());
if (m_cols.m_splitBeingResized != noSplit || m_rows.m_splitBeingResized != noSplit) {
setIsResizing(true);
return true;
@@ -709,9 +709,9 @@
}
} else {
if (evt->type() == eventNames().mousemoveEvent || (evt->type() == eventNames().mouseupEvent && evt->button() == LeftButton)) {
- FloatPoint pos = localToAbsolute();
- continueResizing(m_cols, evt->absoluteLocation().x() - pos.x());
- continueResizing(m_rows, evt->absoluteLocation().y() - pos.y());
+ FloatPoint localPos = absoluteToLocal(evt->absoluteLocation(), false, true);
+ continueResizing(m_cols, localPos.x());
+ continueResizing(m_rows, localPos.y());
if (evt->type() == eventNames().mouseupEvent && evt->button() == LeftButton) {
setIsResizing(false);
return true;