RFC --- new scripting extension sketches.

Maksim Orlovich mo85 at cornell.edu
Sat May 22 19:20:38 BST 2010


> I am now working to get at least the window.location.href sequence
> working. Until now, the deserializing from a dbusvariant to an object
> fails.

I didn't provide marshallers for Object and FunctionRef due to the
pointers, as it's not clear what the right thing for them is.

> I can however get a QDBusArgument out of the variant and do a
> manual extraction.
> Also serializing Null and Undefined gives an error, Qt doesn't like
> the empty struct ("()" signature)

I'll add a dummy int there then.

Anyway, to clarify the refcounting protocol, since I think I know what you
want:

1) Return values (including from enclosingObject/rootObject) are always
ref'd by the producer
2) Arguments are to be guaranteed to live for the duration of the call,
and the callee only ref's if it retains them

Also, I should fix the following:
1) Dummy fields for Null/Undefined
2) Make KHTML (and ScriptableLiveConnectExtension) follow the refcount
protocol.
3) Fix KHTML's evaluate call to properly return values

Also, there is one more thing: IMHO the plugin should be required to
release all of its references when it's deleted (to break cycles). It
seems like that's doable for you, right?






More information about the kfm-devel mailing list