On Fri, Feb 10, 2012 at 3:10 PM, Mario Sanchez Prada <[email protected]> wrote: > I started yesterday working on an implementation for WebKitUIClient's > runOpenPanel() in WebKit2GTK+, and would like to share here the ideas > behind it and the current status of it (aka the patch I have so far). > > What I did so far is basically the following: > > - Implement runOpenPanel() in WebKitUIClient.cpp, where I create > an object of a new class wrapping WKOpenPanelResultListenerRef and > WKOpenPanelParametersRef, which I named WebKitOpenPanelDecision atm. > > - The API for that new WebKitOpenPanelDecision is simple: it provides a > allows_multiple_files(), choose_files() and cancel() methods, > implemented in terms of the wrapped WKOpenPanelResultListenerRef and > WKOpenPanelParametersRef attributes. > > - Once that object is created, pass it to the webView to emit a new > signal from there, including that new object as parameter. At the > moment, I named that new signal 'decide-open-panel', inspired in the > 'decide-policy' signal. It uses g_signal_accumulator_true_handled.
The API seems great to me, though I quibble with the names a little. :) I don't think the policy decision is a great model here. Perhaps WebKitWebView::run-file-chooser and WebKitFileChooserRequest or something similar "Open panel" is a term from OS X, I think. --Martin _______________________________________________ webkit-gtk mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-gtk
