WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-212322-20200602183022.patch (text/plain), 3.68 KB, created by
Santosh Mahto
on 2020-06-02 06:00:24 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Santosh Mahto
Created:
2020-06-02 06:00:24 PDT
Size:
3.68 KB
patch
obsolete
>Subversion Revision: 262413 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 0431136f09508d83686025984682861bb6f6d883..3c96452cc560527fc6ffb9ab25f9e0dfd1a97b3a 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,17 @@ >+2020-06-02 Santosh Mahto <santosh.mahto@collabora.com> >+ >+ [GTK4] Implement file chooser >+ https://bugs.webkit.org/show_bug.cgi?id=212322 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Port FileChooser to gtk4, Now FileChooser uses undeprecated api's. >+ Covered by existing tests. >+ >+ * UIProcess/API/gtk/WebKitWebViewGtk.cpp: >+ (fileChooserDialogResponseCallback): >+ (webkitWebViewRunFileChooser): >+ > 2020-06-01 Chris Dumez <cdumez@apple.com> > > Fix thread-safety issue in [WKProcessAssertionBackgroundTaskManager _handleBackgroundTaskExpiration] >diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp >index d4a55c555beade5e75111df9092e8caa4f490782..e10f156d958f5d8b9ac181b31c20c127e8ad2e4f 100644 >--- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp >+++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp >@@ -49,27 +49,28 @@ gboolean webkitWebViewScriptDialog(WebKitWebView* webView, WebKitScriptDialog* s > return TRUE; > } > >-#if !USE(GTK4) > static void fileChooserDialogResponseCallback(GtkFileChooser* dialog, gint responseID, WebKitFileChooserRequest* request) > { > GRefPtr<WebKitFileChooserRequest> adoptedRequest = adoptGRef(request); > if (responseID == GTK_RESPONSE_ACCEPT) { >- GUniquePtr<GSList> filesList(gtk_file_chooser_get_filenames(dialog)); >+ GSList* filesList = gtk_file_chooser_get_files(dialog); > GRefPtr<GPtrArray> filesArray = adoptGRef(g_ptr_array_new()); >- for (GSList* file = filesList.get(); file; file = g_slist_next(file)) >- g_ptr_array_add(filesArray.get(), file->data); >+ for (GSList* file = filesList; file; file = g_slist_next(file)) { >+ gchar* filename = g_file_get_path(static_cast<GFile*>(file->data)); >+ if (filename) >+ g_ptr_array_add(filesArray.get(), filename); >+ } > g_ptr_array_add(filesArray.get(), 0); >+ g_slist_free_full(filesList, g_object_unref); > webkit_file_chooser_request_select_files(adoptedRequest.get(), reinterpret_cast<const gchar* const*>(filesArray->pdata)); > } else > webkit_file_chooser_request_cancel(adoptedRequest.get()); > > g_object_unref(dialog); > } >-#endif > > gboolean webkitWebViewRunFileChooser(WebKitWebView* webView, WebKitFileChooserRequest* request) > { >-#if !USE(GTK4) > GtkWidget* toplevel = gtk_widget_get_toplevel(GTK_WIDGET(webView)); > if (!WebCore::widgetIsOnscreenToplevelWindow(toplevel)) > toplevel = 0; >@@ -85,13 +86,14 @@ gboolean webkitWebViewRunFileChooser(WebKitWebView* webView, WebKitFileChooserRe > gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter); > gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), allowsMultipleSelection); > >- if (const gchar* const* selectedFiles = webkit_file_chooser_request_get_selected_files(request)) >- gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(dialog), selectedFiles[0]); >+ if (const gchar* const* selectedFiles = webkit_file_chooser_request_get_selected_files(request)) { >+ GRefPtr<GFile> file = adoptGRef(g_file_new_for_path(selectedFiles[0])); >+ gtk_file_chooser_select_file(GTK_FILE_CHOOSER(dialog), file.get(), nullptr); >+ } > > g_signal_connect(dialog, "response", G_CALLBACK(fileChooserDialogResponseCallback), g_object_ref(request)); > > gtk_native_dialog_show(GTK_NATIVE_DIALOG(dialog)); >-#endif > > return TRUE; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 212322
:
400723
|
400733
|
400811
|
400822
|
400908