diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 2c75180..40f9cd4 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -2188,6 +2188,7 @@ HEADERS += $$WEBKIT_API_HEADERS
         lib_replace.match = $$DESTDIR
         lib_replace.replace = $$[QT_INSTALL_LIBS]
         QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace
+        LIBS += -lQtDBus
     }
 
     mac {
diff --git a/WebKit/qt/Api/qwebview.cpp b/WebKit/qt/Api/qwebview.cpp
index c634a7f..743cd84 100644
--- a/WebKit/qt/Api/qwebview.cpp
+++ b/WebKit/qt/Api/qwebview.cpp
@@ -30,6 +30,8 @@
 #include "qdir.h"
 #include "qfile.h"
 
+#include <QtDBus/QDBusConnection>
+
 class QWebViewPrivate
 {
 public:
@@ -168,6 +170,11 @@ QWebView::QWebView(QWidget *parent)
 
     setMouseTracking(true);
     setFocusPolicy(Qt::WheelFocus);
+
+#error You must specify the event that you listening for here. See qt's documentation for the meaning of the paramters.
+    QDBusConnection::sessionBus().connect(
+            QString(""), QString(""), QString(""), QString("")
+            , this, SLOT(clearMemoryCachesSlot()));
 }
 
 /*!
@@ -183,6 +190,11 @@ QWebView::~QWebView()
     delete d;
 }
 
+void QWebView::clearMemoryCachesSlot() const
+{
+    QWebSettings::clearMemoryCaches();
+}
+
 /*!
     Returns a pointer to the underlying web page.
 
diff --git a/WebKit/qt/Api/qwebview.h b/WebKit/qt/Api/qwebview.h
index 5c2c7a0..3ce0102 100644
--- a/WebKit/qt/Api/qwebview.h
+++ b/WebKit/qt/Api/qwebview.h
@@ -120,6 +120,8 @@ public Q_SLOTS:
 
     void print(QPrinter *printer) const;
 
+    void clearMemoryCachesSlot() const;
+
 Q_SIGNALS:
     void loadStarted();
     void loadProgress(int progress);

