Changeset 53687 in webkit


Ignore:
Timestamp:
Jan 22, 2010 1:17:41 AM (14 years ago)
Author:
kenneth@webkit.org
Message:

[Qt] Separate out the WebPage class into it's own
cpp/header files. Also, removed the assumption that
the view is a QWebView, in preparation of a merger
of the two Qt WebKit launchers.

Rubberstamped by Antti Koivisto.

  • QtLauncher/QtLauncher.pro:
  • QtLauncher/main.cpp:

(WebView::mousePressEvent):

  • QtLauncher/webpage.cpp: Added.

(WebPage::supportsExtension):
(WebPage::extension):
(WebPage::acceptNavigationRequest):
(WebPage::openUrlInDefaultBrowser):

  • QtLauncher/webpage.h: Added.

(WebPage::WebPage):

Location:
trunk/WebKitTools
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r53675 r53687  
     12010-01-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
     2
     3        Rubberstamped by Antti Koivisto.
     4
     5        [Qt] Separate out the WebPage class into it's own
     6        cpp/header files. Also, removed the assumption that
     7        the view is a QWebView, in preparation of a merger
     8        of the two Qt WebKit launchers.
     9
     10        * QtLauncher/QtLauncher.pro:
     11        * QtLauncher/main.cpp:
     12        (WebView::mousePressEvent):
     13        * QtLauncher/webpage.cpp: Added.
     14        (WebPage::supportsExtension):
     15        (WebPage::extension):
     16        (WebPage::acceptNavigationRequest):
     17        (WebPage::openUrlInDefaultBrowser):
     18        * QtLauncher/webpage.h: Added.
     19        (WebPage::WebPage):
     20
    1212010-01-21  Chris Jerdonek  <cjerdonek@webkit.org>
    222
  • trunk/WebKitTools/QtLauncher/QtLauncher.pro

    r52486 r53687  
    11TEMPLATE = app
    2 SOURCES += main.cpp
     2SOURCES += main.cpp webpage.cpp
    33CONFIG -= app_bundle
    44CONFIG += uitools
  • trunk/WebKitTools/QtLauncher/main.cpp

    r53259 r53687  
    5252#include <qwebframe.h>
    5353#include <qwebinspector.h>
    54 #include <qwebpage.h>
     54#include "webpage.h"
    5555#include <qwebsettings.h>
    5656#include <qwebview.h>
     
    9494    virtual void mousePressEvent(QMouseEvent* event)
    9595    {
    96         mouseButtons = event->buttons();
    97         keyboardModifiers = event->modifiers();
     96        setProperty("mouseButtons", QVariant::fromValue(int(event->buttons())));
     97        setProperty("keyboardModifiers", QVariant::fromValue(int(event->modifiers())));
    9898
    9999        QWebView::mousePressEvent(event);
    100100    }
    101101
    102 public slots:
    103     void openUrlInDefaultBrowser(const QUrl &url = QUrl())
    104     {
    105         if (QAction* action = qobject_cast<QAction*>(sender()))
    106             QDesktopServices::openUrl(action->data().toUrl());
    107         else
    108             QDesktopServices::openUrl(url);
    109     }
    110 
    111 public:
    112     Qt::MouseButtons mouseButtons;
    113     Qt::KeyboardModifiers keyboardModifiers;
    114 };
    115 
    116 class WebPage : public QWebPage {
    117 public:
    118     WebPage(QWidget *parent) : QWebPage(parent) {}
    119 
    120     virtual QWebPage *createWindow(QWebPage::WebWindowType);
    121     virtual QObject* createPlugin(const QString&, const QUrl&, const QStringList&, const QStringList&);
    122     virtual bool supportsExtension(QWebPage::Extension extension) const
    123     {
    124         if (extension == QWebPage::ErrorPageExtension)
    125             return true;
    126         return false;
    127     }
    128     virtual bool extension(Extension extension, const ExtensionOption *option, ExtensionReturn *output);
    129 
    130 
    131     virtual bool acceptNavigationRequest(QWebFrame* frame, const QNetworkRequest &request, NavigationType type)
    132     {
    133         WebView* webView = static_cast<WebView*>(view());
    134         if (webView->keyboardModifiers & Qt::ShiftModifier) {
    135             QWebPage* page = createWindow(QWebPage::WebBrowserWindow);
    136             page->mainFrame()->load(request);
    137             return false;
    138         }
    139         if (webView->keyboardModifiers & Qt::AltModifier) {
    140             webView->openUrlInDefaultBrowser(request.url());
    141             return false;
    142         }
    143 
    144         return QWebPage::acceptNavigationRequest(frame, request, type);
    145     }
    146102};
    147103
     
    629585};
    630586
    631 bool WebPage::extension(Extension extension, const ExtensionOption *option, ExtensionReturn *output)
    632 {
    633     const QWebPage::ErrorPageExtensionOption* info = static_cast<const QWebPage::ErrorPageExtensionOption*>(option);
    634     QWebPage::ErrorPageExtensionReturn* errorPage = static_cast<QWebPage::ErrorPageExtensionReturn*>(output);
    635 
    636     errorPage->content = QString("<html><head><title>Failed loading page</title></head><body>%1</body></html>")
    637         .arg(info->errorString).toUtf8();
    638 
    639     return true;
    640 }
    641587
    642588QWebPage* WebPage::createWindow(QWebPage::WebWindowType)
Note: See TracChangeset for help on using the changeset viewer.