Changeset 86669 in webkit


Ignore:
Timestamp:
May 17, 2011 4:51:10 AM (13 years ago)
Author:
yutak@chromium.org
Message:

2011-05-17 Yuta Kitamura <yutak@chromium.org>

Reviewed by Kent Tamura.

WebSocket: Uninline methods in ThreadableWebSocketChannelClientWrapper
https://bugs.webkit.org/show_bug.cgi?id=60945

Add ThreadableWebSocketChannelClientWrapper.cpp. Uninline methods in this class and
move these definitions into .cpp in order to allow further modifications in this class.

No new tests, as this is just refactoring.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • websockets/ThreadableWebSocketChannelClientWrapper.cpp: Added. (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper): (WebCore::ThreadableWebSocketChannelClientWrapper::create): (WebCore::ThreadableWebSocketChannelClientWrapper::clearSyncMethodDone): (WebCore::ThreadableWebSocketChannelClientWrapper::setSyncMethodDone): (WebCore::ThreadableWebSocketChannelClientWrapper::syncMethodDone): (WebCore::ThreadableWebSocketChannelClientWrapper::sent): (WebCore::ThreadableWebSocketChannelClientWrapper::setSent): (WebCore::ThreadableWebSocketChannelClientWrapper::bufferedAmount): (WebCore::ThreadableWebSocketChannelClientWrapper::setBufferedAmount): (WebCore::ThreadableWebSocketChannelClientWrapper::clearClient): (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect): (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage): (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): (WebCore::ThreadableWebSocketChannelClientWrapper::suspend): (WebCore::ThreadableWebSocketChannelClientWrapper::resume): (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
  • websockets/ThreadableWebSocketChannelClientWrapper.h:
Location:
trunk/Source/WebCore
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r86315 r86669  
    13491349
    13501350    websockets/ThreadableWebSocketChannel.cpp
     1351    websockets/ThreadableWebSocketChannelClientWrapper.cpp
    13511352    websockets/WebSocket.cpp
    13521353    websockets/WebSocketChannel.cpp
  • trunk/Source/WebCore/ChangeLog

    r86667 r86669  
     12011-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
    1382011-05-17  Andreas Kling  <andreas.kling@nokia.com>
    239
  • trunk/Source/WebCore/GNUmakefile.list.am

    r86620 r86669  
    35573557        Source/WebCore/WebCorePrefix.h \
    35583558        Source/WebCore/websockets/CloseEvent.h \
     3559        Source/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.cpp \
    35593560        Source/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.h \
    35603561        Source/WebCore/websockets/ThreadableWebSocketChannel.cpp \
  • trunk/Source/WebCore/WebCore.gypi

    r86652 r86669  
    59735973            'websockets/ThreadableWebSocketChannel.cpp',
    59745974            'websockets/ThreadableWebSocketChannel.h',
     5975            'websockets/ThreadableWebSocketChannelClientWrapper.cpp',
    59755976            'websockets/ThreadableWebSocketChannelClientWrapper.h',
    59765977            'websockets/WebSocket.cpp',
  • trunk/Source/WebCore/WebCore.pro

    r86583 r86669  
    33953395        websockets/WebSocketHandshakeResponse.cpp \
    33963396        websockets/ThreadableWebSocketChannel.cpp \
     3397        websockets/ThreadableWebSocketChannelClientWrapper.cpp \
    33973398        platform/network/SocketStreamErrorBase.cpp \
    33983399        platform/network/SocketStreamHandleBase.cpp \
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r86583 r86669  
    6718767187                        </File>
    6718867188                        <File
     67189                                RelativePath="..\websockets\ThreadableWebSocketChannelClientWrapper.cpp"
     67190                                >
     67191                        </File>
     67192                        <File
    6718967193                                RelativePath="..\websockets\ThreadableWebSocketChannelClientWrapper.h"
    6719067194                                >
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r86607 r86669  
    12251225                510D4A4F103177A20049EA54 /* WebSocketChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A48103177A20049EA54 /* WebSocketChannel.h */; };
    12261226                510D4A50103177A20049EA54 /* WebSocketChannelClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A49103177A20049EA54 /* WebSocketChannelClient.h */; };
     1227                510F079B11FEE9C000B8EE49 /* ThreadableWebSocketChannelClientWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510F078111FEBE7500B8EE49 /* ThreadableWebSocketChannelClientWrapper.cpp */; };
    12271228                5112247210CFB8C6008099D7 /* ThreadableWebSocketChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5112247110CFB8C6008099D7 /* ThreadableWebSocketChannel.cpp */; };
    12281229                5112247410CFB8D8008099D7 /* ThreadableWebSocketChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 5112247310CFB8D8008099D7 /* ThreadableWebSocketChannel.h */; };
     
    77477748                510D4A48103177A20049EA54 /* WebSocketChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSocketChannel.h; sourceTree = "<group>"; };
    77487749                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>"; };
    77497751                5112247110CFB8C6008099D7 /* ThreadableWebSocketChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadableWebSocketChannel.cpp; sourceTree = "<group>"; };
    77507752                5112247310CFB8D8008099D7 /* ThreadableWebSocketChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadableWebSocketChannel.h; sourceTree = "<group>"; };
     
    1381013812                                5112247310CFB8D8008099D7 /* ThreadableWebSocketChannel.h */,
    1381113813                                5112247510CFB8E8008099D7 /* ThreadableWebSocketChannelClientWrapper.h */,
     13814                                510F078111FEBE7500B8EE49 /* ThreadableWebSocketChannelClientWrapper.cpp */,
    1381213815                                518A34BE1026C831001B6896 /* WebSocket.cpp */,
    1381313816                                518A34BF1026C831001B6896 /* WebSocket.h */,
     
    2534325346                                0B90561E0F257E930095FF6A /* ThreadableLoader.cpp in Sources */,
    2534425347                                5112247210CFB8C6008099D7 /* ThreadableWebSocketChannel.cpp in Sources */,
     25348                                510F079B11FEE9C000B8EE49 /* ThreadableWebSocketChannelClientWrapper.cpp in Sources */,
    2534525349                                51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */,
    2534625350                                E1FF57A60F01256B00891EBB /* ThreadGlobalData.cpp in Sources */,
  • trunk/Source/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.h

    r81567 r86669  
    11/*
    2  * Copyright (C) 2009 Google Inc.  All rights reserved.
     2 * Copyright (C) 2011 Google Inc.  All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    3535
    3636#include "PlatformString.h"
    37 #include "WebSocketChannelClient.h"
    3837#include <wtf/Forward.h>
    39 #include <wtf/PassRefPtr.h>
    4038#include <wtf/Threading.h>
    4139#include <wtf/Vector.h>
     
    4341namespace WebCore {
    4442
     43class WebSocketChannelClient;
     44
    4545class ThreadableWebSocketChannelClientWrapper : public ThreadSafeRefCounted<ThreadableWebSocketChannelClientWrapper> {
    4646public:
    47     static PassRefPtr<ThreadableWebSocketChannelClientWrapper> create(WebSocketChannelClient* client)
    48     {
    49         return adoptRef(new ThreadableWebSocketChannelClientWrapper(client));
    50     }
     47    static PassRefPtr<ThreadableWebSocketChannelClientWrapper> create(WebSocketChannelClient*);
    5148
    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;
    6052
    61     bool syncMethodDone() const
    62     {
    63         return m_syncMethodDone;
    64     }
     53    bool sent() const;
     54    void setSent(bool);
    6555
    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);
    7558
    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();
    8560
    86     void clearClient()
    87     {
    88         m_client = 0;
    89     }
     61    void didConnect();
     62    void didReceiveMessage(const String& message);
     63    void didClose(unsigned long unhandledBufferedAmount);
    9064
    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();
    12367
    12468protected:
    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*);
    13570
    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();
    15872
    15973    WebSocketChannelClient* m_client;
Note: See TracChangeset for help on using the changeset viewer.