Bug 113107

Summary: [WK2][GTK] MiniBrowser won't display video controls in <embed> tag
Product: WebKit Reporter: Philippe Normand <pnormand>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca, benjamin, bugzilla, cgarcia, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
URL: https://git.gnome.org/browse/totem/plain/browser-plugin/tests/1.html
Attachments:
Description Flags
Patch
none
Fixed a typo in the ChangeLog andersca: review+

Description Philippe Normand 2013-03-22 15:22:45 PDT
Linked page displays fine in ephy/wk1 but nothing in ephy/wk2, the plugin process successfully scans the NPAPI Totem plugins though.
Comment 1 Philippe Normand 2013-03-22 15:27:02 PDT
In my ephy/wk2 about:plugins page I can see a plugin handling video/divx so it should be used.
Comment 2 Carlos Garcia Campos 2013-03-24 05:52:01 PDT
I can see the totem player, but not the media controls, it seems like the clip rectangle is wrong.
Comment 3 Carlos Garcia Campos 2013-03-24 09:25:08 PDT
Created attachment 194754 [details]
Patch

I'm not sure this patch fixes this bug because the summary and description are a bit confusing to me. The summary says the video doesn't play and the description says nothing is shown. I can see the totem window in MiniBrowser, but the media controls are not rendered because it's clipped. With this patch, the right clip region is used and I can see the media controls and play the content (content doesn't really play for me because I don't have the required codecs for the test case, though)
Comment 4 Carlos Garcia Campos 2013-03-24 09:27:24 PDT
Created attachment 194755 [details]
Fixed a typo in the ChangeLog
Comment 5 Martin Robinson 2013-03-24 10:01:15 PDT
Comment on attachment 194755 [details]
Fixed a typo in the ChangeLog

Looks good to me.
Comment 6 Philippe Normand 2013-03-26 04:15:39 PDT
The issue I have here is that the PluginProcess crashes:

Thread 1 (Thread 0x7f56bf6199c0 (LWP 33581)):
#0  0x0000000000dbd72c in WebCore::PluginView::getValue(NPNVariable, void*) ()
#1  0x00007f567cb02efb in totemPlugin::Init(char*, unsigned short, short, char**, char**, _NPSavedData*) () from /usr/lib/mozilla/plugins/libtotem-mully-plugin.so
#2  0x00007f567cb00527 in ?? () from /usr/lib/mozilla/plugins/libtotem-mully-plugin.so
#3  0x0000000000a67103 in WebKit::NetscapePlugin::initialize(WebKit::Plugin::Parameters const&) ()
#4  0x0000000000a46df5 in WebKit::PluginControllerProxy::initialize(WebKit::PluginCreationParameters const&) ()
#5  0x0000000000a49eb3 in WebKit::WebProcessConnection::createPluginInternal(WebKit::PluginCreationParameters const&, bool&, bool&, unsigned int&) ()
#6  0x0000000000a4a367 in WebKit::WebProcessConnection::createPlugin(WebKit::PluginCreationParameters const&, WTF::PassRefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply>) ()
#7  0x0000000000a6ec22 in void CoreIPC::handleMessageDelayed<Messages::WebProcessConnection::CreatePlugin, WebKit::WebProcessConnection, void (WebKit::WebProcessConnection::*)(WebKit::PluginCreationParameters const&, WTF::PassRefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply>)>(CoreIPC::Connection*, CoreIPC::MessageDecoder&, WTF::OwnPtr<CoreIPC::MessageEncoder>&, WebKit::WebProcessConnection*, void (WebKit::WebProcessConnection::*)(WebKit::PluginCreationParameters const&, WTF::PassRefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply>)) ()
#8  0x0000000000a6e9c3 in WebKit::WebProcessConnection::didReceiveSyncWebProcessConnectionMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&, WTF::OwnPtr<CoreIPC::MessageEncoder>&) ()
#9  0x0000000000a49bab in WebKit::WebProcessConnection::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&, WTF::OwnPtr<CoreIPC::MessageEncoder>&) ()
#10 0x0000000000a3c017 in CoreIPC::Connection::dispatchSyncMessage(CoreIPC::MessageDecoder&) ()
#11 0x0000000000a3c17b in CoreIPC::Connection::dispatchMessage(WTF::PassOwnPtr<CoreIPC::MessageDecoder>) ()
#12 0x0000000000a3cdbe in CoreIPC::Connection::SyncMessageState::dispatchMessages(CoreIPC::Connection*) ()
#13 0x0000000001bbc5bb in WebCore::RunLoop::performWork() ()
#14 0x0000000001c21269 in WebCore::RunLoop::queueWork(WebCore::RunLoop*) ()
#15 0x00007f56c7779f25 in g_main_dispatch (context=0x37b7df0) at gmain.c:3054
#16 g_main_context_dispatch (context=context@entry=0x37b7df0) at gmain.c:3630
#17 0x00007f56c777a268 in g_main_context_iterate (context=0x37b7df0, block=block@entry=1, dispatch=dispatch@entry=1, self=<error reading variable: Unhandled dwarf expression opcode 0xfa>)
    at gmain.c:3701
#18 0x00007f56c777a6da in g_main_loop_run (loop=0x38091a0) at gmain.c:3895
#19 0x0000000000a4b89c in PluginProcessMainUnix ()
#20 0x00007f56c3deca55 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#21 0x0000000000a3a199 in _start ()

The parameters and mimetype are correctly passed to NPP_New, I'd need a debug build to continue to investigate this further...
Comment 7 Carlos Garcia Campos 2013-04-30 11:24:26 PDT
Committed r149384: <http://trac.webkit.org/changeset/149384>