Title: [106117] trunk/Source
Revision
106117
Author
[email protected]
Date
2012-01-27 06:27:24 -0800 (Fri, 27 Jan 2012)

Log Message

[GTK] Add a GKeyFile especialization to GOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=77191

Reviewed by Martin Robinson.

Source/_javascript_Core:

* wtf/gobject/GOwnPtr.cpp:
(WTF::GKeyFile): Implement freeOwnedGPtr for GKeyFile.
* wtf/gobject/GOwnPtr.h: Add GKeyFile template.
* wtf/gobject/GTypedefs.h: Add forward declaration for GKeyFile.

Source/WebKit2:

* Shared/gtk/ArgumentCodersGtk.cpp:
(CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile.
(CoreIPC::encode): Ditto.
(CoreIPC::decode): Ditto.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (106116 => 106117)


--- trunk/Source/_javascript_Core/ChangeLog	2012-01-27 14:20:50 UTC (rev 106116)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-01-27 14:27:24 UTC (rev 106117)
@@ -1,3 +1,15 @@
+2012-01-27  Carlos Garcia Campos  <[email protected]>
+
+        [GTK] Add a GKeyFile especialization to GOwnPtr
+        https://bugs.webkit.org/show_bug.cgi?id=77191
+
+        Reviewed by Martin Robinson.
+
+        * wtf/gobject/GOwnPtr.cpp:
+        (WTF::GKeyFile): Implement freeOwnedGPtr for GKeyFile.
+        * wtf/gobject/GOwnPtr.h: Add GKeyFile template.
+        * wtf/gobject/GTypedefs.h: Add forward declaration for GKeyFile.
+
 2012-01-25  Yury Semikhatsky  <[email protected]>
 
         Web Inspector: should be possible to open function declaration from script popover

Modified: trunk/Source/_javascript_Core/wtf/gobject/GOwnPtr.cpp (106116 => 106117)


--- trunk/Source/_javascript_Core/wtf/gobject/GOwnPtr.cpp	2012-01-27 14:20:50 UTC (rev 106116)
+++ trunk/Source/_javascript_Core/wtf/gobject/GOwnPtr.cpp	2012-01-27 14:27:24 UTC (rev 106117)
@@ -55,6 +55,12 @@
         g_timer_destroy(ptr);
 }
 
+template <> void freeOwnedGPtr<GKeyFile>(GKeyFile* ptr)
+{
+    if (ptr)
+        g_key_file_free(ptr);
+}
+
 } // namespace WTF
 
 #endif // ENABLE(GLIB_SUPPORT)

Modified: trunk/Source/_javascript_Core/wtf/gobject/GOwnPtr.h (106116 => 106117)


--- trunk/Source/_javascript_Core/wtf/gobject/GOwnPtr.h	2012-01-27 14:20:50 UTC (rev 106116)
+++ trunk/Source/_javascript_Core/wtf/gobject/GOwnPtr.h	2012-01-27 14:27:24 UTC (rev 106117)
@@ -38,6 +38,7 @@
 template<> void freeOwnedGPtr<GPatternSpec>(GPatternSpec*);
 template<> void freeOwnedGPtr<GDir>(GDir*);
 template<> void freeOwnedGPtr<GTimer>(GTimer*);
