[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/khtml
From:       David Faure <faure () kde ! org>
Date:       2007-10-24 15:12:35
Message-ID: 1193238755.789869.5098.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 728886 by dfaure:

Use generated dbus interface instead of dynamic call (which is fragile, type-wise, as \
a recent commit showed)


 M  +4 -0      CMakeLists.txt  
 M  +7 -18     html/html_documentimpl.cpp  
 A             html/kcookiejar_include.h   [License: no copyright]


--- trunk/KDE/kdelibs/khtml/CMakeLists.txt #728885:728886
@@ -276,6 +276,10 @@
 
 qt4_add_dbus_adaptor(khtml_LIB_SRCS org.kde.KHTMLPart.xml khtml_iface.h \
KHTMLPartIface)  
+set(kcookiejar_XML ${CMAKE_CURRENT_SOURCE_DIR}/../kioslave/http/kcookiejar/org.kde.KCookieServer.xml)
 +set_source_files_properties(${kcookiejar_XML} PROPERTIES INCLUDE \
"html/kcookiejar_include.h") +qt4_add_dbus_interface(khtml_LIB_SRCS ${kcookiejar_XML} \
kcookiejar_interface) +
 kde4_add_ui_files(khtml_LIB_SRCS kjserrordlgbase.ui htmlpageinfo.ui )
 
 kde4_add_library(khtml SHARED ${khtml_LIB_SRCS})
--- trunk/KDE/kdelibs/khtml/html/html_documentimpl.cpp #728885:728886
@@ -51,6 +51,7 @@
 #include <kglobalsettings.h>
 #include <ktoolinvocation.h>
 #include <QtDBus/QtDBus>
+#include <kcookiejar_interface.h>
 
 #include "css/cssproperties.h"
 #include "css/cssstyleselector.h"
@@ -114,10 +115,8 @@
     if ( v && v->topLevelWidget() )
       windowId = v->topLevelWidget()->winId();
 
-    QDBusInterface kcookiejar("org.kde.kded", "/modules/kcookiejar",
-                              "org.kde.KCookieServer");
-    QDBusReply<QString> reply = kcookiejar.call("findDOMCookies",
-                                                URL().url(), qlonglong(windowId));
+    org::kde::KCookieServer kcookiejar("org.kde.kded", "/modules/kcookiejar", \
QDBusConnection::sessionBus()); +    QDBusReply<QString> reply = \
kcookiejar.findDOMCookies(URL().url(), qlonglong(windowId));  
     if ( !reply.isValid() )
     {
@@ -139,21 +138,11 @@
     QByteArray fake_header("Set-Cookie: ");
     fake_header.append(value.string().toLatin1().constData());
     fake_header.append("\n");
-    QDBusInterface *kcookiejar = new QDBusInterface("org.kde.kded", \
                "/modules/kcookiejar",
-                                                    "org.kde.KCookieServer");
-    if (!kcookiejar->isValid())
-    {
-        // Maybe it wasn't running (e.g. we're opening local html files)
-        QDBusInterface("org.kde.kded", "/kded", "org.kde.kded").call("loadModule", \
                QByteArray("kcookiejar"));
-        delete kcookiejar;
-        kcookiejar = new QDBusInterface("org.kde.kded", "/modules/kcookiejar",
-                                        "org.kde.KCookieServer");
-    }
-
-    kcookiejar->call(QDBus::NoBlock, "addCookies",
+    // Note that kded modules are autoloaded so we don't need to call loadModule \
ourselves. +    org::kde::KCookieServer kcookiejar("org.kde.kded", \
"/modules/kcookiejar", QDBusConnection::sessionBus()); +    // Can't use \
kcookiejar.addCookies because then we can't pass NoBlock... +    \
kcookiejar.call(QDBus::NoBlock, "addCookies",  URL().url(), fake_header, \
                qlonglong(windowId));
-
-    delete kcookiejar;
 }
 
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic