RESOLVED FIXED Bug 211779
[GTK4] Add support for drag and drop operations
https://bugs.webkit.org/show_bug.cgi?id=211779
Summary [GTK4] Add support for drag and drop operations
Carlos Garcia Campos
Reported 2020-05-12 06:34:42 PDT
.
Attachments
Patch (24.55 KB, patch)
2020-05-12 06:37 PDT, Carlos Garcia Campos
aperez: review+
Carlos Garcia Campos
Comment 1 2020-05-12 06:37:16 PDT
Adrian Perez
Comment 2 2020-05-12 15:55:00 PDT
Comment on attachment 399123 [details] Patch This was easier to follow after having read all the other patches in the series =) Patch LGTM, but I see an opportunity to avoid unnecessary copying of data. Please take a look and consider whether it may be good to apply the suggested change before landing. View in context: https://bugs.webkit.org/attachment.cgi?id=399123&action=review > Source/WebCore/platform/graphics/gtk/ImageGtk.cpp:64 > +GdkTexture* BitmapImage::gdkTexture() Nice refactor :) > Source/WebKit/UIProcess/API/gtk/DragSourceGtk4.cpp:59 > + GRefPtr<GBytes> bytes = adoptGRef(g_bytes_new(markup.data(), markup.length())); This (and the ones below) makes one copy if data into a CString, then another copy with g_bytes_new(). We could get the inner CStringBuffer from the CString, which is reference counted, and use that with g_bytes_new_with_free_func(). Rough idea: CString markup = m_selectionData->markup().utf8(); RefPtr<CStringBuffer> buffer = markup.buffer(); GRefPtr<GBytes> bytes = adoptGRef(g_bytes_new_with_free_func(buffer->data(), buffer->length(), [](void* data) { RefPtr<CStringBuffer> buffer = adoptRef(static_cast<CStringBuffer*>(data)); }, buffer.leakRef()));
Carlos Garcia Campos
Comment 3 2020-05-20 05:39:30 PDT
Note You need to log in before you can comment on or make changes to this bug.