diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc
index 50f6783cda7a0..a8f781375c719 100644
--- ui/base/x/x11_os_exchange_data_provider.cc
+++ ui/base/x/x11_os_exchange_data_provider.cc
@@ -139,7 +139,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