Title: [100763] trunk
Revision
100763
Author
[email protected]
Date
2011-11-18 06:00:33 -0800 (Fri, 18 Nov 2011)

Log Message

[Qt] Enable WebSocket hybi tests
https://bugs.webkit.org/show_bug.cgi?id=72687

Reviewed by Simon Hausmann.

Source/WebKit/qt:

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::defaultHixie76WebSocketProtocolEnabled):
(DumpRenderTreeSupportQt::setHixie76WebSocketProtocolEnabled):
Call WebCore::Settings::setUseHixie76WebSocketProtocol() to switch WebSocket protocols.
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools:

Let LayoutTestControllerQt be able to switch WebSocket protocols via overridePreference().

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::overridePreference):

LayoutTests:

* platform/qt/Skipped:
Unskip WebSocket hybi tests. Skip some of them which are known to fail probably due to
a bug in SocketStreamHandleQt implementation.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (100762 => 100763)


--- trunk/LayoutTests/ChangeLog	2011-11-18 13:56:59 UTC (rev 100762)
+++ trunk/LayoutTests/ChangeLog	2011-11-18 14:00:33 UTC (rev 100763)
@@ -1,3 +1,14 @@
+2011-11-18  Yuta Kitamura  <[email protected]>
+
+        [Qt] Enable WebSocket hybi tests
+        https://bugs.webkit.org/show_bug.cgi?id=72687
+
+        Reviewed by Simon Hausmann.
+
+        * platform/qt/Skipped:
+        Unskip WebSocket hybi tests. Skip some of them which are known to fail probably due to
+        a bug in SocketStreamHandleQt implementation.
+
 2011-11-18  Steve Block  <[email protected]>
 
         Rebaseline fast/repaint for Chromium Mac 10.5 CG after http://crrev.com/110543

Modified: trunk/LayoutTests/platform/qt/Skipped (100762 => 100763)


--- trunk/LayoutTests/platform/qt/Skipped	2011-11-18 13:56:59 UTC (rev 100762)
+++ trunk/LayoutTests/platform/qt/Skipped	2011-11-18 14:00:33 UTC (rev 100763)
@@ -1602,8 +1602,11 @@
 # failing websocket tests
 # ============================================================================= #
 
-# Skipped until new WebSocket protocol is implemented. http://webkit.org/b/50099
-http/tests/websocket/tests/hybi/
+# SocketStreamHandleQt seems to have some bug in platformClose() behavior.
+http/tests/websocket/tests/hybi/close-before-open.html
+http/tests/websocket/tests/hybi/close-code-and-reason.html
+http/tests/websocket/tests/hybi/close.html
+http/tests/websocket/tests/hybi/workers/close.html
 
 # ============================================================================= #
 # new tests without expected results

Modified: trunk/Source/WebKit/qt/ChangeLog (100762 => 100763)


--- trunk/Source/WebKit/qt/ChangeLog	2011-11-18 13:56:59 UTC (rev 100762)
+++ trunk/Source/WebKit/qt/ChangeLog	2011-11-18 14:00:33 UTC (rev 100763)
@@ -1,3 +1,16 @@
+2011-11-18  Yuta Kitamura  <[email protected]>
+
+        [Qt] Enable WebSocket hybi tests
+        https://bugs.webkit.org/show_bug.cgi?id=72687
+
+        Reviewed by Simon Hausmann.
+
+        * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+        (DumpRenderTreeSupportQt::defaultHixie76WebSocketProtocolEnabled):
+        (DumpRenderTreeSupportQt::setHixie76WebSocketProtocolEnabled):
+        Call WebCore::Settings::setUseHixie76WebSocketProtocol() to switch WebSocket protocols.
+        * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
 2011-11-17  Simon Hausmann  <[email protected]>
 
         [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places

Modified: trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp (100762 => 100763)


--- trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp	2011-11-18 13:56:59 UTC (rev 100762)
+++ trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp	2011-11-18 14:00:33 UTC (rev 100763)
@@ -1238,6 +1238,22 @@
 #endif
 }
 
