Comment #3 on issue 8858 by [email protected]: REGRESSION:
video.google.com: Search suggestions are displayed behind the flash video
window
http://code.google.com/p/chromium/issues/detail?id=8858
The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=12179
------------------------------------------------------------------------
r12179 | [email protected] | 2009-03-19 18:45:12 -0700 (Thu, 19 Mar 2009)
| 21 lines
Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/webplugin_impl.cc?r1=12179&r2=12178
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/webplugin_impl.h?r1=12179&r2=12178
The street view in Google maps, which is implemented with a windowed flash
plugin would draw over the iframe DOM
element, effectively hiding it. This is handled by our IFrame shim geometry
calculation, where we subtract the
rect of any IFrame above the plugin in the ZOrder from the plugin rect.
Webkit calls Widget::setFrameRect at various times, during layout/size
changes/paints, etc. The reason this bug
showed up, was due to an optimization in our setFrameRect implementation,
where we would bail out if the rect
passed in was the same size as the current plugin rect. Basically the
IFrame appears above the plugin in the ZOrder
much later, which causes us to return without sending over the cutout rects
to the browser when it moves the plugin
windows.
Fix is to move the rects equality check to WebPluginImpl::setFrameRect,
where we don't send over the UpdateGeometry IPC to the plugin process if
the rects are the same.
WebPluginImpl used to implement the webkit Widget interface a long time
ago. This is no longer the case. So some
of the functions don't need to be virtual anymore. I also made this change.
This fixes bug http://b/issue?id=1722236 and
http://code.google.com/p/chromium/issues/detail?id=8858
Bug=1722236,8858
Review URL: http://codereview.chromium.org/42413
------------------------------------------------------------------------
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---