[webkit-gtk] Custom Filechooser dialog
Mario Sanchez Prada
msanchez at igalia.com
Fri Feb 10 15:30:10 PST 2012
On Fri, 2012-02-10 at 13:03 +0100, Simon Schampijer wrote:
> Ok, I did an initial patch (attached) to pipe an "upload-requested"
> signal out, the return value is a boolean to indicate whether the
> application handles the upload or not.
> We have to get back the information from the application which file(s)
> should be uploaded as well. I wonder how the API would best look like
> for this. We could handle that in the return value, if we get a filename
> back it was handled, if NULL is returned we display the default upload
> dialog. This would be similar signal handling as in
> 'create-plugin-widget' where we return a widget from the signal
> callback. Looks like we would have to write a custom GSignalAccumulator
> for this. Other ideas suggestions?
Perhaps we could emit some extra object with that signal (a wrapper for
the FileChooser object?) that the application could use to call to
choose_files() and cancel() methods? I did something like that in a
patch for WK2 I started working on yesterday, and seems to work fine in
there, not sure at this point whether it could fit or not in WK1.
> >> - API additions for webkit vs webkit2?
> > It'd make sense to have it in both ports actually.
As I mentioned above, I started yesterday working on the same thing for
WebKit2GTK+ (implement runOpenPanel) and the implementation I have so
far looks pretty similar to what it's being discussed here: I also emit
a signal to give the app a chance to use its own filechooser dialog, and
provide a default handler at the same time which runs a
So, I think it would be pretty nice if we could agree on implementing
this in WebKit1 and WebKit2 as much similar as possible, starting with
the name of the signal :-)
I used 'decide-open-panel' (probably a terrible name) inspired in the
'decide-policy' signal in WK2, but 'upload-request' sounds good to me as
well, although I'm not sure if it will be too specific or not.
For reference, I have sent a mail to this list some minutes ago, with
the details of the patch I have so far (which I also attached, btw):
More information about the webkit-gtk