+bool DumpRenderTreeSupportQt::defaultHixie76WebSocketProtocolEnabled()
+{
+    return true;
+}
+
+void DumpRenderTreeSupportQt::setHixie76WebSocketProtocolEnabled(QWebPage* page, bool enabled)
+{
+#if ENABLE(WEB_SOCKETS)
+    if (Page* corePage = QWebPagePrivate::core(page))
+        corePage->settings()->setUseHixie76WebSocketProtocol(enabled);
+#else
+    UNUSED_PARAM(page);
+    UNUSED_PARAM(enabled);
+#endif
+}
+
 // Provide a backward compatibility with previously exported private symbols as of QtWebKit 4.6 release
 
 void QWEBKIT_EXPORT qt_resumeActiveDOMObjects(QWebFrame* frame)

Modified: trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h (100762 => 100763)


--- trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h	2011-11-18 13:56:59 UTC (rev 100762)
+++ trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h	2011-11-18 14:00:33 UTC (rev 100763)
@@ -235,6 +235,9 @@
 #if QT_VERSION >= QT_VERSION_CHECK(4, 8, 0)
     static bool thirdPartyCookiePolicyAllows(QWebPage*, const QUrl&, const QUrl& firstPartyUrl);
 #endif
+
+    static bool defaultHixie76WebSocketProtocolEnabled();
+    static void setHixie76WebSocketProtocolEnabled(QWebPage*, bool);
 };
 
 #endif

Modified: trunk/Tools/ChangeLog (100762 => 100763)


--- trunk/Tools/ChangeLog	2011-11-18 13:56:59 UTC (rev 100762)
+++ trunk/Tools/ChangeLog	2011-11-18 14:00:33 UTC (rev 100763)
@@ -1,3 +1,17 @@
+2011-11-18  Yuta Kitamura  <[email protected]>
+
+        [Qt] Enable WebSocket hybi tests
+        https://bugs.webkit.org/show_bug.cgi?id=72687
+
+        Reviewed by Simon Hausmann.
+
+        Let LayoutTestControllerQt be able to switch WebSocket protocols via overridePreference().
+
+        * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+        (WebCore::WebPage::resetSettings):
+        * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+        (LayoutTestController::overridePreference):
+
 2011-11-18  Sergio Villar Senin  <[email protected]>
 
         [GTK][WK2] Invalid TestNetscapePlugin path when using new-run-webkit-tests

Modified: trunk/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp (100762 => 100763)


--- trunk/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp	2011-11-18 13:56:59 UTC (rev 100762)
+++ trunk/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp	2011-11-18 14:00:33 UTC (rev 100763)
@@ -210,6 +210,7 @@
     settings()->setUserStyleSheetUrl(QUrl()); // reset to default
 
     DumpRenderTreeSupportQt::setMinimumTimerInterval(this, DumpRenderTreeSupportQt::defaultMinimumTimerInterval());
+    DumpRenderTreeSupportQt::setHixie76WebSocketProtocolEnabled(this, DumpRenderTreeSupportQt::defaultHixie76WebSocketProtocolEnabled());
 
     DumpRenderTreeSupportQt::resetInternalsObject(mainFrame());
 

Modified: trunk/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp (100762 => 100763)


--- trunk/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp	2011-11-18 13:56:59 UTC (rev 100762)
+++ trunk/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp	2011-11-18 14:00:33 UTC (rev 100763)
@@ -691,6 +691,8 @@
         settings->setAttribute(QWebSettings::WebGLEnabled, value.toBool());
     else if (name == "WebKitHyperlinkAuditingEnabled")
         settings->setAttribute(QWebSettings::HyperlinkAuditingEnabled, value.toBool());
+    else if (name == "WebKitHixie76WebSocketProtocolEnabled")
+        DumpRenderTreeSupportQt::setHixie76WebSocketProtocolEnabled(m_topLoadingFrame->page(), value.toBool());
     else
         printf("ERROR: LayoutTestController::overridePreference() does not support the '%s' preference\n",
             name.toLatin1().data());
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to