summaryrefslogtreecommitdiffstats
path: root/WebKit/gtk/webkit/webkitprivate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/gtk/webkit/webkitprivate.cpp')
-rw-r--r--WebKit/gtk/webkit/webkitprivate.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/WebKit/gtk/webkit/webkitprivate.cpp b/WebKit/gtk/webkit/webkitprivate.cpp
index 4425dcd..c80160c 100644
--- a/WebKit/gtk/webkit/webkitprivate.cpp
+++ b/WebKit/gtk/webkit/webkitprivate.cpp
@@ -28,6 +28,7 @@
#include "FrameLoader.h"
#include "FrameLoaderClientGtk.h"
#include "HitTestResult.h"
+#include "IconDatabase.h"
#include <libintl.h>
#include "Logging.h"
#include "PageCache.h"
@@ -37,8 +38,11 @@
#include "ResourceHandle.h"
#include "ResourceHandleClient.h"
#include "ResourceHandleInternal.h"
+#include "ResourceResponse.h"
#include <runtime/InitializeThreading.h>
#include "SecurityOrigin.h"
+#include <stdlib.h>
+#include "webkitnetworkresponse.h"
#if ENABLE(DATABASE)
#include "DatabaseTracker.h"
@@ -112,6 +116,15 @@ WebCore::ResourceRequest core(WebKitNetworkRequest* request)
return ResourceRequest(url);
}
+WebCore::ResourceResponse core(WebKitNetworkResponse* response)
+{
+ SoupMessage* soupMessage = webkit_network_response_get_message(response);
+ if (soupMessage)
+ return ResourceResponse(soupMessage);
+
+ return ResourceResponse();
+}
+
WebCore::EditingBehavior core(WebKitEditingBehavior type)
{
return (WebCore::EditingBehavior)type;
@@ -153,6 +166,12 @@ WebKitHitTestResult* kit(const WebCore::HitTestResult& result)
NULL));
}
+PasteboardHelperGtk* pasteboardHelperInstance()
+{
+ static PasteboardHelperGtk* helper = new PasteboardHelperGtk();
+ return helper;
+}
+
} /** end namespace WebKit */
namespace WTF {
@@ -208,6 +227,11 @@ static GtkWidget* currentToplevelCallback(WebKitSoupAuthDialog* feature, SoupMes
return NULL;
}
+static void closeIconDatabaseOnExit()
+{
+ iconDatabase()->close();
+}
+
void webkit_init()
{
static bool isInitialized = false;
@@ -237,7 +261,14 @@ void webkit_init()
PageGroup::setShouldTrackVisitedLinks(true);
- Pasteboard::generalPasteboard()->setHelper(new WebKit::PasteboardHelperGtk());
+ Pasteboard::generalPasteboard()->setHelper(WebKit::pasteboardHelperInstance());
+
+ iconDatabase()->setEnabled(true);
+
+ GOwnPtr<gchar> iconDatabasePath(g_build_filename(g_get_user_data_dir(), "webkit", "icondatabase", NULL));
+ iconDatabase()->open(iconDatabasePath.get());
+
+ atexit(closeIconDatabaseOnExit);
SoupSession* session = webkit_get_default_session();