[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kfm-devel
Subject:    Re: Old Flash? Go upgrade! - New problem with konqueror
From:       "Maksim Orlovich" <mo85 () cornell ! edu>
Date:       2010-04-18 15:00:30
Message-ID: 61921.67.246.70.185.1271602830.squirrel () webmail ! cornell ! edu
[Download RAW message or body]


> Confirmed that GetVariable("$version") call on a flash plugin return
> the version using the flash support of kmplayer plugin.
> However, I can currently only get it by calling it after the plugin is
> loaded, eg in body.onLoad.
> So 'appendFlash = body.appendChild(flash)) && appendFlash.GetVariable'
> will only work when starting a local event loop for the time the
> plugin is up and running. Known to crash konqueror on unfortunate
> redirects (*).

Urgh. Did you check whether the actual youtube does this, or just the
testcase? The exact sequence determines a lot on when we can actually
create the part.

>> Unfortunately, it's extremely
>> tricky to fully implement with out-of-process plugins, especially since
>> the presently used IPC system, D-Bus is inadequate for the task.
>
> Why? You mentioned that before and I only recall that the lack of
> nested calls. But dbus supports nested calls just fine.

Erm, that's not what Thiago told me :-). Anyway, I found our old
discussion, and remembered a solution I had...

> (*) That said, using the Qt eventloop for IPC is the source we cannot
> block safely. Currently thinking about a way to block w/o running
> processEvents (no OnlySocketNotifiers afaics), eg something with
> qprocess waitForStarted(), waitForReadyRead() or so.

... which involves using a second thread to do the DBus connection, and
blocking on the condition variable. I'll see if I can maybe make the class
standalone, in case it'll be useful for you, too.

>
> We also need a LiveConnect2Extension. As mentioned before, the string
> based argument list/return value is too limited. We need at least a
> way to pass proxies of js objects as arguments. On these proxies
> get/put/call should be possible. Maybe simply use QVariant with a user
> type for the proxy can work.

Definitely. Could I ask you to review the API once I get there?


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic