Title: [187953] releases/WebKitGTK/webkit-2.8/Source/WebCore
Revision
187953
Author
carlo...@webkit.org
Date
2015-08-05 02:37:43 -0700 (Wed, 05 Aug 2015)

Log Message

Merge r187640 - [GTK] Have DataObjectGtk::unknownTypes() return a reference to the HashMap object
https://bugs.webkit.org/show_bug.cgi?id=147401

Reviewed by Carlos Garcia Campos.

Don't copy the DataObjectGtk::m_unknownTypes HashMap on every retrieval through
DataObjectGtk::unknownTypes(). The range-based for-loops that iterate over the
map in PasteboardGtk.cpp and PasteboardHelper.cpp are also cleaned up.

* platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::unknownTypes):
* platform/gtk/DataObjectGtk.h:
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writePasteboard):
(WebCore::Pasteboard::types):
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::fillSelectionData):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog (187952 => 187953)


--- releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog	2015-08-05 09:04:40 UTC (rev 187952)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog	2015-08-05 09:37:43 UTC (rev 187953)
@@ -1,3 +1,23 @@
+2015-07-31  Zan Dobersek  <zdober...@igalia.com>
+
+        [GTK] Have DataObjectGtk::unknownTypes() return a reference to the HashMap object
+        https://bugs.webkit.org/show_bug.cgi?id=147401
+
+        Reviewed by Carlos Garcia Campos.
+
+        Don't copy the DataObjectGtk::m_unknownTypes HashMap on every retrieval through
+        DataObjectGtk::unknownTypes(). The range-based for-loops that iterate over the
+        map in PasteboardGtk.cpp and PasteboardHelper.cpp are also cleaned up.
+
+        * platform/gtk/DataObjectGtk.cpp:
+        (WebCore::DataObjectGtk::unknownTypes):
+        * platform/gtk/DataObjectGtk.h:
+        * platform/gtk/PasteboardGtk.cpp:
+        (WebCore::Pasteboard::writePasteboard):
+        (WebCore::Pasteboard::types):
+        * platform/gtk/PasteboardHelper.cpp:
+        (WebCore::PasteboardHelper::fillSelectionData):
+
 2015-07-30  Michael Catanzaro  <mcatanz...@igalia.com>
 
         [GTK] Crashes when SoupSession is destroyed in exit handler

Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/DataObjectGtk.cpp (187952 => 187953)


--- releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/DataObjectGtk.cpp	2015-08-05 09:04:40 UTC (rev 187952)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/DataObjectGtk.cpp	2015-08-05 09:37:43 UTC (rev 187953)
@@ -33,7 +33,7 @@
     str.replace(NonBreakingSpaceCharacter, SpaceCharacter);
 }
 
-HashMap<String, String> DataObjectGtk::unknownTypes() const
+const HashMap<String, String>& DataObjectGtk::unknownTypes() const
 {
     return m_unknownTypeData;
 }

Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/DataObjectGtk.h (187952 => 187953)


--- releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/DataObjectGtk.h	2015-08-05 09:04:40 UTC (rev 187952)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/DataObjectGtk.h	2015-08-05 09:37:43 UTC (rev 187953)
@@ -54,7 +54,7 @@
     String text() const { return m_text; }
     String markup() const { return m_markup; }
     String unknownTypeData(const String& type) const { return m_unknownTypeData.get(type); }
-    HashMap<String, String> unknownTypes() const;
+    const HashMap<String, String>& unknownTypes() const;
     void setText(const String&);
     void setMarkup(const String&);
     void setUnknownTypeData(const String& type, const String& data) { m_unknownTypeData.set(type, data); }

Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/PasteboardGtk.cpp (187952 => 187953)


--- releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/PasteboardGtk.cpp	2015-08-05 09:04:40 UTC (rev 187952)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/PasteboardGtk.cpp	2015-08-05 09:37:43 UTC (rev 187953)
@@ -204,10 +204,8 @@
     if (sourceDataObject->hasImage())
         m_dataObject->setImage(sourceDataObject->image());
     if (sourceDataObject->hasUnknownTypeData()) {
-        auto types = m_dataObject->unknownTypes();
-        auto end = types.end();
-        for (auto it = types.begin(); it != end; ++it)
-            m_dataObject->setUnknownTypeData(it->key, it->value);
+        for (auto& it : m_dataObject->unknownTypes())
+            m_dataObject->setUnknownTypeData(it.key, it.value);
     }
 
     if (m_gtkClipboard)
@@ -300,10 +298,8 @@
     if (m_dataObject->hasFilenames())
         types.append(ASCIILiteral("Files"));
 
-    auto unknownTypes = m_dataObject->unknownTypes();
-    auto end = unknownTypes.end();
-    for (auto it = unknownTypes.begin(); it != end; ++it)
-        types.append(it->key);
+    for (auto& key : m_dataObject->unknownTypes().keys())
+        types.append(key);
 
     return types;
 }

Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/PasteboardHelper.cpp (187952 => 187953)


--- releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/PasteboardHelper.cpp	2015-08-05 09:04:40 UTC (rev 187952)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/PasteboardHelper.cpp	2015-08-05 09:37:43 UTC (rev 187953)
@@ -162,10 +162,8 @@
         GVariantBuilder builder;
         g_variant_builder_init(&builder, G_VARIANT_TYPE_ARRAY);
 
-        auto types = dataObject->unknownTypes();
-        auto end = types.end();
-        for (auto it = types.begin(); it != end; ++it) {
-            GUniquePtr<gchar> dictItem(g_strdup_printf("{'%s', '%s'}", it->key.utf8().data(), it->value.utf8().data()));
+        for (auto& it : dataObject->unknownTypes()) {
+            GUniquePtr<gchar> dictItem(g_strdup_printf("{'%s', '%s'}", it.key.utf8().data(), it.value.utf8().data()));
             g_variant_builder_add_parsed(&builder, dictItem.get());
         }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to