diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc
index 4cd2a43b4d937..cd1b9faf6e9a7 100644
--- ui/base/x/x11_os_exchange_data_provider.cc
+++ ui/base/x/x11_os_exchange_data_provider.cc
@@ -127,7 +127,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,
     format_map_.Insert(x11::GetAtom(kMimeTypeMozillaURL), mem);
 
     // Set a string fallback as well.
-    SetString(spec);
+    if (!HasString())
+      SetString(spec);
 
     // Return early if this drag already contains file contents (this implies
     // that file contents must be populated before URLs). Nautilus (and possibly