Loading widget/gtk/nsClipboard.cpp +26 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,10 @@ static const char kHTMLMarkupPrefix[] = static const char kURIListMime[] = "text/uri-list"; // MIME to exclude sensitive data (password) from the clipboard history on not // just KDE. static const char kKDEPasswordManagerHintMime[] = "x-kde-passwordManagerHint"; MOZ_CONSTINIT ClipboardTargets nsRetrievalContext::sClipboardTargets; MOZ_CONSTINIT ClipboardTargets nsRetrievalContext::sPrimaryTargets; Loading Loading @@ -313,6 +317,12 @@ nsClipboard::SetNativeClipboardData(nsITransferable* aTransferable, gtk_target_list_add(list, atom, 0, 0); } // Try to exclude private data from clipboard history. if (aTransferable->GetIsPrivateData()) { GdkAtom atom = gdk_atom_intern(kKDEPasswordManagerHintMime, FALSE); gtk_target_list_add(list, atom, 0, 0); } // Get GTK clipboard (CLIPBOARD or PRIMARY) GtkClipboard* gtkClipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); Loading Loading @@ -1228,6 +1238,22 @@ void nsClipboard::SelectionGetEvent(GtkClipboard* aClipboard, return; } if (selectionTarget == gdk_atom_intern(kKDEPasswordManagerHintMime, FALSE)) { if (!trans->GetIsPrivateData()) { MOZ_CLIPBOARD_LOG( " requested %s, but the data isn't actually private!\n", kKDEPasswordManagerHintMime); return; } static const char* kSecret = "secret"; MOZ_CLIPBOARD_LOG(" Setting data to '%s' for %s\n", kSecret, kKDEPasswordManagerHintMime); gtk_selection_data_set(aSelectionData, selectionTarget, 8, (const guchar*)kSecret, strlen(kSecret)); return; } MOZ_CLIPBOARD_LOG(" Try if we have anything at GetTransferData() for %s\n", GUniquePtr<gchar>(gdk_atom_name(selectionTarget)).get()); Loading Loading
widget/gtk/nsClipboard.cpp +26 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,10 @@ static const char kHTMLMarkupPrefix[] = static const char kURIListMime[] = "text/uri-list"; // MIME to exclude sensitive data (password) from the clipboard history on not // just KDE. static const char kKDEPasswordManagerHintMime[] = "x-kde-passwordManagerHint"; MOZ_CONSTINIT ClipboardTargets nsRetrievalContext::sClipboardTargets; MOZ_CONSTINIT ClipboardTargets nsRetrievalContext::sPrimaryTargets; Loading Loading @@ -313,6 +317,12 @@ nsClipboard::SetNativeClipboardData(nsITransferable* aTransferable, gtk_target_list_add(list, atom, 0, 0); } // Try to exclude private data from clipboard history. if (aTransferable->GetIsPrivateData()) { GdkAtom atom = gdk_atom_intern(kKDEPasswordManagerHintMime, FALSE); gtk_target_list_add(list, atom, 0, 0); } // Get GTK clipboard (CLIPBOARD or PRIMARY) GtkClipboard* gtkClipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); Loading Loading @@ -1228,6 +1238,22 @@ void nsClipboard::SelectionGetEvent(GtkClipboard* aClipboard, return; } if (selectionTarget == gdk_atom_intern(kKDEPasswordManagerHintMime, FALSE)) { if (!trans->GetIsPrivateData()) { MOZ_CLIPBOARD_LOG( " requested %s, but the data isn't actually private!\n", kKDEPasswordManagerHintMime); return; } static const char* kSecret = "secret"; MOZ_CLIPBOARD_LOG(" Setting data to '%s' for %s\n", kSecret, kKDEPasswordManagerHintMime); gtk_selection_data_set(aSelectionData, selectionTarget, 8, (const guchar*)kSecret, strlen(kSecret)); return; } MOZ_CLIPBOARD_LOG(" Try if we have anything at GetTransferData() for %s\n", GUniquePtr<gchar>(gdk_atom_name(selectionTarget)).get()); Loading