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

List:       kde-commits
Subject:    playground/libs/webkitkde
From:       Michael David Howell <mhowell123 () gmail ! com>
Date:       2009-04-22 22:59:04
Message-ID: 1240441144.183476.26027.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 957817 by michaelhowell:

Add new method, KWebView::load(), as a convenience similar to QWebView::load().



 M  +17 -0     kdewebkit/kwebview.cpp  
 M  +10 -0     kdewebkit/kwebview.h  
 M  +1 -1      part/webkitpart.cpp  
 M  +1 -0      part/webpage.cpp  


--- trunk/playground/libs/webkitkde/kdewebkit/kwebview.cpp #957816:957817
@@ -29,11 +29,14 @@
 
 #include <KDE/KUrl>
 #include <KDE/KDebug>
+#include <kparts/part.h> // Where's the Qt includes?
+#include <kparts/browserextension.h>
 
 #include <QtGui/QApplication>
 #include <QtGui/QClipboard>
 #include <QtGui/QMouseEvent>
 #include <QtWebKit/QWebFrame>
+#include <QtNetwork/QNetworkRequest>
 
 class KWebView::KWebViewPrivate
 {
@@ -176,3 +179,17 @@
     d->searchBar->setFoundMatch(status);
 }
 
+void KWebView::load(const KUrl &url, const KParts::OpenUrlArguments &args, const \
KParts::BrowserArguments &bargs) { +    QNetworkRequest req;
+
+    req.setUrl(url);
+    if (args.reload()) pageAction(KWebPage::Reload)->trigger();
+    req.setRawHeader("Referer", args.metaData()["referrer"].toUtf8());
+
+    if (bargs.postData.isEmpty()) {
+        QWebView::load(req);
+    } else {
+        QWebView::load(req, QNetworkAccessManager::PostOperation, bargs.postData);
+    }
+}
+
--- trunk/playground/libs/webkitkde/kdewebkit/kwebview.h #957816:957817
@@ -34,6 +34,11 @@
 class KUrl;
 class QMouseEvent;
 class QWheelEvent;
+namespace KParts
+{
+class OpenUrlArguments;
+class BrowserArguments;
+}
 
 class KDE_EXPORT KWebView : public QWebView
 {
@@ -47,6 +52,11 @@
 public Q_SLOTS:
     void setCustomContextMenu(bool show);
 
+    /**
+     * similar to load(const QNetworkRequest&, QNetworkAccessManager::Operation), \
but for KParts-style arguments instead. +     */
+    void load(const KUrl &url, const KParts::OpenUrlArguments &args, const \
KParts::BrowserArguments &bargs); +
 Q_SIGNALS:
     void showContextMenu(QContextMenuEvent *event);
     void openUrl(const KUrl &url);
--- trunk/playground/libs/webkitkde/part/webkitpart.cpp #957816:957817
@@ -148,7 +148,7 @@
 {
     setUrl(url);
 
-    m_webView->load(url);
+    m_webView->load(url, arguments(), browserExtension()->browserArguments());
 
     return true;
 }
--- trunk/playground/libs/webkitkde/part/webpage.cpp #957816:957817
@@ -71,6 +71,7 @@
     kDebug() << type;
     KParts::ReadOnlyPart *part = 0;
     KParts::OpenUrlArguments args;
+    args.metaData()["referrer"] = mainFrame()->url().toString();
     //if (type == WebModalDialog) //TODO: correct behavior?
         args.metaData()["forcenewwindow"] = "true";
 


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

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