diff -r aa4d9369a5d1 -r 4ddceddab409 pidgin/gtkwebview.c --- a/pidgin/gtkwebview.c Wed Jul 18 03:01:28 2012 -0400 +++ b/pidgin/gtkwebview.c Wed Jul 18 03:42:42 2012 -0400 @@ -555,6 +555,23 @@ } void +gtk_webview_load_html_string_with_selection(GtkWebView *webview, const char *html) +{ + gtk_webview_load_html_string(webview, html); + gtk_webview_safe_execute_script(webview, + "var s = window.getSelection();" + "var r = document.createRange();" + "var n = document.getElementById('caret');" + "r.selectNodeContents(n);" + "var f = r.extractContents();" + "r.selectNode(n);" + "r.insertNode(f);" + "n.parentNode.removeChild(n);" + "s.removeAllRanges();" + "s.addRange(r);"); +} + +void gtk_webview_append_html(GtkWebView *webview, const char *html) { GtkWebViewPriv *priv = GTK_WEBVIEW_GET_PRIVATE(webview);