Bug 43349

Summary: [Qt] QWebkit does not work with Flash Player 10.1 r53 on Mac PPC
Product: WebKit Reporter: qt-info
Component: WebKit QtAssignee: Tor Arne Vestbø <vestbo>
Status: RESOLVED INVALID    
Severity: Normal CC: kent.hansen
Priority: P3 Keywords: Qt
Version: 420+   
Hardware: Mac (PowerPC)   
OS: OS X 10.5   
Attachments:
Description Flags
Log from webkit debug output for this issue
none
Log when using Flash 10.0 r22
none
Log from intel Snow Leopard machine
none
Log from intel Snow Leopard machine where plugin has been copied the plugin to "~/Library/Internet Plug-ins" none

Description qt-info 2010-08-02 08:05:00 PDT
QWebkit does not work with Flash Player 10.1 r53.
This is only for Power PC.
Comment 1 qt-info 2010-08-05 02:21:27 PDT
We are getting reports that this does not only happen with Flash Player 10.1 r53 and Mac PPC. 

We have also reports of this happening on an Intel Snow Leopard 10.6 machine.

On this system (10.6), with flash 10.1 you can workaround this issue by copying the plugin to ~/Library/Internet Plug-Ins. 

This work around did not help on our Power PC system with the problem.
Comment 2 qt-info 2010-08-05 04:33:12 PDT
The error message we get when enable logging in webkit is:

Plug-in 'Shockwave Flash' uses unsupported drawing model NPDrawingModelQuickDraw

Attached log
Comment 3 qt-info 2010-08-05 04:34:25 PDT
Created attachment 63575 [details]
Log from webkit debug output for this issue
Comment 4 Kent Hansen 2010-08-13 05:39:12 PDT
Tor Arne, it looks like some plugins (for example, Flash) can support both QuickDraw and CoreGraphics; see https://wiki.mozilla.org/Plugins:CompatNotes.

If that's the case, it seems wrong to refuse to load the plugin only because it also supports a drawing model that we _don't_ support (http://trac.webkit.org/changeset/46028). Shouldn't we rather be checking if it supports the drawing model we _do_ support? :-) E.g. if the Flash plugin supports QuickDraw, that's not a problem so long as it also supports CoreGraphics...
Comment 5 Tor Arne Vestbø 2010-08-13 18:23:09 PDT
(In reply to comment #4)
> Tor Arne, it looks like some plugins (for example, Flash) can support both QuickDraw and CoreGraphics; see https://wiki.mozilla.org/Plugins:CompatNotes.

Right, but I suspect Flash for PPC only supports QuickDraw.

> If that's the case, it seems wrong to refuse to load the plugin only because it also supports a drawing model that we _don't_ support (http://trac.webkit.org/changeset/46028). 

Well, short answer, we don't :) That's not how that piece of code works. The event and drawing models are negotiated during NPP_New, using setValue() and getValue(). The plugin will ask _us_ if we support CoreGrapchics, and then set that as the drawing model. If the plugin does not explicitly set a drawing model, we fall back to QuickDraw for compatibility reasons. The code that sanitizes the final negotiated drawing model happens after NPP_New, and that's the output the reporter is seeing.

From the log it looks like the plugin is asking if we support NPNVsupportsQuickDrawBool, which we don't, and it then does not ask us anything more, probably because it realizes it will not be loaded, so we end up with the QuickDraw drawing model.
Comment 6 Tor Arne Vestbø 2010-08-13 18:23:35 PDT
(In reply to comment #1)
> We are getting reports that this does not only happen with Flash Player 10.1 r53 and Mac PPC. 
> 
> We have also reports of this happening on an Intel Snow Leopard 10.6 machine.

We need logs from that machine to verify that it's the same issue.
Comment 7 Kent Hansen 2010-08-16 02:04:52 PDT
(In reply to comment #5)
> (In reply to comment #4)
> > If that's the case, it seems wrong to refuse to load the plugin only because it also supports a drawing model that we _don't_ support (http://trac.webkit.org/changeset/46028). 
> 
> Well, short answer, we don't :) That's not how that piece of code works. The event and drawing models are negotiated during NPP_New, using setValue() and getValue(). The plugin will ask _us_ if we support CoreGrapchics, and then set 

Ah thanks, then it suddenly makes more sense. :)
It is a bit strange that it worked with the old PPC plugin, though (I saw it with my own eyes on this machine before upgrading). Seems it's either a) a bug in the latest version, that it doesn't ask for CoreGraphics anymore; or b) CG capabilities were removed on purpose on this platform.
Comment 8 Kent Hansen 2010-08-16 05:28:00 PDT
Created attachment 64486 [details]
Log when using Flash 10.0 r22

After downgrading the Flash plugin to 10.0 r22, this is the resulting WebKit log.
As can be seen, the plugin asks us if we support CoreGraphics, and since we say yes, the plugin sets CoreGraphics as the drawing model -- everything is fine.
But in the latest version of the plugin, the plugin does _not_ ask for CoreGraphics (see previous log attachment). Hence, we have to assume it's using QuickDraw (for compatibility reasons), which QtWebKit doesn't support, and will never support.
It looks like support for CoreGraphics has been removed somewhere between 10.0 r22 and the current version on PowerPC; we suggest raising that issue with Adobe.
Comment 9 Kent Hansen 2010-08-16 05:38:57 PDT
Closing as invalid since QtWebKit can't be faulted for a change in a plugin's drawing model support. If the Flash plugin supports CoreGraphics, it needs to tell us, we have no way of asking the plugin. QuickDraw is a deprecated model that QtWebKit won't support.

Please add a comment if this indeed also happens on 10.6 Intel, with the plugin log that demonstrates it's the same issue (plugin doesn't ask for CoreGraphics).
Comment 10 qt-info 2010-08-19 02:04:42 PDT
Created attachment 64820 [details]
Log from intel Snow Leopard machine
Comment 11 qt-info 2010-08-19 02:15:03 PDT
Created attachment 64821 [details]
Log from intel Snow Leopard machine where plugin has been copied the plugin to "~/Library/Internet Plug-ins"
Comment 12 qt-info 2010-08-19 02:17:09 PDT
I have attached logs from the Intel machine. 

On this machine the same Flash plugin works when put in ~/Library. I have attached a log from a run where the plugin has been moved as well.
Comment 13 qt-info 2010-08-25 01:18:50 PDT
https://bugs.adobe.com/jira/browse/FP-5308