Summary: | [chromium] WebPluginContainer::isRectTopmost() gives incorrect result when scrolling. | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Viet-Trung Luu <viettrungluu> | ||||||
Component: | New Bugs | Assignee: | Raymes Khoury <raymes> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | abarth, fishd, raymes, viettrungluu, webkit.review.bot | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Viet-Trung Luu
2012-03-08 10:16:25 PST
Created attachment 130843 [details]
Patch
Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API. Comment on attachment 130843 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=130843&action=review > Source/WebKit/chromium/src/WebPluginContainerImpl.cpp:463 > + if (it->get() == m_element) what if the plugin is on a layer that is visible but positioned above an invisible layer? (In reply to comment #3) > (From update of attachment 130843 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=130843&action=review > > > Source/WebKit/chromium/src/WebPluginContainerImpl.cpp:463 > > + if (it->get() == m_element) > > what if the plugin is on a layer that is visible but positioned above an invisible layer? I'm not seeing the problem here. In that case, presumably only the plugin will be in the hit test results, no? (Now, what happens if the plugin is on an invisible layer, etc.? Hmmmm.) (In reply to comment #4) ... > I'm not seeing the problem here. In that case, presumably only the plugin will be in the hit test results, no? > > (Now, what happens if the plugin is on an invisible layer, etc.? Hmmmm.) Yeah, what you mentioned in parens is sort of what I was wondering about. I don't fully know all of the interesting cases. I don't understand what the hit test node set contains or doesn't contain. (In reply to comment #5) > (In reply to comment #4) > ... > > I'm not seeing the problem here. In that case, presumably only the plugin will be in the hit test results, no? > > > > (Now, what happens if the plugin is on an invisible layer, etc.? Hmmmm.) > > Yeah, what you mentioned in parens is sort of what I was wondering about. I don't fully know all of the interesting cases. I don't understand what the hit test node set contains or doesn't contain. The more I think about it, the odder I find that invisible layers show up in the (rect-based) hittest at all. (I'm guessing they don't show up in the non-rect-based hittests? I should check that.) That could be a bug. More investigation needed, at any rate. The problem is that hitTestResultAtPoint() expects the point to be in document coordinates, not window coordinates. Created attachment 136772 [details]
Patch
Comment on attachment 136772 [details] Patch Clearing flags on attachment: 136772 Committed r114275: <http://trac.webkit.org/changeset/114275> All reviewed patches have been landed. Closing bug. |