+template<> void freeOwnedGPtr<GKeyFile>(GKeyFile*);
 
 template <typename T> class GOwnPtr {
     WTF_MAKE_NONCOPYABLE(GOwnPtr);

Modified: trunk/Source/_javascript_Core/wtf/gobject/GTypedefs.h (106116 => 106117)


--- trunk/Source/_javascript_Core/wtf/gobject/GTypedefs.h	2012-01-27 14:20:50 UTC (rev 106116)
+++ trunk/Source/_javascript_Core/wtf/gobject/GTypedefs.h	2012-01-27 14:27:24 UTC (rev 106117)
@@ -59,6 +59,7 @@
 typedef struct _GVariant GVariant;
 typedef union _GdkEvent GdkEvent;
 typedef struct _GTimer GTimer;
+typedef struct _GKeyFile GKeyFile;
 
 #if USE(CAIRO)
 typedef struct _cairo_surface cairo_surface_t;

Modified: trunk/Source/WebKit2/ChangeLog (106116 => 106117)


--- trunk/Source/WebKit2/ChangeLog	2012-01-27 14:20:50 UTC (rev 106116)
+++ trunk/Source/WebKit2/ChangeLog	2012-01-27 14:27:24 UTC (rev 106117)
@@ -1,3 +1,15 @@
+2012-01-27  Carlos Garcia Campos  <[email protected]>
+
+        [GTK] Add a GKeyFile especialization to GOwnPtr
+        https://bugs.webkit.org/show_bug.cgi?id=77191
+
+        Reviewed by Martin Robinson.
+
+        * Shared/gtk/ArgumentCodersGtk.cpp:
+        (CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile.
+        (CoreIPC::encode): Ditto.
+        (CoreIPC::decode): Ditto.
+
 2012-01-27  Kenneth Rohde Christiansen  <[email protected]>
 
         [Qt] Fade out tap highlighting when starting to pan

Modified: trunk/Source/WebKit2/Shared/gtk/ArgumentCodersGtk.cpp (106116 => 106117)


--- trunk/Source/WebKit2/Shared/gtk/ArgumentCodersGtk.cpp	2012-01-27 14:20:50 UTC (rev 106116)
+++ trunk/Source/WebKit2/Shared/gtk/ArgumentCodersGtk.cpp	2012-01-27 14:27:24 UTC (rev 106117)
@@ -226,21 +226,18 @@
     encoder->encode(dataReference);
 }
 
-static bool decodeGKeyFile(ArgumentDecoder* decoder, GKeyFile** keyFile)
+static bool decodeGKeyFile(ArgumentDecoder* decoder, GOwnPtr<GKeyFile>& keyFile)
 {
     DataReference dataReference;
     if (!decoder->decode(dataReference))
         return false;
 
-    if (!dataReference.size()) {
-        *keyFile = 0;
+    if (!dataReference.size())
         return true;
-    }
 
-    *keyFile = g_key_file_new();
-    if (!g_key_file_load_from_data(*keyFile, reinterpret_cast<const gchar*>(dataReference.data()), dataReference.size(), G_KEY_FILE_NONE, 0)) {
-        g_key_file_free(*keyFile);
-        *keyFile = 0;
+    keyFile.set(g_key_file_new());
+    if (!g_key_file_load_from_data(keyFile.get(), reinterpret_cast<const gchar*>(dataReference.data()), dataReference.size(), G_KEY_FILE_NONE, 0)) {
+        keyFile.clear();
         return false;
     }
 
@@ -249,50 +246,46 @@
 
 void encode(ArgumentEncoder* encoder, GtkPrintSettings* printSettings)
 {
-    GKeyFile* keyFile = g_key_file_new();
-    gtk_print_settings_to_key_file(printSettings, keyFile, "Print Settings");
-    encodeGKeyFile(encoder, keyFile);
-    g_key_file_free(keyFile);
+    GOwnPtr<GKeyFile> keyFile(g_key_file_new());
+    gtk_print_settings_to_key_file(printSettings, keyFile.get(), "Print Settings");
+    encodeGKeyFile(encoder, keyFile.get());
 }
 
 bool decode(ArgumentDecoder* decoder, GRefPtr<GtkPrintSettings>& printSettings)
 {
-    GKeyFile* keyFile;
-    if (!decodeGKeyFile(decoder, &keyFile))
+    GOwnPtr<GKeyFile> keyFile;
+    if (!decodeGKeyFile(decoder, keyFile))
         return false;
 
     printSettings = adoptGRef(gtk_print_settings_new());
     if (!keyFile)
         return true;
 
-    if (!gtk_print_settings_load_key_file(printSettings.get(), keyFile, "Print Settings", 0))
+    if (!gtk_print_settings_load_key_file(printSettings.get(), keyFile.get(), "Print Settings", 0))
         printSettings = 0;
-    g_key_file_free(keyFile);
 
     return printSettings;
 }
 
 void encode(ArgumentEncoder* encoder, GtkPageSetup* pageSetup)
 {
-    GKeyFile* keyFile = g_key_file_new();
-    gtk_page_setup_to_key_file(pageSetup, keyFile, "Page Setup");
-    encodeGKeyFile(encoder, keyFile);
-    g_key_file_free(keyFile);
+    GOwnPtr<GKeyFile> keyFile(g_key_file_new());
+    gtk_page_setup_to_key_file(pageSetup, keyFile.get(), "Page Setup");
+    encodeGKeyFile(encoder, keyFile.get());
 }
 
 bool decode(ArgumentDecoder* decoder, GRefPtr<GtkPageSetup>& pageSetup)
 {
-    GKeyFile* keyFile;
-    if (!decodeGKeyFile(decoder, &keyFile))
+    GOwnPtr<GKeyFile> keyFile;
+    if (!decodeGKeyFile(decoder, keyFile))
         return false;
 
     pageSetup = adoptGRef(gtk_page_setup_new());
     if (!keyFile)
         return true;
 
-    if (!gtk_page_setup_load_key_file(pageSetup.get(), keyFile, "Page Setup", 0))
+    if (!gtk_page_setup_load_key_file(pageSetup.get(), keyFile.get(), "Page Setup", 0))
         pageSetup = 0;
-    g_key_file_free(keyFile);
 
     return pageSetup;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to