Changeset 86669 in webkit
- Timestamp:
- May 17, 2011 4:51:10 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r86315 r86669 1349 1349 1350 1350 websockets/ThreadableWebSocketChannel.cpp 1351 websockets/ThreadableWebSocketChannelClientWrapper.cpp 1351 1352 websockets/WebSocket.cpp 1352 1353 websockets/WebSocketChannel.cpp -
trunk/Source/WebCore/ChangeLog
r86667 r86669 1 2011-05-17 Yuta Kitamura <yutak@chromium.org> 2 3 Reviewed by Kent Tamura. 4 5 WebSocket: Uninline methods in ThreadableWebSocketChannelClientWrapper 6 https://bugs.webkit.org/show_bug.cgi?id=60945 7 8 Add ThreadableWebSocketChannelClientWrapper.cpp. Uninline methods in this class and 9 move these definitions into .cpp in order to allow further modifications in this class. 10 11 No new tests, as this is just refactoring. 12 13 * CMakeLists.txt: 14 * GNUmakefile.list.am: 15 * WebCore.gypi: 16 * WebCore.pro: 17 * WebCore.vcproj/WebCore.vcproj: 18 * WebCore.xcodeproj/project.pbxproj: 19 * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Added. 20 (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper): 21 (WebCore::ThreadableWebSocketChannelClientWrapper::create): 22 (WebCore::ThreadableWebSocketChannelClientWrapper::clearSyncMethodDone): 23 (WebCore::ThreadableWebSocketChannelClientWrapper::setSyncMethodDone): 24 (WebCore::ThreadableWebSocketChannelClientWrapper::syncMethodDone): 25 (WebCore::ThreadableWebSocketChannelClientWrapper::sent): 26 (WebCore::ThreadableWebSocketChannelClientWrapper::setSent): 27 (WebCore::ThreadableWebSocketChannelClientWrapper::bufferedAmount): 28 (WebCore::ThreadableWebSocketChannelClientWrapper::setBufferedAmount): 29 (WebCore::ThreadableWebSocketChannelClientWrapper::clearClient): 30 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect): 31 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage): 32 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): 33 (WebCore::ThreadableWebSocketChannelClientWrapper::suspend): 34 (WebCore::ThreadableWebSocketChannelClientWrapper::resume): 35 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents): 36 * websockets/ThreadableWebSocketChannelClientWrapper.h: 37 1 38 2011-05-17 Andreas Kling <andreas.kling@nokia.com> 2 39 -
trunk/Source/WebCore/GNUmakefile.list.am
r86620 r86669 3557 3557 Source/WebCore/WebCorePrefix.h \ 3558 3558 Source/WebCore/websockets/CloseEvent.h \ 3559 Source/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.cpp \ 3559 3560 Source/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.h \ 3560 3561 Source/WebCore/websockets/ThreadableWebSocketChannel.cpp \ -
trunk/Source/WebCore/WebCore.gypi
r86652 r86669 5973 5973 'websockets/ThreadableWebSocketChannel.cpp', 5974 5974 'websockets/ThreadableWebSocketChannel.h', 5975 'websockets/ThreadableWebSocketChannelClientWrapper.cpp', 5975 5976 'websockets/ThreadableWebSocketChannelClientWrapper.h', 5976 5977 'websockets/WebSocket.cpp', -
trunk/Source/WebCore/WebCore.pro
r86583 r86669 3395 3395 websockets/WebSocketHandshakeResponse.cpp \ 3396 3396 websockets/ThreadableWebSocketChannel.cpp \ 3397 websockets/ThreadableWebSocketChannelClientWrapper.cpp \ 3397 3398 platform/network/SocketStreamErrorBase.cpp \ 3398 3399 platform/network/SocketStreamHandleBase.cpp \ -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r86583 r86669 67187 67187 </File> 67188 67188 <File 67189 RelativePath="..\websockets\ThreadableWebSocketChannelClientWrapper.cpp" 67190 > 67191 </File> 67192 <File 67189 67193 RelativePath="..\websockets\ThreadableWebSocketChannelClientWrapper.h" 67190 67194 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r86607 r86669 1225 1225 510D4A4F103177A20049EA54 /* WebSocketChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A48103177A20049EA54 /* WebSocketChannel.h */; }; 1226 1226 510D4A50103177A20049EA54 /* WebSocketChannelClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A49103177A20049EA54 /* WebSocketChannelClient.h */; }; 1227 510F079B11FEE9C000B8EE49 /* ThreadableWebSocketChannelClientWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510F078111FEBE7500B8EE49 /* ThreadableWebSocketChannelClientWrapper.cpp */; }; 1227 1228 5112247210CFB8C6008099D7 /* ThreadableWebSocketChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5112247110CFB8C6008099D7 /* ThreadableWebSocketChannel.cpp */; }; 1228 1229 5112247410CFB8D8008099D7 /* ThreadableWebSocketChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 5112247310CFB8D8008099D7 /* ThreadableWebSocketChannel.h */; }; … … 7747 7748 510D4A48103177A20049EA54 /* WebSocketChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSocketChannel.h; sourceTree = "<group>"; }; 7748 7749 510D4A49103177A20049EA54 /* WebSocketChannelClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSocketChannelClient.h; sourceTree = "<group>"; }; 7750 510F078111FEBE7500B8EE49 /* ThreadableWebSocketChannelClientWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadableWebSocketChannelClientWrapper.cpp; sourceTree = "<group>"; }; 7749 7751 5112247110CFB8C6008099D7 /* ThreadableWebSocketChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadableWebSocketChannel.cpp; sourceTree = "<group>"; }; 7750 7752 5112247310CFB8D8008099D7 /* ThreadableWebSocketChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadableWebSocketChannel.h; sourceTree = "<group>"; }; … … 13810 13812 5112247310CFB8D8008099D7 /* ThreadableWebSocketChannel.h */, 13811 13813 5112247510CFB8E8008099D7 /* ThreadableWebSocketChannelClientWrapper.h */, 13814 510F078111FEBE7500B8EE49 /* ThreadableWebSocketChannelClientWrapper.cpp */, 13812 13815 518A34BE1026C831001B6896 /* WebSocket.cpp */, 13813 13816 518A34BF1026C831001B6896 /* WebSocket.h */, … … 25343 25346 0B90561E0F257E930095FF6A /* ThreadableLoader.cpp in Sources */, 25344 25347 5112247210CFB8C6008099D7 /* ThreadableWebSocketChannel.cpp in Sources */, 25348 510F079B11FEE9C000B8EE49 /* ThreadableWebSocketChannelClientWrapper.cpp in Sources */, 25345 25349 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */, 25346 25350 E1FF57A60F01256B00891EBB /* ThreadGlobalData.cpp in Sources */, -
trunk/Source/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.h
r81567 r86669 1 1 /* 2 * Copyright (C) 20 09Google Inc. All rights reserved.2 * Copyright (C) 2011 Google Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 35 35 36 36 #include "PlatformString.h" 37 #include "WebSocketChannelClient.h"38 37 #include <wtf/Forward.h> 39 #include <wtf/PassRefPtr.h>40 38 #include <wtf/Threading.h> 41 39 #include <wtf/Vector.h> … … 43 41 namespace WebCore { 44 42 43 class WebSocketChannelClient; 44 45 45 class ThreadableWebSocketChannelClientWrapper : public ThreadSafeRefCounted<ThreadableWebSocketChannelClientWrapper> { 46 46 public: 47 static PassRefPtr<ThreadableWebSocketChannelClientWrapper> create(WebSocketChannelClient* client) 48 { 49 return adoptRef(new ThreadableWebSocketChannelClientWrapper(client)); 50 } 47 static PassRefPtr<ThreadableWebSocketChannelClientWrapper> create(WebSocketChannelClient*); 51 48 52 void clearSyncMethodDone() 53 { 54 m_syncMethodDone = false; 55 } 56 void setSyncMethodDone() 57 { 58 m_syncMethodDone = true; 59 } 49 void clearSyncMethodDone(); 50 void setSyncMethodDone(); 51 bool syncMethodDone() const; 60 52 61 bool syncMethodDone() const 62 { 63 return m_syncMethodDone; 64 } 53 bool sent() const; 54 void setSent(bool); 65 55 66 bool sent() const 67 { 68 return m_sent; 69 } 70 void setSent(bool sent) 71 { 72 m_sent = sent; 73 m_syncMethodDone = true; 74 } 56 unsigned long bufferedAmount() const; 57 void setBufferedAmount(unsigned long); 75 58 76 unsigned long bufferedAmount() const 77 { 78 return m_bufferedAmount; 79 } 80 void setBufferedAmount(unsigned long bufferedAmount) 81 { 82 m_bufferedAmount = bufferedAmount; 83 m_syncMethodDone = true; 84 } 59 void clearClient(); 85 60 86 void clearClient() 87 { 88 m_client = 0; 89 } 61 void didConnect(); 62 void didReceiveMessage(const String& message); 63 void didClose(unsigned long unhandledBufferedAmount); 90 64 91 void didConnect() 92 { 93 m_pendingConnected = true; 94 if (!m_suspended) 95 processPendingEvents(); 96 } 97 98 void didReceiveMessage(const String& msg) 99 { 100 m_pendingMessages.append(msg); 101 if (!m_suspended) 102 processPendingEvents(); 103 } 104 105 void didClose(unsigned long unhandledBufferedAmount) 106 { 107 m_pendingClosed = true; 108 m_bufferedAmount = unhandledBufferedAmount; 109 if (!m_suspended) 110 processPendingEvents(); 111 } 112 113 void suspend() 114 { 115 m_suspended = true; 116 } 117 118 void resume() 119 { 120 m_suspended = false; 121 processPendingEvents(); 122 } 65 void suspend(); 66 void resume(); 123 67 124 68 protected: 125 ThreadableWebSocketChannelClientWrapper(WebSocketChannelClient* client) 126 : m_client(client) 127 , m_syncMethodDone(false) 128 , m_sent(false) 129 , m_bufferedAmount(0) 130 , m_suspended(false) 131 , m_pendingConnected(false) 132 , m_pendingClosed(false) 133 { 134 } 69 ThreadableWebSocketChannelClientWrapper(WebSocketChannelClient*); 135 70 136 void processPendingEvents() 137 { 138 ASSERT(!m_suspended); 139 if (m_pendingConnected) { 140 m_pendingConnected = false; 141 if (m_client) 142 m_client->didConnect(); 143 } 144 145 Vector<String> messages; 146 messages.swap(m_pendingMessages); 147 for (Vector<String>::const_iterator iter = messages.begin(); iter != messages.end(); ++iter) { 148 if (m_client) 149 m_client->didReceiveMessage(*iter); 150 } 151 152 if (m_pendingClosed) { 153 m_pendingClosed = false; 154 if (m_client) 155 m_client->didClose(m_bufferedAmount); 156 } 157 } 71 void processPendingEvents(); 158 72 159 73 WebSocketChannelClient* m_client;
Note: See TracChangeset
for help on using the changeset viewer.