Index: third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.cpp |
diff --git a/third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.cpp b/third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.cpp |
index 0a4dfe2423cdc4052b499f116b523ef610134e52..a8a9f4f40aee41a337800a0d8ec3bc5e0a620444 100644 |
--- a/third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.cpp |
+++ b/third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.cpp |
@@ -106,7 +106,7 @@ DocumentWebSocketChannel::BlobLoader::BlobLoader( |
: m_channel(channel), |
m_loader( |
FileReaderLoader::create(FileReaderLoader::ReadAsArrayBuffer, this)) { |
- m_loader->start(channel->getExecutionContext(), std::move(blobDataHandle)); |
+ m_loader->start(channel->document(), std::move(blobDataHandle)); |
} |
void DocumentWebSocketChannel::BlobLoader::cancel() { |
@@ -131,10 +131,10 @@ DocumentWebSocketChannel::DocumentWebSocketChannel( |
WebSocketChannelClient* client, |
std::unique_ptr<SourceLocation> location, |
WebSocketHandle* handle) |
- : ContextLifecycleObserver(document), |
- m_handle(wrapUnique(handle ? handle : new WebSocketHandleImpl())), |
+ : m_handle(wrapUnique(handle ? handle : new WebSocketHandleImpl())), |
m_client(client), |
m_identifier(createUniqueIdentifier()), |
+ m_document(document), |
m_sendingQuota(0), |
m_receivedDataSizeForFlowControl( |
receivedDataSizeForFlowControlHighWaterMark * 2) // initial quota |
@@ -184,7 +184,7 @@ bool DocumentWebSocketChannel::connect(const KURL& url, |
} else { |
m_handle->initialize(Platform::current()->interfaceProvider()); |
} |
- m_handle->connect(url, protocols, getExecutionContext()->getSecurityOrigin(), |
+ m_handle->connect(url, protocols, document()->getSecurityOrigin(), |
document()->firstPartyForCookies(), document()->userAgent(), |
this); |
@@ -290,7 +290,7 @@ void DocumentWebSocketChannel::fail(const String& reason, |
m_identifier, reason); |
const String message = "WebSocket connection to '" + m_url.elidedString() + |
"' failed: " + reason; |
- getExecutionContext()->addConsoleMessage(ConsoleMessage::create( |
+ document()->addConsoleMessage(ConsoleMessage::create( |
JSMessageSource, level, message, std::move(location))); |
if (m_client) |
@@ -447,10 +447,7 @@ void DocumentWebSocketChannel::handleDidClose(bool wasClean, |
} |
Document* DocumentWebSocketChannel::document() { |
- // This context is always a Document. See the constructor. |
- ExecutionContext* context = getExecutionContext(); |
- DCHECK(context->isDocument()); |
- return toDocument(context); |
+ return m_document; |
} |
void DocumentWebSocketChannel::didConnect(WebSocketHandle* handle, |
@@ -653,8 +650,8 @@ DEFINE_TRACE(DocumentWebSocketChannel) { |
visitor->trace(m_blobLoader); |
visitor->trace(m_messages); |
visitor->trace(m_client); |
+ visitor->trace(m_document); |
WebSocketChannel::trace(visitor); |
- ContextLifecycleObserver::trace(visitor); |
} |
std::ostream& operator<<(std::ostream& ostream, |