[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

eric at webkit.org eric at webkit.org
Thu Oct 29 20:38:09 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit 2a5c9a3b09f4bfca8dfdaf9c01b9bbb5ac3e1689
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 2 16:14:49 2009 +0000

    2009-10-02  Jakub Wieczorek  <faw217 at gmail.com>
    
            Reviewed by Simon Hausmann.
    
            [Qt] Implement layoutTestController.overridePreference().
            https://bugs.webkit.org/show_bug.cgi?id=29970
    
            * DumpRenderTree/qt/DumpRenderTree.cpp:
            (WebCore::WebPage::WebPage):
            (WebCore::WebPage::resetSettings):
            (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
            * DumpRenderTree/qt/jsobjects.cpp:
            (LayoutTestController::reset):
            (LayoutTestController::setPrivateBrowsingEnabled):
            (LayoutTestController::setPopupBlockingEnabled):
            (LayoutTestController::overridePreference):
            * DumpRenderTree/qt/jsobjects.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49024 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 8368987..740c15b 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,21 @@
+2009-10-02  Jakub Wieczorek  <faw217 at gmail.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt] Implement layoutTestController.overridePreference().
+        https://bugs.webkit.org/show_bug.cgi?id=29970
+
+        * DumpRenderTree/qt/DumpRenderTree.cpp:
+        (WebCore::WebPage::WebPage):
+        (WebCore::WebPage::resetSettings):
+        (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+        * DumpRenderTree/qt/jsobjects.cpp:
+        (LayoutTestController::reset):
+        (LayoutTestController::setPrivateBrowsingEnabled):
+        (LayoutTestController::setPopupBlockingEnabled):
+        (LayoutTestController::overridePreference):
+        * DumpRenderTree/qt/jsobjects.h:
+
 2009-10-01  Chris Marrin  <cmarrin at apple.com>
 
         Reviewed by Oliver Hunt.
diff --git a/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp b/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp
index f93204e..a6f1f57 100644
--- a/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp
+++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp
@@ -84,6 +84,8 @@ public:
     bool javaScriptConfirm(QWebFrame *frame, const QString& msg);
     bool javaScriptPrompt(QWebFrame *frame, const QString& msg, const QString& defaultValue, QString* result);
 
+    void resetSettings();
+
 public slots:
     bool shouldInterruptJavaScript() { return false; }
 
@@ -104,15 +106,21 @@ private:
 WebPage::WebPage(QWidget *parent, DumpRenderTree *drt)
     : QWebPage(parent), m_drt(drt)
 {
-    settings()->setFontSize(QWebSettings::MinimumFontSize, 5);
-    settings()->setFontSize(QWebSettings::MinimumLogicalFontSize, 5);
-    settings()->setFontSize(QWebSettings::DefaultFontSize, 16);
-    settings()->setFontSize(QWebSettings::DefaultFixedFontSize, 13);
-    settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);
-    settings()->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true);
-    settings()->setAttribute(QWebSettings::LinksIncludedInFocusChain, false);
-    settings()->setAttribute(QWebSettings::PluginsEnabled, true);
-    settings()->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true);
+    QWebSettings* globalSettings = QWebSettings::globalSettings();
+
+    globalSettings->setFontSize(QWebSettings::MinimumFontSize, 5);
+    globalSettings->setFontSize(QWebSettings::MinimumLogicalFontSize, 5);
+    globalSettings->setFontSize(QWebSettings::DefaultFontSize, 16);
+    globalSettings->setFontSize(QWebSettings::DefaultFixedFontSize, 13);
+
+    globalSettings->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);
+    globalSettings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true);
+    globalSettings->setAttribute(QWebSettings::LinksIncludedInFocusChain, false);
+    globalSettings->setAttribute(QWebSettings::PluginsEnabled, true);
+    globalSettings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true);
+    globalSettings->setAttribute(QWebSettings::JavascriptEnabled, true);
+    globalSettings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false);
+    globalSettings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, false);
 
     connect(this, SIGNAL(geometryChangeRequested(const QRect &)),
             this, SLOT(setViewGeometry(const QRect & )));
