void DataObjectGtk::setURL(const KURL& url, const String& label) { m_url = url; m_uriList = url; setText(url.string()); String actualLabel(label); if (actualLabel.isEmpty()) actualLabel = url; StringBuilder markup; markup.append("<a href=\""); markup.append(url.string()); markup.append("\">"); GOwnPtr<gchar> escaped(g_markup_escape_text(actualLabel.utf8().data(), -1)); markup.append(String::fromUTF8(escaped.get())); markup.append("</a>"); setMarkup(markup.toString()); }
void Pasteboard::writeURL(const KURL& url, const String& label, Frame* frame) { if (url.isEmpty()) return; GtkClipboard* clipboard = PasteboardHelper::clipboardForFrame(frame); ASSERT(clipboard); DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard); ASSERT(dataObject); String actualLabel(label); if (actualLabel.isEmpty()) actualLabel = url; Vector<KURL> uriList; uriList.append(url); dataObject->setURIList(uriList); dataObject->setText(actualLabel); PasteboardHelper::helper()->writeClipboardContents(clipboard); }
void ClipboardGtk::writeURL(const KURL& url, const String& label, Frame*) { String actualLabel(label); if (actualLabel.isEmpty()) actualLabel = url; m_dataObject->setText(actualLabel); Vector<UChar> markup; append(markup, "<a href=\""); append(markup, url.string()); append(markup, "\">"); append(markup, label); append(markup, "</a>"); m_dataObject->setMarkup(String::adopt(markup)); Vector<KURL> uriList; uriList.append(url); m_dataObject->setURIList(uriList); if (m_clipboard) m_helper->writeClipboardContents(m_clipboard); }