Changeset 57974 in webkit


Ignore:
Timestamp:
Apr 21, 2010 6:32:56 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-04-21 Balazs Kelemen <kb@inf.u-szeged.hu>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Interrupting JavaScript is cumbersome when you use QtLaucher for testing or profiling.
https://bugs.webkit.org/show_bug.cgi?id=37198

  • QtLauncher/main.cpp: (LauncherWindow::toggleInterruptingJavaScriptEnabled): (LauncherWindow::newWindow): (LauncherWindow::cloneWindow): (LauncherWindow::createChrome): (main):
  • QtLauncher/webpage.cpp: (WebPage::WebPage): (WebPage::shouldInterruptJavaScript):
  • QtLauncher/webpage.h: (WebPage::setInterruptingJavaScriptEnabled):
Location:
trunk/WebKitTools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r57966 r57974  
     12010-04-21  Balazs Kelemen  <kb@inf.u-szeged.hu>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [Qt] Interrupting JavaScript is cumbersome when you use QtLaucher for testing or profiling.
     6        https://bugs.webkit.org/show_bug.cgi?id=37198
     7
     8        * QtLauncher/main.cpp:
     9        (LauncherWindow::toggleInterruptingJavaScriptEnabled):
     10        (LauncherWindow::newWindow):
     11        (LauncherWindow::cloneWindow):
     12        (LauncherWindow::createChrome):
     13        (main):
     14        * QtLauncher/webpage.cpp:
     15        (WebPage::WebPage):
     16        (WebPage::shouldInterruptJavaScript):
     17        * QtLauncher/webpage.h:
     18        (WebPage::setInterruptingJavaScriptEnabled):
     19
    1202010-04-21  Eric Seidel  <eric@webkit.org>
    221
  • trunk/WebKitTools/QtLauncher/main.cpp

    r57897 r57974  
    144144    void changeViewportUpdateMode(int mode);
    145145    void toggleFrameFlattening(bool toggle);
     146    void toggleInterruptingJavaScriptEnabled(bool enable);
    146147
    147148#if defined(QT_CONFIGURED_WITH_OPENGL)
     
    152153
    153154public slots:
    154     void newWindow();
    155     void cloneWindow();
     155    LauncherWindow* newWindow();
     156    LauncherWindow* cloneWindow();
    156157    void updateFPS(int fps);
    157158
     
    701702}
    702703
     704void LauncherWindow::toggleInterruptingJavaScriptEnabled(bool enable)
     705{
     706    page()->setInterruptingJavaScriptEnabled(enable);
     707}
     708
    703709#if defined(QT_CONFIGURED_WITH_OPENGL)
    704710void LauncherWindow::toggleQGLWidgetViewport(bool enable)
     
    759765}
    760766
    761 void LauncherWindow::newWindow()
     767LauncherWindow* LauncherWindow::newWindow()
    762768{
    763769    LauncherWindow* mw = new LauncherWindow(this, false);
    764770    mw->show();
    765 }
    766 
    767 void LauncherWindow::cloneWindow()
     771    return mw;
     772}
     773
     774LauncherWindow* LauncherWindow::cloneWindow()
    768775{
    769776    LauncherWindow* mw = new LauncherWindow(this, true);
    770777    mw->show();
     778    return mw;
    771779}
    772780
     
    892900    toggleFrameFlattening->setChecked(settings->testAttribute(QWebSettings::FrameFlatteningEnabled));
    893901
     902    QAction* toggleInterruptingJavaScripteEnabled = toolsMenu->addAction("Enable interrupting js scripts", this, SLOT(toggleInterruptingJavaScriptEnabled(bool)));
     903    toggleInterruptingJavaScripteEnabled->setCheckable(true);
     904    toggleInterruptingJavaScripteEnabled->setChecked(false);
     905
    894906#if defined(QT_CONFIGURED_WITH_OPENGL)
    895907    QAction* toggleQGLWidgetViewport = graphicsViewMenu->addAction("Toggle use of QGLWidget Viewport", this, SLOT(toggleQGLWidgetViewport(bool)));
     
    11831195    LauncherWindow* window = 0;
    11841196    foreach (QString url, urls) {
     1197        LauncherWindow* newWindow;
    11851198        if (!window)
    1186             window = new LauncherWindow();
     1199            newWindow = window = new LauncherWindow();
    11871200        else
    1188             window->newWindow();
    1189 
    1190         window->load(url);
     1201            newWindow = window->newWindow();
     1202
     1203        newWindow->load(url);
    11911204    }
    11921205
  • trunk/WebKitTools/QtLauncher/webpage.cpp

    r56636 r57974  
    4040WebPage::WebPage(QObject* parent)
    4141    : QWebPage(parent)
     42    , m_userAgent()
     43    , m_interruptingJavaScriptEnabled(false)
    4244{
    4345    applyProxy();
     
    110112    return QWebPage::userAgentForUrl(url);
    111113}
     114
     115bool WebPage::shouldInterruptJavaScript()
     116{
     117    if (!m_interruptingJavaScriptEnabled)
     118        return false;
     119    return QWebPage::shouldInterruptJavaScript();
     120}
  • trunk/WebKitTools/QtLauncher/webpage.h

    r56636 r57974  
    5151
    5252    QString userAgentForUrl(const QUrl& url) const;
     53    void setInterruptingJavaScriptEnabled(bool enabled) { m_interruptingJavaScriptEnabled = enabled; }
    5354
    5455public slots:
    5556    void openUrlInDefaultBrowser(const QUrl& url = QUrl());
    5657    void setUserAgent(const QString& ua) { m_userAgent = ua; }
     58    bool shouldInterruptJavaScript();
    5759
    5860private:
    5961    void applyProxy();
    6062    QString m_userAgent;
     63    bool m_interruptingJavaScriptEnabled;
    6164};
    6265
Note: See TracChangeset for help on using the changeset viewer.