| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "config.h" | 5 #include "config.h" | 
| 6 #include "modules/websockets/DOMWebSocket.h" | 6 #include "modules/websockets/DOMWebSocket.h" | 
| 7 | 7 | 
| 8 #include "bindings/core/v8/ExceptionState.h" | 8 #include "bindings/core/v8/ExceptionState.h" | 
| 9 #include "bindings/core/v8/V8Binding.h" | 9 #include "bindings/core/v8/V8Binding.h" | 
| 10 #include "core/dom/DOMTypedArray.h" | 10 #include "core/dom/DOMTypedArray.h" | 
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 182     subprotocols.append("@subprotocol-|'\"x\x01\x02\x03x"); | 182     subprotocols.append("@subprotocol-|'\"x\x01\x02\x03x"); | 
| 183 | 183 | 
| 184     m_websocket->connect("ws://example.com/", subprotocols, m_exceptionState); | 184     m_websocket->connect("ws://example.com/", subprotocols, m_exceptionState); | 
| 185 | 185 | 
| 186     EXPECT_TRUE(m_exceptionState.hadException()); | 186     EXPECT_TRUE(m_exceptionState.hadException()); | 
| 187     EXPECT_EQ(SyntaxError, m_exceptionState.code()); | 187     EXPECT_EQ(SyntaxError, m_exceptionState.code()); | 
| 188     EXPECT_EQ("The subprotocol '@subprotocol-|'\"x\\u0001\\u0002\\u0003x' is inv
     alid.", m_exceptionState.message()); | 188     EXPECT_EQ("The subprotocol '@subprotocol-|'\"x\\u0001\\u0002\\u0003x' is inv
     alid.", m_exceptionState.message()); | 
| 189     EXPECT_EQ(DOMWebSocket::CLOSED, m_websocket->readyState()); | 189     EXPECT_EQ(DOMWebSocket::CLOSED, m_websocket->readyState()); | 
| 190 } | 190 } | 
| 191 | 191 | 
| 192 TEST_F(DOMWebSocketTest, insecureContentUpgrade) | 192 TEST_F(DOMWebSocketTest, insecureRequestsUpgrade) | 
| 193 { | 193 { | 
| 194     { | 194     { | 
| 195         InSequence s; | 195         InSequence s; | 
| 196         EXPECT_CALL(channel(), connect(KURL(KURL(), "wss://example.com/endpoint"
     ), String())).WillOnce(Return(true)); | 196         EXPECT_CALL(channel(), connect(KURL(KURL(), "wss://example.com/endpoint"
     ), String())).WillOnce(Return(true)); | 
| 197     } | 197     } | 
| 198 | 198 | 
| 199     m_pageHolder->document().setInsecureContentPolicy(SecurityContext::InsecureC
     ontentUpgrade); | 199     m_pageHolder->document().setInsecureRequestsPolicy(SecurityContext::Insecure
     RequestsUpgrade); | 
| 200     m_websocket->connect("ws://example.com/endpoint", Vector<String>(), m_except
     ionState); | 200     m_websocket->connect("ws://example.com/endpoint", Vector<String>(), m_except
     ionState); | 
| 201 | 201 | 
| 202     EXPECT_FALSE(m_exceptionState.hadException()); | 202     EXPECT_FALSE(m_exceptionState.hadException()); | 
| 203     EXPECT_EQ(DOMWebSocket::CONNECTING, m_websocket->readyState()); | 203     EXPECT_EQ(DOMWebSocket::CONNECTING, m_websocket->readyState()); | 
| 204     EXPECT_EQ(KURL(KURL(), "wss://example.com/endpoint"), m_websocket->url()); | 204     EXPECT_EQ(KURL(KURL(), "wss://example.com/endpoint"), m_websocket->url()); | 
| 205 } | 205 } | 
| 206 | 206 | 
| 207 TEST_F(DOMWebSocketTest, insecureContentDoNotUpgrade) | 207 TEST_F(DOMWebSocketTest, insecureRequestsDoNotUpgrade) | 
| 208 { | 208 { | 
| 209     { | 209     { | 
| 210         InSequence s; | 210         InSequence s; | 
| 211         EXPECT_CALL(channel(), connect(KURL(KURL(), "ws://example.com/endpoint")
     , String())).WillOnce(Return(true)); | 211         EXPECT_CALL(channel(), connect(KURL(KURL(), "ws://example.com/endpoint")
     , String())).WillOnce(Return(true)); | 
| 212     } | 212     } | 
| 213 | 213 | 
| 214     m_pageHolder->document().setInsecureContentPolicy(SecurityContext::InsecureC
     ontentDoNotUpgrade); | 214     m_pageHolder->document().setInsecureRequestsPolicy(SecurityContext::Insecure
     RequestsDoNotUpgrade); | 
| 215     m_websocket->connect("ws://example.com/endpoint", Vector<String>(), m_except
     ionState); | 215     m_websocket->connect("ws://example.com/endpoint", Vector<String>(), m_except
     ionState); | 
| 216 | 216 | 
| 217     EXPECT_FALSE(m_exceptionState.hadException()); | 217     EXPECT_FALSE(m_exceptionState.hadException()); | 
| 218     EXPECT_EQ(DOMWebSocket::CONNECTING, m_websocket->readyState()); | 218     EXPECT_EQ(DOMWebSocket::CONNECTING, m_websocket->readyState()); | 
| 219     EXPECT_EQ(KURL(KURL(), "ws://example.com/endpoint"), m_websocket->url()); | 219     EXPECT_EQ(KURL(KURL(), "ws://example.com/endpoint"), m_websocket->url()); | 
| 220 } | 220 } | 
| 221 | 221 | 
| 222 TEST_F(DOMWebSocketTest, channelConnectSuccess) | 222 TEST_F(DOMWebSocketTest, channelConnectSuccess) | 
| 223 { | 223 { | 
| 224     Vector<String> subprotocols; | 224     Vector<String> subprotocols; | 
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 729     EXPECT_EQ(InvalidAccessError, m_exceptionState.code()); | 729     EXPECT_EQ(InvalidAccessError, m_exceptionState.code()); | 
| 730     EXPECT_EQ(String::format("The code must be either 1000, or between 3000 and 
     4999. %d is neither.", GetParam()), m_exceptionState.message()); | 730     EXPECT_EQ(String::format("The code must be either 1000, or between 3000 and 
     4999. %d is neither.", GetParam()), m_exceptionState.message()); | 
| 731     EXPECT_EQ(DOMWebSocket::CONNECTING, m_websocket->readyState()); | 731     EXPECT_EQ(DOMWebSocket::CONNECTING, m_websocket->readyState()); | 
| 732 } | 732 } | 
| 733 | 733 | 
| 734 INSTANTIATE_TEST_CASE_P(DOMWebSocketInvalidClosingCode, DOMWebSocketInvalidClosi
     ngCodeTest, ::testing::Values(0, 1, 998, 999, 1001, 2999, 5000, 9999, 65535)); | 734 INSTANTIATE_TEST_CASE_P(DOMWebSocketInvalidClosingCode, DOMWebSocketInvalidClosi
     ngCodeTest, ::testing::Values(0, 1, 998, 999, 1001, 2999, 5000, 9999, 65535)); | 
| 735 | 735 | 
| 736 } // namespace | 736 } // namespace | 
| 737 | 737 | 
| 738 } // namespace blink | 738 } // namespace blink | 
| OLD | NEW | 
|---|