diff --git a/Graphics/UI/Gtk/WebKit/WebDataSource.chs b/Graphics/UI/Gtk/WebKit/WebDataSource.chs
--- a/Graphics/UI/Gtk/WebKit/WebDataSource.chs
+++ b/Graphics/UI/Gtk/WebKit/WebDataSource.chs
@@ -49,7 +49,7 @@
   webDataSourceNew,
 
 -- * Methods  
-  -- webDataSourceGetData,
+  webDataSourceGetData,
   webDataSourceGetEncoding,
   webDataSourceGetInitialRequest,
   webDataSourceGetMainResource,
@@ -65,6 +65,7 @@
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
+import System.Glib.GString
 import System.Glib.GError 
 import Graphics.UI.Gtk.Gdk.Events
 
@@ -80,18 +81,15 @@
 webDataSourceNew = 
     wrapNewGObject mkWebDataSource $ {#call web_data_source_new#} 
 
--- | Returns the raw data that represents the the frame's content.The data will be incomplete until the
+-- | Returns the raw data that represents the the frame's content. The data will be incomplete until the
 -- data has finished loading. Returns 'Nothing' if the web frame hasn't loaded any data. Use
 -- @webkitWebDataSourceIsLoading@ to test if data source is in the process of loading.
--- 
--- webDataSourceGetData :: WebDataSourceClass self => self
---                      -> IO (Maybe String)
--- webDataSourceGetData ds = do
---   ptr <- {#call webkit_web_data_source_get_data #}
---            (toWebDataSource ds)
---   if strPtr == nullPtr
---      then return Nothing
---      else liftM Just $ peekCStringLen (strPtr, strLen)
+webDataSourceGetData :: WebDataSourceClass self => self
+                     -> IO (Maybe String)
+webDataSourceGetData ds = do
+  gstr <- {#call webkit_web_data_source_get_data #}
+                 (toWebDataSource ds)
+  readGString gstr
 
 -- | Returns the text encoding name as set in the 'WebView', or if not, the text encoding of the response.
 webDataSourceGetEncoding ::
diff --git a/Graphics/UI/Gtk/WebKit/WebResource.chs b/Graphics/UI/Gtk/WebKit/WebResource.chs
--- a/Graphics/UI/Gtk/WebKit/WebResource.chs
+++ b/Graphics/UI/Gtk/WebKit/WebResource.chs
@@ -41,6 +41,7 @@
   webResourceNew,
 
 -- * Methods  
+  webResourceGetData,
   webResourceGetEncoding,
   webResourceGetFrameName,
   webResourceGetMimeType,
@@ -52,6 +53,7 @@
 import System.Glib.FFI
 import System.Glib.UTFString
 import System.Glib.GList
+import System.Glib.GString
 import System.Glib.GError 
 import Graphics.UI.Gtk.Gdk.Events
 
@@ -74,6 +76,11 @@
    withCString frameName $ \framePtr -> 
    wrapNewGObject mkWebResource $ 
      {#call web_resource_new#} dataPtr (fromIntegral size) uriPtr mimePtr encodingPtr framePtr
+
+-- | Returns the data of the WebResource.
+webResourceGetData :: WebResourceClass self => self -> IO (Maybe String)
+webResourceGetData wr =
+  {#call web_resource_get_data#} (toWebResource wr) >>= readGString
 
 -- | Get encoding.
 webResourceGetEncoding :: 
diff --git a/webkit.cabal b/webkit.cabal
--- a/webkit.cabal
+++ b/webkit.cabal
@@ -1,5 +1,5 @@
 Name:           webkit
-Version:        0.12.1
+Version:        0.12.2
 License:        LGPL-2.1
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
