Summary: | REGRESSION (r53110): Find My iPhone message dialog is offset from original position once it gets focus | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Adele Peterson <adele> | ||||||
Component: | Plug-ins | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | darin, simon.fraser | ||||||
Priority: | P2 | Keywords: | InRadar, Regression | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
Attachments: |
|
Description
Adele Peterson
2010-01-18 18:05:18 PST
This was caused by http://trac.webkit.org/changeset/53109 First thing I would try is to revert that patch and set m_loadManually to NP_FULL in the constructor and see what that does. Second thing I would try is to revert the patch and set m_loadManually to NP_EMBED in the constructor and see what that does. I'm running into an unrelated assertion on this page in debug WebKit. So I'll try commenting out the assert to try your suggestions. My regression testing was off by one. This was actually caused by r53110 Yeah, that's me. Created attachment 47211 [details]
Reduced testcase
Filed bug 34009 on avoiding compositing mode just for a 0x0 plugin. The issue here is that there's a fixed position div inside an abs. position div, and the fixed position div is using the wrong offsets. In general, there's a conflict between the geometry and layering hierarchies for fixed position elements. In terms of geometry, a fixed layer would naturally be anchored at the root, but in terms of layering it should be anchored in its container. Layering comes first, but we'll have to throw animations of things with fixed descendants into software. Created attachment 47230 [details]
Patch
Filed bug 34012 on animating fixed position containers. Comment on attachment 47230 [details] Patch > + RenderLayer* currLayer = parent(); > + while (currLayer) { > + if (currLayer == ancestorLayer) > + foundAncestor = true; > + > + if (isFixedPositionedContainer(currLayer)) { > + fixedPositionContainerLayer = currLayer; > + ASSERT(foundAncestor); > + break; > + } > + > + currLayer = currLayer->parent(); > + } Can be written as a for loop with currLayer in the scope of the loop. |