Bug 104943 - Out-of-view check of fixed position element in frame is incorrect when page is scaled
Summary: Out-of-view check of fixed position element in frame is incorrect when page i...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Xianzhu Wang
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-13 13:05 PST by Xianzhu Wang
Modified: 2012-12-14 14:04 PST (History)
8 users (show)

See Also:


Attachments
Patch (17.51 KB, patch)
2012-12-13 13:56 PST, Xianzhu Wang
no flags Details | Formatted Diff | Diff
Add comments in tests (18.07 KB, patch)
2012-12-13 14:25 PST, Xianzhu Wang
no flags Details | Formatted Diff | Diff
PASS/FAIL (9.59 KB, patch)
2012-12-13 15:36 PST, Xianzhu Wang
no flags Details | Formatted Diff | Diff
Rebased, for landing (9.67 KB, patch)
2012-12-13 18:23 PST, Xianzhu Wang
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Xianzhu Wang 2012-12-13 13:05:50 PST
Fixed position element in a frame disappears when the page is scaled and the frame is scrolled to a certain position.

This bug is caused by my patch to bug 104303. The layerBounds should be scaled by the frameScaleFactor, not pageScaleFactor. I should have include tests for fixed position in frames in bug 104303.

Will upload a patch soon.
Comment 1 Xianzhu Wang 2012-12-13 13:56:10 PST
Created attachment 179328 [details]
Patch
Comment 2 Eric Seidel (no email) 2012-12-13 14:03:39 PST
Comment on attachment 179328 [details]
Patch

I'm not sure what the layer dumps tell me in the -expected files.
Comment 3 Xianzhu Wang 2012-12-13 14:25:26 PST
Created attachment 179335 [details]
Add comments in tests
Comment 4 Xianzhu Wang 2012-12-13 14:26:56 PST
(In reply to comment #2)
> (From update of attachment 179328 [details])
> I'm not sure what the layer dumps tell me in the -expected files.

They expect that the layer tree in the frame is not affected by page scale. Added comments in the new patch.
Comment 5 Eric Seidel (no email) 2012-12-13 14:40:23 PST
Why not just capture the layer tree in a string, change the scale and assert they were identical?

that would allow you to just print "PASS" or "FAIL" (presumably with the dump off the full tree in the fail case) and have much easier to understand/maintain tests. :)
Comment 6 Xianzhu Wang 2012-12-13 15:35:29 PST
(In reply to comment #5)
> Why not just capture the layer tree in a string, change the scale and assert they were identical?
> 
> that would allow you to just print "PASS" or "FAIL" (presumably with the dump off the full tree in the fail case) and have much easier to understand/maintain tests. :)

I thought that dumping layer tree of the frame from the main page wouldn't work, so I dumped the layer tree of the whole page causing difficulty to compare the result. Just tried and it works because window.internals API doesn't check domains.
Comment 7 Xianzhu Wang 2012-12-13 15:36:35 PST
Created attachment 179356 [details]
PASS/FAIL
Comment 8 WebKit Review Bot 2012-12-13 17:29:20 PST
Comment on attachment 179356 [details]
PASS/FAIL

Attachment 179356 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15312474

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html
Comment 9 Xianzhu Wang 2012-12-13 17:33:21 PST
Comment on attachment 179356 [details]
PASS/FAIL

The failure seems unrelated. Try cq+ again.
Comment 10 WebKit Review Bot 2012-12-13 18:04:35 PST
Comment on attachment 179356 [details]
PASS/FAIL

Rejecting attachment 179356 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2

Last 500 characters of output:
Kit/chromium/third_party/yasm/source/patched-yasm --revision 167605 --non-interactive --force --accept theirs-conflict --ignore-externals' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium'
53>At revision 167605.

________ running '/usr/bin/python tools/clang/scripts/update.py --mac-only' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium'

________ running '/usr/bin/python gyp_webkit' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium'
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/15314506
Comment 11 Xianzhu Wang 2012-12-13 18:23:02 PST
Created attachment 179394 [details]
Rebased, for landing
Comment 12 WebKit Review Bot 2012-12-13 18:59:40 PST
Comment on attachment 179394 [details]
Rebased, for landing

Clearing flags on attachment: 179394

Committed r137697: <http://trac.webkit.org/changeset/137697>
Comment 13 WebKit Review Bot 2012-12-13 18:59:45 PST
All reviewed patches have been landed.  Closing bug.
Comment 14 Beth Dakin 2012-12-14 11:42:50 PST
These tests are failing on Mac.
Comment 15 Simon Fraser (smfr) 2012-12-14 14:04:07 PST
In WebKit1, layer trees for pages with iframes can differ from WK2. The root document may not have any layers.