[GTK] Cannot paste primary selection into web view in Wayland
authormcatanzaro@igalia.com <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 18 Feb 2017 10:01:13 +0000 (10:01 +0000)
committermcatanzaro@igalia.com <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 18 Feb 2017 10:01:13 +0000 (10:01 +0000)
https://bugs.webkit.org/show_bug.cgi?id=166949

Reviewed by Carlos Garcia Campos.

Once upon a time, primary selection (middle-click paste) was not supported in Wayland. At
the time, I changed this function to report that primary selection was unsupported. But
nowadays, primary selection works fine in all GTK+ applications except WebKit. All we have
to do to make it work in WebKit is change this return value.

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::supportsGlobalSelection):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212605 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp

index 52b395c..8e8eb3f 100644 (file)
@@ -1,3 +1,18 @@
+2017-02-18  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        [GTK] Cannot paste primary selection into web view in Wayland
+        https://bugs.webkit.org/show_bug.cgi?id=166949
+
+        Reviewed by Carlos Garcia Campos.
+
+        Once upon a time, primary selection (middle-click paste) was not supported in Wayland. At
+        the time, I changed this function to report that primary selection was unsupported. But
+        nowadays, primary selection works fine in all GTK+ applications except WebKit. All we have
+        to do to make it work in WebKit is change this return value.
+
+        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+        (WebKit::WebEditorClient::supportsGlobalSelection):
+
 2017-02-17  Brian Burg  <bburg@apple.com>
 
         Web Inspector: RTL: Inspector window should dock to the left when using RTL layout direction
index a3c9ad9..9c60ff5 100644 (file)
@@ -55,7 +55,7 @@
 #include <wtf/NeverDestroyed.h>
 #include <wtf/text/StringView.h>
 
-#if PLATFORM(X11)
+#if PLATFORM(GTK)
 #include <WebCore/PlatformDisplay.h>
 #endif
 
@@ -550,12 +550,17 @@ void WebEditorClient::setInputMethodState(bool enabled)
 
 bool WebEditorClient::supportsGlobalSelection()
 {
-#if PLATFORM(GTK) && PLATFORM(X11)
-    return PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::X11;
-#else
-    // FIXME: Return true on other X11 platforms when they support global selection.
-    return false;
+#if PLATFORM(GTK)
+#if PLATFORM(X11)
+    if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::X11)
+        return true;
+#endif
+#if PLATFORM(WAYLAND)
+    if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland)
+        return true;
 #endif
+#endif
+    return false;
 }
 
 } // namespace WebKit