Changeset 56529 in webkit


Ignore:
Timestamp:
Mar 25, 2010 4:23:23 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-03-25 Kenneth Rohde Christiansen <kenneth@webkit.org>

Reviewed by Eric Seidel.

Make QWebPage not depend on view() but use the client->ownerWidget()
instead. Also, handle the case where there is not page client.

  • Api/qwebpage.cpp: (QWebPagePrivate::createContextMenu): (QWebPagePrivate::keyPressEvent): (QWebPage::javaScriptAlert): (QWebPage::javaScriptConfirm): (QWebPage::javaScriptPrompt): (QWebPage::shouldInterruptJavaScript): (QWebPage::createWindow): (QWebPage::action): (QWebPage::extension): (QWebPage::chooseFile): (QWebPage::userAgentForUrl):
Location:
trunk/WebKit/qt
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/qt/Api/qwebpage.cpp

    r56450 r56529  
    548548        const QList<WebCore::ContextMenuItem> *items, QBitArray *visitedWebActions)
    549549{
    550     QMenu* menu = new QMenu(q->view());
     550    if (!client)
     551        return 0;
     552
     553    QMenu* menu = new QMenu(client->ownerWidget());
    551554    for (int i = 0; i < items->count(); ++i) {
    552555        const ContextMenuItem &item = items->at(i);
     
    10821085        handled = true;
    10831086        QFont defaultFont;
    1084         if (q->view())
    1085             defaultFont = q->view()->font();
     1087        if (client)
     1088            defaultFont = client->ownerWidget()->font();
    10861089        QFontMetrics fm(defaultFont);
    10871090        if (!handleScrolling(ev, frame)) {
     
    19271930    Q_UNUSED(frame)
    19281931#ifndef QT_NO_MESSAGEBOX
    1929     QMessageBox::information(view(), tr("JavaScript Alert - %1").arg(mainFrame()->url().host()), Qt::escape(msg), QMessageBox::Ok);
     1932    QWidget* parent = (d->client) ? d->client->ownerWidget() : 0;
     1933    QMessageBox::information(parent, tr("JavaScript Alert - %1").arg(mainFrame()->url().host()), Qt::escape(msg), QMessageBox::Ok);
    19301934#endif
    19311935}
     
    19431947    return true;
    19441948#else
    1945     return QMessageBox::Yes == QMessageBox::information(view(), tr("JavaScript Confirm - %1").arg(mainFrame()->url().host()), Qt::escape(msg), QMessageBox::Yes, QMessageBox::No);
     1949    QWidget* parent = (d->client) ? d->client->ownerWidget() : 0;
     1950    return QMessageBox::Yes == QMessageBox::information(parent, tr("JavaScript Confirm - %1").arg(mainFrame()->url().host()), Qt::escape(msg), QMessageBox::Yes, QMessageBox::No);
    19461951#endif
    19471952}
     
    19621967    bool ok = false;
    19631968#ifndef QT_NO_INPUTDIALOG
    1964     QString x = QInputDialog::getText(view(), tr("JavaScript Prompt - %1").arg(mainFrame()->url().host()), Qt::escape(msg), QLineEdit::Normal, defaultValue, &ok);
     1969    QWidget* parent = (d->client) ? d->client->ownerWidget() : 0;
     1970    QString x = QInputDialog::getText(parent, tr("JavaScript Prompt - %1").arg(mainFrame()->url().host()), Qt::escape(msg), QLineEdit::Normal, defaultValue, &ok);
    19651971    if (ok && result)
    19661972        *result = x;
     
    19871993    return false;
    19881994#else
    1989     return QMessageBox::Yes == QMessageBox::information(view(), tr("JavaScript Problem - %1").arg(mainFrame()->url().host()), tr("The script on this page appears to have a problem. Do you want to stop the script?"), QMessageBox::Yes, QMessageBox::No);
     1995    QWidget* parent = (d->client) ? d->client->ownerWidget() : 0;
     1996    return QMessageBox::Yes == QMessageBox::information(parent, tr("JavaScript Problem - %1").arg(mainFrame()->url().host()), tr("The script on this page appears to have a problem. Do you want to stop the script?"), QMessageBox::Yes, QMessageBox::No);
    19901997#endif
    19911998}
     
    20062013QWebPage *QWebPage::createWindow(WebWindowType type)
    20072014{
    2008     QWebView *webView = qobject_cast<QWebView *>(view());
     2015    QWebView *webView = qobject_cast<QWebView*>(view());
    20092016    if (webView) {
    20102017        QWebView *newView = webView->createWindow(type);
     
    22902297    QString text;
    22912298    QIcon icon;
    2292     QStyle *style = view() ? view()->style() : qApp->style();
     2299    QStyle *style = d->client ? d->client->style() : qApp->style();
    22932300    bool checkable = false;
    22942301
     
    29872994        // FIXME: do not ignore suggestedFiles
    29882995        QStringList suggestedFiles = static_cast<const ChooseMultipleFilesExtensionOption*>(option)->suggestedFileNames;
    2989         QStringList names = QFileDialog::getOpenFileNames(view(), QString::null);
     2996        QWidget* parent = (d->client) ? d->client->ownerWidget() : 0;
     2997        QStringList names = QFileDialog::getOpenFileNames(parent, QString::null);
    29902998        static_cast<ChooseMultipleFilesExtensionReturn*>(output)->fileNames = names;
    29912999        return true;
     
    30693077    Q_UNUSED(parentFrame)
    30703078#ifndef QT_NO_FILEDIALOG
    3071     return QFileDialog::getOpenFileName(view(), QString::null, suggestedFile);
     3079    QWidget* parent = (d->client) ? d->client->ownerWidget() : 0;
     3080    return QFileDialog::getOpenFileName(parent, QString::null, suggestedFile);
    30723081#else
    30733082    return QString::null;
     
    33473356    // Language
    33483357    QLocale locale;
    3349     if (view())
    3350         locale = view()->locale();
     3358    if (d->client)
     3359        locale = d->client->ownerWidget()->locale();
    33513360    QString name = locale.name();
    33523361    name[2] = QLatin1Char('-');
  • trunk/WebKit/qt/ChangeLog

    r56473 r56529  
     12010-03-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Make QWebPage not depend on view() but use the client->ownerWidget()
     6        instead. Also, handle the case where there is not page client.
     7
     8        * Api/qwebpage.cpp:
     9        (QWebPagePrivate::createContextMenu):
     10        (QWebPagePrivate::keyPressEvent):
     11        (QWebPage::javaScriptAlert):
     12        (QWebPage::javaScriptConfirm):
     13        (QWebPage::javaScriptPrompt):
     14        (QWebPage::shouldInterruptJavaScript):
     15        (QWebPage::createWindow):
     16        (QWebPage::action):
     17        (QWebPage::extension):
     18        (QWebPage::chooseFile):
     19        (QWebPage::userAgentForUrl):
     20
    1212010-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
    222
Note: See TracChangeset for help on using the changeset viewer.