From 5e2bc6953fe6923165b8a5d7679939693a1d58d6 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Fri, 5 Feb 2010 14:27:46 +0000 Subject: Merge webkit.org at r54340 : Initial merge by git Change-Id: Ib489d2ff91186ea3652522e1d586e54416a2cf44 --- WebKit/gtk/ChangeLog | 26 +++++++++++++++++++++++ WebKit/gtk/NEWS | 14 ++++++++++++ WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp | 24 +++++++++++---------- WebKit/gtk/docs/webkitgtk-docs.sgml | 3 +++ 4 files changed, 56 insertions(+), 11 deletions(-) (limited to 'WebKit/gtk') diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog index 3cd90de..92de7e4 100644 --- a/WebKit/gtk/ChangeLog +++ b/WebKit/gtk/ChangeLog @@ -1,3 +1,29 @@ +2010-02-02 Gustavo Noronha Silva + + Reviewed by Xan Lopez. + + Changes in 1.1.20, and documentation control files update. + + * NEWS: + * docs/webkitgtk-docs.sgml: + +2010-02-02 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] When selection changes selections in other WebView are not collapsed + https://bugs.webkit.org/show_bug.cgi?id=34043 + + Collapse the selection of a WebView even when the new selection owner is + a new WebView. + + * WebCoreSupport/PasteboardHelperGtk.cpp: + (WebKit::clearClipboardContentsCallback): Only clear the DataObject we are setting + is not the same as the one referenced in this callback. Use the same behavior for + collapsing the selection. + (WebKit::PasteboardHelperGtk::writeClipboardContents): Instead of recording a boolean + record the actual data used while writing to the clipboard. + 2010-01-27 Martin Robinson Reviewed by Gustavo Noronha Silva. diff --git a/WebKit/gtk/NEWS b/WebKit/gtk/NEWS index 18b5e3c..807fca4 100644 --- a/WebKit/gtk/NEWS +++ b/WebKit/gtk/NEWS @@ -1,4 +1,18 @@ ================= +WebKitGTK+ 1.1.20 +================= + +What's new in WebKitGTK+ 1.1.20? + + - Fixes to the HTML5 Media Player infrastructure to satisfy sites + that require cookies, and Referer to be sent; this makes + WebKitGTK+ able to support the new HTML5 support added to Youtube, + and Vimeo, for instance. + - Windowless plugin support is finally here, making it possible to + get plugins to behave on various web pages. + - The usual stream of fixes, and improvements + +================= WebKitGTK+ 1.1.19 ================= diff --git a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp index 8406ada..b8eb92d 100644 --- a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp +++ b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp @@ -105,7 +105,8 @@ static GtkTargetList* targetListForDataObject(DataObjectGtk* dataObject) return list; } -static bool settingClipboard = false; +static DataObjectGtk* settingClipboardDataObject = 0; +static gpointer settingClipboardData = 0; static void getClipboardContentsCallback(GtkClipboard* clipboard, GtkSelectionData *selectionData, guint info, gpointer data) { DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard); @@ -115,17 +116,16 @@ static void getClipboardContentsCallback(GtkClipboard* clipboard, GtkSelectionDa static void clearClipboardContentsCallback(GtkClipboard* clipboard, gpointer data) { - // GTK will call the clear clipboard callback while setting clipboard data. - // We don't actually want to clear the DataObject during that time. - if (settingClipboard) - return; - DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard); ASSERT(dataObject); - dataObject->clear(); - // This will be true for clipboards other than X11 primary. - if (!data) + // Only clear the DataObject for this clipboard if we are not currently setting it. + if (dataObject != settingClipboardDataObject) + dataObject->clear(); + + // Only collapse the selection if this is an X11 primary clipboard + // and we aren't currently setting the clipboard for this WebView. + if (!data || data == settingClipboardData) return; WebKitWebView* webView = reinterpret_cast(data); @@ -154,7 +154,8 @@ void PasteboardHelperGtk::writeClipboardContents(GtkClipboard* clipboard, gpoint GtkTargetEntry* table = gtk_target_table_new_from_list(list, &numberOfTargets); if (numberOfTargets > 0 && table) { - settingClipboard = true; + settingClipboardDataObject = dataObject; + settingClipboardData = data; // Protect the web view from being destroyed before one of the clipboard callbacks // is called. Balanced in both getClipboardContentsCallback and @@ -168,7 +169,8 @@ void PasteboardHelperGtk::writeClipboardContents(GtkClipboard* clipboard, gpoint if (!succeeded) g_object_unref(webView); - settingClipboard = false; + settingClipboardDataObject = 0; + settingClipboardData = 0; } else gtk_clipboard_clear(clipboard); diff --git a/WebKit/gtk/docs/webkitgtk-docs.sgml b/WebKit/gtk/docs/webkitgtk-docs.sgml index d61a4fd..77f3482 100644 --- a/WebKit/gtk/docs/webkitgtk-docs.sgml +++ b/WebKit/gtk/docs/webkitgtk-docs.sgml @@ -100,4 +100,7 @@ Index of new symbols in 1.1.18 + + Index of new symbols in 1.1.20 + -- cgit v1.1