Bug 211723

Summary: [GTK] Rework drag and drop handling in preparation for GTK4
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aperez, bugs-noreply
Priority: P2 Keywords: Gtk
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 211511    
Bug Blocks: 210100, 211779    
Attachments:
Description Flags
Patch
none
Patch aperez: review+

Description Carlos Garcia Campos 2020-05-11 06:14:29 PDT
Make it easier to share the implementation.
Comment 1 Carlos Garcia Campos 2020-05-11 06:22:17 PDT
Created attachment 399015 [details]
Patch
Comment 2 Carlos Garcia Campos 2020-05-12 05:49:58 PDT
Created attachment 399122 [details]
Patch

I forgot to add the gtk4 stubs
Comment 3 Adrian Perez 2020-05-12 09:17:18 PDT
Comment on attachment 399122 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=399122&action=review

> Source/WebCore/platform/gtk/GtkUtilities.cpp:111
> +        && gdkAction & GDK_ACTION_LINK)

It took me a while to understand why this is done in this way. IMO it's more
idiomatic to use a bitmastk to checl all flags at once: 

  static constexpr auto gdkEveryMask = GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK;
  if ((gdkAction & gdkEveryMask) == gdkEveryMask)
      return DragOperationEvery;

...but it was already written this way before, so feel free to leave it as-is.
Comment 4 Carlos Garcia Campos 2020-05-12 12:27:55 PDT
Committed r261570: <https://trac.webkit.org/changeset/261570>