Open
Bug 1692807
Opened 4 years ago
Updated 4 years ago
Investigate how we generate malformed hit testing tree and stop doing it
Categories
(Core :: Panning and Zooming, task)
Core
Panning and Zooming
Tracking
()
NEW
People
(Reporter: hiro, Unassigned)
References
Details
In bug 1691997, we saw malformed hit testing trees both on https://pdf.wondershare.com/buy/pdfelement-windows.html and https://www.lecho.be/entreprises/general/les-hommes-de-pouvoir-portent-un-brocelet/10168713.html.
In the case of pdfelement-windows case, the tree looks like;
HitTestingTreeNode (0x7f53bec7cd40) APZC (0x7f53bb73a000) g=({ l=0x100000001, p=1, v=3 }) r=({ }) t=([ I ]) c=([0,0,1276,1145])
HitTestingTreeNode (0x7f53acd2fa60) APZC ((nil)) g=(l=0x100000001) r=({ }) t=([ 1 0; 0 1; 0 74; ]) c=(none)
HitTestingTreeNode (0x7f53acd2f2e0) APZC ((nil)) g=(l=0x10000000b) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f53af5435c0) APZC ((nil)) g=(l=0x10000000b) r=({ }) t=([ I ]) c=(none) scrollbar
HitTestingTreeNode (0x7f53a9ff9200) APZC ((nil)) g=(l=0x10000000b) r=({ }) t=([ I ]) c=(none) scrollbar scrollthumb
HitTestingTreeNode (0x7f53af2e4a60) APZC (0x7f53acc81000) g=({ l=0x10000000b, p=2, v=3 }) r=({ }) t=([ I ]) c=([0,0,1264,1071])
HitTestingTreeNode (0x7f53af2e4e20) APZC ((nil)) g=(l=0x10000000b) fixed=3 r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f53a9fd5100) APZC (0x7f53acc81000) g=({ l=0x10000000b, p=2, v=3 }) r=({ }) t=([ I ]) c=([0,0,1264,1071])
HitTestingTreeNode (0x7f53a9ff9020) APZC ((nil)) g=(l=0x10000000b) fixed=3 r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f53acd2fe20) APZC ((nil)) g=(l=0x10000000b) fixed=3 r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f53aa069200) APZC ((nil)) g=(l=0x10000000b) r=({ }) t=([ 1 0; 0 1; 0 1071; ]) c=(none)
HitTestingTreeNode (0x7f53af2e4880) APZC (0x7f53acc81000) g=({ l=0x10000000b, p=2, v=3 }) r=({ }) t=([ I ]) c=([0,0,1264,1071])
HitTestingTreeNode (0x7f53aa069020) APZC ((nil)) g=(l=0x10000000b) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f53acd2f6a0) APZC ((nil)) g=(l=0x10000000b) fixed=3 r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f53acd2e200) APZC ((nil)) g=(l=0x10000000b) fixed=3 r=({ }) t=([ I ]) c=(none)
In the case of lecho.de, it looks like;
HitTestingTreeNode (0x7f3fdbd5ea60) APZC (0x7f3fdbdd8000) g=({ l=0x100000001, p=1, v=3 }) r=({ }) t=([ I ]) c=([0,0,1280,1609])
HitTestingTreeNode (0x7f3fca514a60) APZC (0x7f3fca4b0000) g=({ l=0x100000001, p=1, v=5 }) r=({ }) t=([ I ]) c=([284,39,921,67])
HitTestingTreeNode (0x7f3fcd7e4980) APZC ((nil)) g=(l=0x100000001) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fcbd6df20) APZC ((nil)) g=(l=0x100000001) r=({ }) t=([ 1 0; 0 1; 0 74; ]) c=(none)
HitTestingTreeNode (0x7f3fcf9c3d40) APZC ((nil)) g=(l=0x10000000d) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fc82974c0) APZC ((nil)) g=(l=0x10000000d) r=({ }) t=([ I ]) c=(none) scrollbar
HitTestingTreeNode (0x7f3fcd7bcb60) APZC ((nil)) g=(l=0x10000000d) r=({ }) t=([ I ]) c=(none) scrollbar scrollthumb
HitTestingTreeNode (0x7f3fcf9c37a0) APZC ((nil)) g=(l=0x10000000d) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fcf9c46a0) APZC (0x7f3fcd4e4000) g=({ l=0x10000000d, p=2, v=3 }) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fca53a200) APZC ((nil)) g=(l=0x10000000d) fixed=3 r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fca9f5b60) APZC ((nil)) g=(l=0x10000000d) r=({ }) t=([ 1 0; 0 1; 214 -166; ]) c=(none)
HitTestingTreeNode (0x7f3fca9f55c0) APZC ((nil)) g=(l=0x10000000f) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fc8297880) APZC (0x7f3fc93fe000) g=({ l=0x10000000f, p=3, v=3 }) r=({ }) t=([ I ]) c=([0,0,840,150])
HitTestingTreeNode (0x7f3fca52f020) APZC (0x7f3fcd4e4000) g=({ l=0x10000000d, p=2, v=3 }) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fca9da020) APZC ((nil)) g=(l=0x10000000d) fixed=3 r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fca530880) APZC (0x7f3fcd4e4000) g=({ l=0x10000000d, p=2, v=3 }) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fca52ea60) APZC ((nil)) g=(l=0x10000000d) r=({ }) t=([ I ]) c=(none)
HitTestingTreeNode (0x7f3fce71a880) APZC ((nil)) g=(l=0x10000000d) fixed=3 r=({ }) t=([ I ]) c=(none)
Both have fixed tree nodes having descendant nodes which have the same scroll id for the fixed target. Botond said it shouldn't happen.
I tried to generate reduced test cases, but the malformed tree doesn't happen on downloaded versions of the sites, and unfortunately it doesn't happen with rr recording.
You need to log in
before you can comment on or make changes to this bug.
Description
•