RESOLVED WORKSFORME 13812
Autoscroll in nested frames scrolls the wrong frame
https://bugs.webkit.org/show_bug.cgi?id=13812
Summary Autoscroll in nested frames scrolls the wrong frame
George Staikos
Reported 2007-05-22 08:54:38 PDT
Autoscroll in nested frames causes the parent frame to scroll instead. Patch attached.
Attachments
Fixes the problem - implements virtual function (730 bytes, patch)
2007-05-22 08:55 PDT, George Staikos
adele: review-
George Staikos
Comment 1 2007-05-22 08:55:38 PDT
Created attachment 14655 [details] Fixes the problem - implements virtual function
Darin Adler
Comment 2 2007-05-22 10:08:00 PDT
Comment on attachment 14655 [details] Fixes the problem - implements virtual function Change looks fine. What about a regression test?
George Staikos
Comment 3 2007-05-22 10:11:48 PDT
I don't have time to make one right now - that's why I posted it here in fact. The test is easy to do conceptually but I have no idea about automating it. Simply make an iframe in a page that requires scroll to get to, and give it enough contents to have scrollbars. Try to autoscroll it and the main page will jump (it should not).
mitz
Comment 4 2007-05-22 10:16:23 PDT
(In reply to comment #3) > I don't have time to make one right now - that's why I posted it here in fact. > The test is easy to do conceptually but I have no idea about automating it. > > Simply make an iframe in a page that requires scroll to get to, and give it > enough contents to have scrollbars. Try to autoscroll it and the main page > will jump (it should not). > I tried to reproduce the bug with fast/overflow/scrollRevealButton.html but it behaved as (I) expected.
Adele Peterson
Comment 5 2007-05-22 11:32:35 PDT
Comment on attachment 14655 [details] Fixes the problem - implements virtual function In EventHandler::handleMouseDraggedEvent, you should be hitting a renderer within the iframe. Then it will walk up the render tree until you find the root element, and it will scroll that. If you correctly hit inside the iframe, then I don't think you should need this change.
Dave Hyatt
Comment 6 2007-05-22 14:10:41 PDT
The patch is for *frames* not *iframes*. Mitz/Adele, did you try testing a frameset page inside an iframe for example?
Dave Hyatt
Comment 7 2007-05-22 14:11:31 PDT
(I assume the patch is unnecessary, since I doubt we special-cased iframes, but I thought I'd at least point out that it might be good to have a nested frameset/iframe mixture test case.)
mitz
Comment 8 2007-05-22 14:23:31 PDT
Now I tried this: <body style="height: 200%"> <div style="height: 200px"></div> <iframe src="data:text/html,<frameset rows='*,*'><frame src='data:text/html,cat<br>car<br>far<br>for<br>fog'><frame></frameset>"></iframe> </body> and I still can't reproduce any buggy behavior. George, can you attach the failing test case w/ steps to reproduce?
George Staikos
Comment 9 2007-05-22 14:38:09 PDT
I think Adele was right - it must be a bug in the Qt code. My testcase was just a bunch of nested iframes.
George Staikos
Comment 10 2007-05-26 08:10:39 PDT
(In reply to comment #5) > (From update of attachment 14655 [details] [edit]) > In EventHandler::handleMouseDraggedEvent, you should be hitting a renderer > within the iframe. Then it will walk up the render tree until you find the > root element, and it will scroll that. If you correctly hit inside the iframe, > then I don't think you should need this change. > In fact this is the case but it's still not scrolling properly for me. It is hitting the <HTML> node within the frame, which is what you describe should happen. However it still sometimes sends the scroll up to the parent frame. Testcase: <iframe src="text.html"> (positioned as described text.html: this is a test this is a test this is a test<br> this is a test this is a test this is a test<br> this is a test this is a test this is a test<br> this is a test this is a test this is a test<br> (repeated many times) I think maybe I have misdiagnosed the problem though. it doesn't -always- scroll the wrong frame. I think it has to do with over-dragging (ie: dragging past the edge of the frame during scroll)
Alexey Proskuryakov
Comment 11 2010-06-11 16:17:53 PDT
George, is this still an issue with ToT?
George Staikos
Comment 12 2010-06-13 20:41:45 PDT
No idea. Might as well close it if no-one can reproduce it.
Antonio Gomes
Comment 13 2013-08-30 10:49:05 PDT
(In reply to comment #12) > No idea. Might as well close it if no-one can reproduce it. Lots of autoscroll bugs were resolved lately. Please re-open if you still see this with a valid test case.
Note You need to log in before you can comment on or make changes to this bug.