From a6b3e005184b43aa1d11869b38c6091163ba9ef8 Mon Sep 17 00:00:00 2001 From: "toyoshim@chromium.org" Date: Wed, 15 Feb 2012 06:56:24 +0000 Subject: [PATCH] Provide SocketStreamHandleInternal::toWebSocketStreamHandle(SocketStreamHandle*). https://bugs.webkit.org/show_bug.cgi?id=78581 Reviewed by Kent Tamura. Now, there is no way to convert SocketStreamHandle to WebSocketStreamHandle. In subsequent changes, I'll use this function in FrameLoaderClientImpl. * src/SocketStreamHandle.cpp: Remove SocketStreamHandleInternal class declaration. * src/SocketStreamHandleInternal.h: Move SocketStreamHandleInternal class declaration from SocketStreamHandle.cpp to expose, and add conversion function to WebSocketStreamHandle from SocketStreamHandle. (WebKit): (WebCore): (SocketStreamHandleInternal): (WebCore::SocketStreamHandleInternal::create): (WebCore::SocketStreamHandleInternal::toWebSocketStreamHandle): * WebKit.gyp: Add SocketStreamHandleInternal.h entry. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107782 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebKit/chromium/ChangeLog | 20 +++++ Source/WebKit/chromium/WebKit.gyp | 1 + Source/WebKit/chromium/src/SocketStreamHandle.cpp | 32 +------- .../chromium/src/SocketStreamHandleInternal.h | 89 ++++++++++++++++++++++ 4 files changed, 112 insertions(+), 30 deletions(-) create mode 100644 Source/WebKit/chromium/src/SocketStreamHandleInternal.h diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog index b77a6c1..a2db929 100644 --- a/Source/WebKit/chromium/ChangeLog +++ b/Source/WebKit/chromium/ChangeLog @@ -1,3 +1,23 @@ +2012-02-14 Takashi Toyoshima + + Provide SocketStreamHandleInternal::toWebSocketStreamHandle(SocketStreamHandle*). + https://bugs.webkit.org/show_bug.cgi?id=78581 + + Reviewed by Kent Tamura. + + Now, there is no way to convert SocketStreamHandle to + WebSocketStreamHandle. In subsequent changes, I'll use this function + in FrameLoaderClientImpl. + + * src/SocketStreamHandle.cpp: Remove SocketStreamHandleInternal class declaration. + * src/SocketStreamHandleInternal.h: Move SocketStreamHandleInternal class declaration from SocketStreamHandle.cpp to expose, and add conversion function to WebSocketStreamHandle from SocketStreamHandle. + (WebKit): + (WebCore): + (SocketStreamHandleInternal): + (WebCore::SocketStreamHandleInternal::create): + (WebCore::SocketStreamHandleInternal::toWebSocketStreamHandle): + * WebKit.gyp: Add SocketStreamHandleInternal.h entry. + 2012-02-14 Sheriff Bot Unreviewed, rolling out r107766. diff --git a/Source/WebKit/chromium/WebKit.gyp b/Source/WebKit/chromium/WebKit.gyp index f25c87d..a41c6d0 100644 --- a/Source/WebKit/chromium/WebKit.gyp +++ b/Source/WebKit/chromium/WebKit.gyp @@ -463,6 +463,7 @@ 'src/ScrollbarGroup.h', 'src/SharedWorkerRepository.cpp', 'src/SocketStreamHandle.cpp', + 'src/SocketStreamHandleInternal.h', 'src/SpeechInputClientImpl.cpp', 'src/SpeechInputClientImpl.h', 'src/StorageAreaProxy.cpp', diff --git a/Source/WebKit/chromium/src/SocketStreamHandle.cpp b/Source/WebKit/chromium/src/SocketStreamHandle.cpp index cf8aa02..298e733 100644 --- a/Source/WebKit/chromium/src/SocketStreamHandle.cpp +++ b/Source/WebKit/chromium/src/SocketStreamHandle.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Google Inc. All rights reserved. + * Copyright (C) 2009, 2012 Google Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -30,6 +30,7 @@ #include "config.h" #include "SocketStreamHandle.h" +#include "SocketStreamHandleInternal.h" #if ENABLE(WEB_SOCKETS) @@ -40,41 +41,12 @@ #include "WebKit.h" #include "platform/WebKitPlatformSupport.h" #include "platform/WebSocketStreamHandle.h" -#include "platform/WebSocketStreamHandleClient.h" -#include "platform/WebURL.h" #include using namespace WebKit; namespace WebCore { -class SocketStreamHandleInternal : public WebSocketStreamHandleClient { -public: - static PassOwnPtr create(SocketStreamHandle* handle) - { - return adoptPtr(new SocketStreamHandleInternal(handle)); - } - virtual ~SocketStreamHandleInternal(); - - void connect(const KURL&); - int send(const char*, int); - void close(); - - virtual void didOpenStream(WebSocketStreamHandle*, int); - virtual void didSendData(WebSocketStreamHandle*, int); - virtual void didReceiveData(WebSocketStreamHandle*, const WebData&); - virtual void didClose(WebSocketStreamHandle*); - virtual void didFail(WebSocketStreamHandle*, const WebSocketStreamError&); - -private: - explicit SocketStreamHandleInternal(SocketStreamHandle*); - - SocketStreamHandle* m_handle; - OwnPtr m_socket; - int m_maxPendingSendAllowed; - int m_pendingAmountSent; -}; - SocketStreamHandleInternal::SocketStreamHandleInternal(SocketStreamHandle* handle) : m_handle(handle) , m_maxPendingSendAllowed(0) diff --git a/Source/WebKit/chromium/src/SocketStreamHandleInternal.h b/Source/WebKit/chromium/src/SocketStreamHandleInternal.h new file mode 100644 index 0000000..857b279 --- /dev/null +++ b/Source/WebKit/chromium/src/SocketStreamHandleInternal.h @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2012 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef SocketStreamHandleInternal_h +#define SocketStreamHandleInternal_h + +#if ENABLE(WEB_SOCKETS) + +#include "SocketStreamHandle.h" +#include "platform/WebSocketStreamHandleClient.h" +#include "platform/WebURL.h" +#include + +namespace WebKit { + +class WebData; +class WebSocketStreamError; +class WebSocketStreamHandle; + +} + +namespace WebCore { + +class SocketStreamHandleInternal : public WebKit::WebSocketStreamHandleClient { +public: + static PassOwnPtr create(SocketStreamHandle* handle) + { + return adoptPtr(new SocketStreamHandleInternal(handle)); + } + virtual ~SocketStreamHandleInternal(); + + void connect(const KURL&); + int send(const char*, int); + void close(); + + virtual void didOpenStream(WebKit::WebSocketStreamHandle*, int); + virtual void didSendData(WebKit::WebSocketStreamHandle*, int); + virtual void didReceiveData(WebKit::WebSocketStreamHandle*, const WebKit::WebData&); + virtual void didClose(WebKit::WebSocketStreamHandle*); + virtual void didFail(WebKit::WebSocketStreamHandle*, const WebKit::WebSocketStreamError&); + + static WebKit::WebSocketStreamHandle* toWebSocketStreamHandle(SocketStreamHandle* handle) + { + if (handle && handle->m_internal) + return handle->m_internal->m_socket.get(); + return 0; + } + +private: + explicit SocketStreamHandleInternal(SocketStreamHandle*); + + SocketStreamHandle* m_handle; + OwnPtr m_socket; + int m_maxPendingSendAllowed; + int m_pendingAmountSent; +}; + +} // namespace WebCore + +#endif // ENABLE(WEB_SOCKETS) + +#endif // SocketStreamHandleInternal_h -- 2.7.4