Skip to content
Permalink
Browse files
[Qt/Win] Flash in QGraphicsWebView does not process hover correctly.
Reviewed by Simon Hausmann.

Mouse hover does not work as expected with the flash in some sites.
    - http://www.bbc.co.uk/ Hover over the map
    - http://www.barbie.com/ Hover over the menu items (Games, Videos)
The problem appears to be that Flash queries NPNVnetscapeWindow on every
mouse hover. I do not how flash uses this value but returning 0 when flash
is in windowless mode solves the problem (When using QGraphicsWebView we
inject wmode opaque, thereby putting the plugin in windowless mode).

https://bugs.webkit.org/show_bug.cgi?id=33591

Canonical link: https://commits.webkit.org/44731@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@53327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
Girish Ramakrishnan committed Jan 15, 2010
1 parent 4afdbfa commit 8fafb47a18bc91559578978f8761e7a075a7fab8
Showing 2 changed files with 22 additions and 1 deletion.
@@ -1,3 +1,22 @@
2010-01-13 Girish Ramakrishnan <girish@forwardbias.in>

Reviewed by Simon Hausmann.

[Qt/Win] Flash in QGraphicsWebView does not process hover correctly.

https://bugs.webkit.org/show_bug.cgi?id=33591

Mouse hover does not work as expected with the flash in some sites.
- http://www.bbc.co.uk/ Hover over the map
- http://www.barbie.com/ Hover over the menu items (Games, Videos)
The problem appears to be that Flash queries NPNVnetscapeWindow on every
mouse hover. I do not how flash uses this value but returning 0 when flash
is in windowless mode solves the problem (When using QGraphicsWebView we
inject wmode opaque, thereby putting the plugin in windowless mode).

* plugins/win/PluginViewWin.cpp:
(windowHandleForPageClient):

2010-01-15 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Darin Adler.
@@ -98,7 +98,9 @@ static inline HWND windowHandleForPageClient(PlatformPageClient client)
#if PLATFORM(QT)
if (!client)
return 0;
return client->ownerWidget()->winId();
if (QWidget* pluginParent = qobject_cast<QWidget*>(client->pluginParent()))
return pluginParent->winId();
return 0;
#elif PLATFORM(WX)
if (!client)
return 0;

0 comments on commit 8fafb47

Please sign in to comment.