2 Attachment(s)
BUG in QTWebkit 4.8 > Flash
Hallo All,
I'm not sure were to report this issue, so i try to report it here first.
It seems there is a terrible bug in the last QT with Webkit.
When i scroll down a page that contains flash content, the flash moves down also..
Well it's difficult to explain so i created some screenshots.
I tried this on two different windows machines and both same result.
The issue is when you scroll down and up..! In this example i used:
www.youtube.com (youtube only has problems with a banner.. if there is banner ofcourse!)
http://www.wechoosethemoon.org/ (the starting loader and well.. then the whole site)
Attachment 8070Attachment 8071
Re: BUG in QTWebkit 4.8 > Flash
Am I the only one that has this issue???:confused:
Re: BUG in QTWebkit 4.8 > Flash
No, you are not alone. I am also having rendering issues when Flash objects need to be scrolled. Either the object is not visible, or it is scrunched. If I resize the container widget, the flash object moves slowly down the screen and is almost always 'out of place' from where is should be. If container widget is sized large enough that no scrolling is needed, then the flash object(s) display correctly.
Re: BUG in QTWebkit 4.8 > Flash
FWIW, it appears to me that QtWebkit has an issue rendering Flash objects where wmode=transparent or wmode=opaque. Using this HTML renders just fine in Safari (which uses Webkit) and IE9, but does not render properly in QT browser window that requires scrolling. Removing the wmode parameter defaults to 'window'. It renders properly, but now I have a layering issue and a non-transparent background.
<object type="application/x-shockwave-flash" data="http://smileys.smileycentral.com/cat/F/1/431.swf"
width="66" height="66" id="FlashSmiley11">
<param name="movie" value="http://smileys.smileycentral.com/cat/F/1/431.swf">
<param name="play" value="true">
<param name="loop" value="false">
<param name="quality" value="high">
<param name="wmode" value="transparent">
<param name="allowScriptAccess" value="always">
<param name="menu" value="true">
</object>
FWIW, I removed all the params except wmode. It still had the problem with wmode=transparent.
Re: BUG in QTWebkit 4.8 > Flash
Ok yes great we know the bug in more details,, but where and how to report this.. or is the QT team already aware of this?
Added after 15 minutes:
Ok i posted the issue here:
https://bugs.webkit.org/show_bug.cgi?id=92905
First i wanted to report it here: https://bugreports.qt-project.org
But this was not OK.. "For bugs and small development tasks please use the upstream bugtracker at http://bugs.webkit.org/ "
But i don't know if this is a webkit issue or QT, because as mentioned above other programs use webkit and don't have this problem...
Re: BUG in QTWebkit 4.8 > Flash
I also have this bug qt 4.8.2 unfortunettly on 4.7.4 all works fine, what is going on? ,use win 7 and win xp
Re: BUG in QTWebkit 4.8 > Flash
Someone , found a solution for this?
Re: BUG in QTWebkit 4.8 > Flash
it seems somebody found a solution: https://bugs.webkit.org/show_bug.cgi?id=92905
Code:
Index: win/PluginViewWin.cpp
===================================================================
--- Source/WebCore/plugins/win/PluginViewWin.cpp (revision 63895)
+++ Source/WebCore/plugins/win/PluginViewWin.cpp (working copy)
@@ -618,7 +618,8 @@
ASSERT(parent()->isFrameView());
IntRect rectInWindow = static_cast<FrameView*>(parent())->contentsToWindow(
frameRect());
- LocalWindowsContext windowsContext(context, rectInWindow, m_isTransparent);
+ HDC hdc = context->getWindowsContext(rectInWindow, m_isTransparent);
+
// On Safari/Windows without transparency layers the GraphicsContext return
s the HDC
// of the window and the plugin expects that the passed in DC has window co
ordinates.
@@ -627,14 +628,15 @@
#if !PLATFORM(QT) && !OS(WINCE)
if (!context->inTransparencyLayer()) {
XFORM transform;
- GetWorldTransform(windowsContext.hdc(), &transform);
+ GetWorldTransform(hdc, &transform);
transform.eDx = 0;
transform.eDy = 0;
- SetWorldTransform(windowsContext.hdc(), &transform);
+ SetWorldTransform(hdc, &transform);
}
#endif
- paintIntoTransformedContext(windowsContext.hdc());
+ paintIntoTransformedContext(hdc);
+ context->releaseWindowsContext(hdc, frameRect(), m_isTransparent);
}