| Index: third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.h
 | 
| diff --git a/third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.h b/third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.h
 | 
| index 56fe51540c04b9c224927973867d0ff59ef5b2fb..5ba65b67b2cece7191965bcecde075ce18c58efa 100644
 | 
| --- a/third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.h
 | 
| +++ b/third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.h
 | 
| @@ -90,9 +90,6 @@
 | 
|      DECLARE_VIRTUAL_TRACE();
 | 
|  
 | 
|  private:
 | 
| -    class BlobLoader;
 | 
| -    class Message;
 | 
| -
 | 
|      enum MessageType {
 | 
|          MessageTypeText,
 | 
|          MessageTypeBlob,
 | 
| @@ -102,10 +99,31 @@
 | 
|          MessageTypeClose,
 | 
|      };
 | 
|  
 | 
| +    struct Message {
 | 
| +        explicit Message(const CString&);
 | 
| +        explicit Message(PassRefPtr<BlobDataHandle>);
 | 
| +        explicit Message(PassRefPtr<DOMArrayBuffer>);
 | 
| +        // For WorkerWebSocketChannel
 | 
| +        explicit Message(PassOwnPtr<Vector<char>>, MessageType);
 | 
| +        // Close message
 | 
| +        Message(unsigned short code, const String& reason);
 | 
| +
 | 
| +        MessageType type;
 | 
| +
 | 
| +        CString text;
 | 
| +        RefPtr<BlobDataHandle> blobDataHandle;
 | 
| +        RefPtr<DOMArrayBuffer> arrayBuffer;
 | 
| +        OwnPtr<Vector<char>> vectorData;
 | 
| +        unsigned short code;
 | 
| +        String reason;
 | 
| +    };
 | 
| +
 | 
|      struct ReceivedMessage {
 | 
|          bool isMessageText;
 | 
|          Vector<char> data;
 | 
|      };
 | 
| +
 | 
| +    class BlobLoader;
 | 
|  
 | 
|      DocumentWebSocketChannel(Document*, WebSocketChannelClient*, const String&, unsigned, WebSocketHandle*);
 | 
|      void sendInternal(WebSocketHandle::MessageType, const char* data, size_t totalSize, uint64_t* consumedBufferedAmount);
 | 
| @@ -127,7 +145,7 @@
 | 
|      void didStartClosingHandshake(WebSocketHandle*) override;
 | 
|  
 | 
|      // Methods for BlobLoader.
 | 
| -    void didFinishLoadingBlob(DOMArrayBuffer*);
 | 
| +    void didFinishLoadingBlob(PassRefPtr<DOMArrayBuffer>);
 | 
|      void didFailLoadingBlob(FileError::ErrorCode);
 | 
|  
 | 
|      // m_handle is a handle of the connection.
 | 
| @@ -141,7 +159,7 @@
 | 
|      // m_identifier > 0 means calling scriptContextExecution() returns a Document.
 | 
|      unsigned long m_identifier;
 | 
|      Member<BlobLoader> m_blobLoader;
 | 
| -    HeapDeque<Member<Message>> m_messages;
 | 
| +    Deque<OwnPtr<Message>> m_messages;
 | 
|      Vector<char> m_receivingMessageData;
 | 
|  
 | 
|      bool m_receivingMessageTypeIsText;
 | 
| 
 |