Changeset 92478 in webkit


Ignore:
Timestamp:
Aug 5, 2011 7:03:41 AM (13 years ago)
Author:
Ademar Reis
Message:

[Qt] QtTestBrowser: Add support for saving cookies on disk
https://bugs.webkit.org/show_bug.cgi?id=65328

Simple cookiejar that saves cookies on disk.

Added menu options to clear cookies (Edit->Clear cookies) and
disable disk cookies (Settings->[ ]Save Cookies on Disk).

Option -no-disk-cookies is also available.

Reviewed by Andreas Kling.

  • QtTestBrowser/QtTestBrowser.pro:
  • QtTestBrowser/cookiejar.cpp: Added.
  • QtTestBrowser/cookiejar.h: Added.
  • QtTestBrowser/launcherwindow.cpp:
  • QtTestBrowser/launcherwindow.h:
  • QtTestBrowser/main.cpp:
Location:
trunk/Tools
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r92442 r92478  
     12011-08-05  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
     2
     3        [Qt] QtTestBrowser: Add support for saving cookies on disk
     4        https://bugs.webkit.org/show_bug.cgi?id=65328
     5
     6        Simple cookiejar that saves cookies on disk.
     7
     8        Added menu options to clear cookies (Edit->Clear cookies) and
     9        disable disk cookies (Settings->[ ]Save Cookies on Disk).
     10
     11        Option -no-disk-cookies is also available.
     12
     13        Reviewed by Andreas Kling.
     14
     15        * QtTestBrowser/QtTestBrowser.pro:
     16        * QtTestBrowser/cookiejar.cpp: Added.
     17        * QtTestBrowser/cookiejar.h: Added.
     18        * QtTestBrowser/launcherwindow.cpp:
     19        * QtTestBrowser/launcherwindow.h:
     20        * QtTestBrowser/main.cpp:
     21
    1222011-08-04  Adam Barth  <abarth@webkit.org>
    223
  • trunk/Tools/QtTestBrowser/QtTestBrowser.pro

    r83626 r92478  
    1111    webview.cpp \
    1212    fpstimer.cpp \
     13    cookiejar.cpp
    1314
    1415HEADERS += \
     
    2223    webview.h \
    2324    fpstimer.h \
     25    cookiejar.h
    2426
    2527!isEqual(QT_ARCH,sh4): CONFIG += uitools
  • trunk/Tools/QtTestBrowser/launcherwindow.cpp

    r91806 r92478  
    3434
    3535#include "launcherwindow.h"
     36#include "cookiejar.h"
    3637#include "urlloader.h"
     38
     39#include <QCoreApplication>
    3740
    3841#if !defined(QT_NO_FILEDIALOG) && !defined(QT_NO_MESSAGEBOX)
     
    5053const int gExitClickArea = 80;
    5154QVector<int> LauncherWindow::m_zoomLevels;
     55
     56static TestBrowserCookieJar* testBrowserCookieJarInstance()
     57{
     58    static TestBrowserCookieJar* cookieJar = new TestBrowserCookieJar(qApp);
     59    return cookieJar;
     60}
    5261
    5362LauncherWindow::LauncherWindow(WindowOptions* data, QGraphicsScene* sharedScene)
     
    122131    setPage(new WebPage(this));
    123132    setDiskCache(m_windowOptions.useDiskCache);
     133    setUseDiskCookies(m_windowOptions.useDiskCookies);
     134
     135    // We reuse the same cookieJar on multiple QNAMs, which is OK.
     136    QObject* cookieJarParent = testBrowserCookieJarInstance()->parent();
     137    page()->networkAccessManager()->setCookieJar(testBrowserCookieJarInstance());
     138    testBrowserCookieJarInstance()->setParent(cookieJarParent);
    124139
    125140    QSplitter* splitter = static_cast<QSplitter*>(centralWidget());
     
    226241    QAction* setEditable = editMenu->addAction("Set Editable", this, SLOT(setEditable(bool)));
    227242    setEditable->setCheckable(true);
     243
     244    editMenu->addAction("Clear Cookies", this, SLOT(clearCookies()));
    228245
    229246    QMenu* viewMenu = menuBar()->addMenu("&View");
     
    440457    toggleJavascriptCanOpenWindows->setCheckable(true);
    441458    toggleJavascriptCanOpenWindows->setChecked(false);
     459
     460    QAction* toggleUseDiskCookies = settingsMenu->addAction("Save Cookies on Disk", this, SLOT(setUseDiskCookies(bool)));
     461    toggleUseDiskCookies->setCheckable(true);
     462    toggleUseDiskCookies->setChecked(m_windowOptions.useDiskCookies);
     463
    442464#ifndef QT_NO_LINEEDIT
    443465    m_findBar = new QToolBar("Find", this);
     
    886908}
    887909
     910void LauncherWindow::setUseDiskCookies(bool enable)
     911{
     912    testBrowserCookieJarInstance()->setDiskStorageEnabled(enable);
     913}
     914
     915void LauncherWindow::clearCookies()
     916{
     917    testBrowserCookieJarInstance()->reset();
     918}
     919
    888920void LauncherWindow::toggleAutoLoadImages(bool enable)
    889921{
  • trunk/Tools/QtTestBrowser/launcherwindow.h

    r91806 r92478  
    9898        , useOfflineStorageDatabase(false)
    9999        , useOfflineWebApplicationCache(false)
     100        , useDiskCookies(true)
    100101        , offlineStorageDefaultQuotaSize(0)
    101102#if defined(QT_CONFIGURED_WITH_OPENGL)
     
    127128    bool useOfflineStorageDatabase;
    128129    bool useOfflineWebApplicationCache;
     130    bool useDiskCookies;
    129131    quint64 offlineStorageDefaultQuotaSize;
    130132#if defined(QT_CONFIGURED_WITH_OPENGL)
     
    189191    void toggleJavascriptCanOpenWindows(bool enable);
    190192    void toggleAutoLoadImages(bool enable);
     193    void setUseDiskCookies(bool enable);
     194    void clearCookies();
    191195    void togglePlugins(bool enable);
    192196    void toggleLocalStorage(bool toggle);
  • trunk/Tools/QtTestBrowser/main.cpp

    r91806 r92478  
    196196             << "[-resizes-to-contents]"
    197197             << "[-local-storage-enabled]"
     198             << "[-no-disk-cookies]"
    198199             << "[-offline-storage-database-enabled]"
    199200             << "[-offline-web-application-cache-enabled]"
     
    246247    if (args.contains("-local-storage-enabled"))
    247248        windowOptions.useLocalStorage = true;
    248        
     249
     250    if (args.contains("-no-disk-cookies"))
     251        windowOptions.useDiskCookies = false;
     252
    249253    if (args.contains("-maximize"))
    250254        windowOptions.startMaximized = true;
Note: See TracChangeset for help on using the changeset viewer.