@@ -120,6 +128,20 @@ WebPage::WebPage(QWidget *parent, DumpRenderTree *drt)
     setPluginFactory(new TestPlugin(this));
 }
 
+void WebPage::resetSettings()
+{
+    // After each layout test, reset the settings that may have been changed by
+    // layoutTestController.overridePreference() or similar.
+
+    settings()->resetFontSize(QWebSettings::DefaultFontSize);
+
+    settings()->resetAttribute(QWebSettings::JavascriptCanOpenWindows);
+    settings()->resetAttribute(QWebSettings::JavascriptEnabled);
+    settings()->resetAttribute(QWebSettings::PrivateBrowsingEnabled);
+    settings()->resetAttribute(QWebSettings::LinksIncludedInFocusChain);
+    settings()->resetAttribute(QWebSettings::OfflineWebApplicationCacheEnabled);
+}
+
 QWebPage *WebPage::createWindow(QWebPage::WebWindowType)
 {
     return m_drt->createWindow();
@@ -252,6 +274,8 @@ void DumpRenderTree::resetToConsistentStateBeforeTesting()
     m_page->blockSignals(false);
 
     m_page->mainFrame()->setZoomFactor(1.0);
+
+    static_cast<WebPage*>(m_page)->resetSettings();
     qt_drt_clearFrameName(m_page->mainFrame());
 
     WorkQueue::shared()->clear();
diff --git a/WebKitTools/DumpRenderTree/qt/jsobjects.cpp b/WebKitTools/DumpRenderTree/qt/jsobjects.cpp
index 01aaba7..fc1c35f 100644
--- a/WebKitTools/DumpRenderTree/qt/jsobjects.cpp
+++ b/WebKitTools/DumpRenderTree/qt/jsobjects.cpp
@@ -134,7 +134,6 @@ void LayoutTestController::reset()
     m_waitForPolicy = false;
     qt_dump_editing_callbacks(false);
     qt_dump_resource_load_callbacks(false);
-    QWebSettings::globalSettings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, false);
 }
 
 void LayoutTestController::processWork()
@@ -288,12 +287,12 @@ void LayoutTestController::setFixedContentsSize(int width, int height)
 
 void LayoutTestController::setPrivateBrowsingEnabled(bool enable)
 {
-    QWebSettings::globalSettings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, enable);
+    m_drt->webPage()->settings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, enable);
 }
 
 void LayoutTestController::setPopupBlockingEnabled(bool enable)
 {
-    QWebSettings::globalSettings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, !enable);
+    m_drt->webPage()->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, !enable);
 }
 
 bool LayoutTestController::pauseAnimationAtTimeOnElementWithId(const QString &animationName,
@@ -355,6 +354,20 @@ void LayoutTestController::waitForPolicyDelegate()
     waitUntilDone();
 }
 
+void LayoutTestController::overridePreference(const QString& name, const QVariant& value)
+{
+    QWebSettings* settings = m_topLoadingFrame->page()->settings();
+
+    if (name == "WebKitJavaScriptEnabled")
+        settings->setAttribute(QWebSettings::JavascriptEnabled, value.toBool());
+    else if (name == "WebKitTabToLinksPreferenceKey")
+        settings->setAttribute(QWebSettings::LinksIncludedInFocusChain, value.toBool());
+    else if (name == "WebKitOfflineWebApplicationCacheEnabled")
+        settings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, value.toBool());
+    else if (name == "WebKitDefaultFontSize")
+        settings->setFontSize(QWebSettings::DefaultFontSize, value.toInt());
+}
+
 EventSender::EventSender(QWebPage *parent)
     : QObject(parent)
 {
diff --git a/WebKitTools/DumpRenderTree/qt/jsobjects.h b/WebKitTools/DumpRenderTree/qt/jsobjects.h
index 6a480af..d01ed75 100644
--- a/WebKitTools/DumpRenderTree/qt/jsobjects.h
+++ b/WebKitTools/DumpRenderTree/qt/jsobjects.h
@@ -109,6 +109,7 @@ public slots:
     void clearAllDatabases();
 
     void waitForPolicyDelegate();
+    void overridePreference(const QString& name, const QVariant& value);
 
 private slots:
     void processWork();

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list