Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h

Issue 11192017: ********** WebCore blob hacking (Closed) Base URL: http://svn.webkit.org/repository/webkit/trunk/Source/
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 27 matching lines...) Expand all
38 #include "WorkerContext.h" 38 #include "WorkerContext.h"
39 39
40 #include <wtf/PassRefPtr.h> 40 #include <wtf/PassRefPtr.h>
41 #include <wtf/RefCounted.h> 41 #include <wtf/RefCounted.h>
42 #include <wtf/RefPtr.h> 42 #include <wtf/RefPtr.h>
43 #include <wtf/Threading.h> 43 #include <wtf/Threading.h>
44 #include <wtf/text/WTFString.h> 44 #include <wtf/text/WTFString.h>
45 45
46 namespace WebCore { 46 namespace WebCore {
47 47
48 class BlobDataHandle;
48 class KURL; 49 class KURL;
49 class ScriptExecutionContext; 50 class ScriptExecutionContext;
50 class ThreadableWebSocketChannelClientWrapper; 51 class ThreadableWebSocketChannelClientWrapper;
51 class WorkerContext; 52 class WorkerContext;
52 class WorkerLoaderProxy; 53 class WorkerLoaderProxy;
53 class WorkerRunLoop; 54 class WorkerRunLoop;
54 55
55 class WorkerThreadableWebSocketChannel : public RefCounted<WorkerThreadableWebSo cketChannel>, public ThreadableWebSocketChannel { 56 class WorkerThreadableWebSocketChannel : public RefCounted<WorkerThreadableWebSo cketChannel>, public ThreadableWebSocketChannel {
56 WTF_MAKE_FAST_ALLOCATED; 57 WTF_MAKE_FAST_ALLOCATED;
57 public: 58 public:
(...skipping 25 matching lines...) Expand all
83 static Peer* create(PassRefPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper, WorkerLoaderProxy& loaderProxy, ScriptExecutionContext* context, const String& taskMode) 84 static Peer* create(PassRefPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper, WorkerLoaderProxy& loaderProxy, ScriptExecutionContext* context, const String& taskMode)
84 { 85 {
85 return new Peer(clientWrapper, loaderProxy, context, taskMode); 86 return new Peer(clientWrapper, loaderProxy, context, taskMode);
86 } 87 }
87 ~Peer(); 88 ~Peer();
88 89
89 void connect(const KURL&, const String& protocol); 90 void connect(const KURL&, const String& protocol);
90 void send(const String& message); 91 void send(const String& message);
91 void send(const ArrayBuffer&); 92 void send(const ArrayBuffer&);
92 void send(const Blob&); 93 void send(const Blob&);
94 void send(PassRefPtr<BlobDataHandle> blobDataHandle);
93 void bufferedAmount(); 95 void bufferedAmount();
94 void close(int code, const String& reason); 96 void close(int code, const String& reason);
95 void fail(const String& reason); 97 void fail(const String& reason);
96 void disconnect(); 98 void disconnect();
97 void suspend(); 99 void suspend();
98 void resume(); 100 void resume();
99 101
100 // WebSocketChannelClient functions. 102 // WebSocketChannelClient functions.
101 virtual void didConnect() OVERRIDE; 103 virtual void didConnect() OVERRIDE;
102 virtual void didReceiveMessage(const String& message) OVERRIDE; 104 virtual void didReceiveMessage(const String& message) OVERRIDE;
(...skipping 25 matching lines...) Expand all
128 public: 130 public:
129 static PassRefPtr<Bridge> create(PassRefPtr<ThreadableWebSocketChannelCl ientWrapper> workerClientWrapper, PassRefPtr<WorkerContext> workerContext, const String& taskMode) 131 static PassRefPtr<Bridge> create(PassRefPtr<ThreadableWebSocketChannelCl ientWrapper> workerClientWrapper, PassRefPtr<WorkerContext> workerContext, const String& taskMode)
130 { 132 {
131 return adoptRef(new Bridge(workerClientWrapper, workerContext, taskM ode)); 133 return adoptRef(new Bridge(workerClientWrapper, workerContext, taskM ode));
132 } 134 }
133 ~Bridge(); 135 ~Bridge();
134 void initialize(); 136 void initialize();
135 void connect(const KURL&, const String& protocol); 137 void connect(const KURL&, const String& protocol);
136 ThreadableWebSocketChannel::SendResult send(const String& message); 138 ThreadableWebSocketChannel::SendResult send(const String& message);
137 ThreadableWebSocketChannel::SendResult send(const ArrayBuffer&, unsigned byteOffset, unsigned byteLength); 139 ThreadableWebSocketChannel::SendResult send(const ArrayBuffer&, unsigned byteOffset, unsigned byteLength);
138 ThreadableWebSocketChannel::SendResult send(const Blob&); 140 ThreadableWebSocketChannel::SendResult send(PassRefPtr<BlobDataHandle> b lobDataHandle);
139 unsigned long bufferedAmount(); 141 unsigned long bufferedAmount();
140 void close(int code, const String& reason); 142 void close(int code, const String& reason);
141 void fail(const String& reason); 143 void fail(const String& reason);
142 void disconnect(); 144 void disconnect();
143 void suspend(); 145 void suspend();
144 void resume(); 146 void resume();
145 147
146 using RefCounted<Bridge>::ref; 148 using RefCounted<Bridge>::ref;
147 using RefCounted<Bridge>::deref; 149 using RefCounted<Bridge>::deref;
148 150
(...skipping 16 matching lines...) Expand all
165 WorkerLoaderProxy& m_loaderProxy; 167 WorkerLoaderProxy& m_loaderProxy;
166 String m_taskMode; 168 String m_taskMode;
167 Peer* m_peer; 169 Peer* m_peer;
168 }; 170 };
169 171
170 WorkerThreadableWebSocketChannel(WorkerContext*, WebSocketChannelClient*, co nst String& taskMode); 172 WorkerThreadableWebSocketChannel(WorkerContext*, WebSocketChannelClient*, co nst String& taskMode);
171 173
172 static void mainThreadConnect(ScriptExecutionContext*, Peer*, const KURL&, c onst String& protocol); 174 static void mainThreadConnect(ScriptExecutionContext*, Peer*, const KURL&, c onst String& protocol);
173 static void mainThreadSend(ScriptExecutionContext*, Peer*, const String& mes sage); 175 static void mainThreadSend(ScriptExecutionContext*, Peer*, const String& mes sage);
174 static void mainThreadSendArrayBuffer(ScriptExecutionContext*, Peer*, PassOw nPtr<Vector<char> >); 176 static void mainThreadSendArrayBuffer(ScriptExecutionContext*, Peer*, PassOw nPtr<Vector<char> >);
175 static void mainThreadSendBlob(ScriptExecutionContext*, Peer*, const KURL&, const String& type, long long size); 177 static void mainThreadSendBlob(ScriptExecutionContext*, Peer*, PassRefPtr<Bl obDataHandle> blobDataHandle);
176 static void mainThreadBufferedAmount(ScriptExecutionContext*, Peer*); 178 static void mainThreadBufferedAmount(ScriptExecutionContext*, Peer*);
177 static void mainThreadClose(ScriptExecutionContext*, Peer*, int code, const String& reason); 179 static void mainThreadClose(ScriptExecutionContext*, Peer*, int code, const String& reason);
178 static void mainThreadFail(ScriptExecutionContext*, Peer*, const String& rea son); 180 static void mainThreadFail(ScriptExecutionContext*, Peer*, const String& rea son);
179 static void mainThreadDestroy(ScriptExecutionContext*, PassOwnPtr<Peer>); 181 static void mainThreadDestroy(ScriptExecutionContext*, PassOwnPtr<Peer>);
180 static void mainThreadSuspend(ScriptExecutionContext*, Peer*); 182 static void mainThreadSuspend(ScriptExecutionContext*, Peer*);
181 static void mainThreadResume(ScriptExecutionContext*, Peer*); 183 static void mainThreadResume(ScriptExecutionContext*, Peer*);
182 184
183 class WorkerContextDidInitializeTask; 185 class WorkerContextDidInitializeTask;
184 186
185 RefPtr<WorkerContext> m_workerContext; 187 RefPtr<WorkerContext> m_workerContext;
186 RefPtr<ThreadableWebSocketChannelClientWrapper> m_workerClientWrapper; 188 RefPtr<ThreadableWebSocketChannelClientWrapper> m_workerClientWrapper;
187 RefPtr<Bridge> m_bridge; 189 RefPtr<Bridge> m_bridge;
188 }; 190 };
189 191
190 } // namespace WebCore 192 } // namespace WebCore
191 193
192 #endif // ENABLE(WEB_SOCKETS) 194 #endif // ENABLE(WEB_SOCKETS)
193 195
194 #endif // WorkerThreadableWebSocketChannel_h 196 #endif // WorkerThreadableWebSocketChannel_h
OLDNEW
« no previous file with comments | « WebCore/Modules/websockets/WebSocketChannel.cpp ('k') | WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698