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

Side by Side Diff: third_party/WebKit/Source/modules/websockets/DocumentWebSocketChannel.cpp

Issue 2004243002: Migrate websockets from url+lineNumber to SourceLocation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@more-source-location-1
Patch Set: rebased Created 4 years, 6 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 m_channel->didFinishLoadingBlob(m_loader.arrayBufferResult()); 127 m_channel->didFinishLoadingBlob(m_loader.arrayBufferResult());
128 // |this| is deleted here. 128 // |this| is deleted here.
129 } 129 }
130 130
131 void DocumentWebSocketChannel::BlobLoader::didFail(FileError::ErrorCode errorCod e) 131 void DocumentWebSocketChannel::BlobLoader::didFail(FileError::ErrorCode errorCod e)
132 { 132 {
133 m_channel->didFailLoadingBlob(errorCode); 133 m_channel->didFailLoadingBlob(errorCode);
134 // |this| is deleted here. 134 // |this| is deleted here.
135 } 135 }
136 136
137 DocumentWebSocketChannel::DocumentWebSocketChannel(Document* document, WebSocket ChannelClient* client, const String& sourceURL, unsigned lineNumber, WebSocketHa ndle *handle) 137 DocumentWebSocketChannel::DocumentWebSocketChannel(Document* document, WebSocket ChannelClient* client, PassOwnPtr<SourceLocation> location, WebSocketHandle *han dle)
138 : ContextLifecycleObserver(document) 138 : ContextLifecycleObserver(document)
139 , m_handle(adoptPtr(handle ? handle : Platform::current()->createWebSocketHa ndle())) 139 , m_handle(adoptPtr(handle ? handle : Platform::current()->createWebSocketHa ndle()))
140 , m_client(client) 140 , m_client(client)
141 , m_identifier(createUniqueIdentifier()) 141 , m_identifier(createUniqueIdentifier())
142 , m_sendingQuota(0) 142 , m_sendingQuota(0)
143 , m_receivedDataSizeForFlowControl(receivedDataSizeForFlowControlHighWaterMa rk * 2) // initial quota 143 , m_receivedDataSizeForFlowControl(receivedDataSizeForFlowControlHighWaterMa rk * 2) // initial quota
144 , m_sentSizeOfTopMessage(0) 144 , m_sentSizeOfTopMessage(0)
145 , m_sourceURLAtConstruction(sourceURL) 145 , m_locationAtConstruction(std::move(location))
146 , m_lineNumberAtConstruction(lineNumber)
147 { 146 {
148 } 147 }
149 148
150 DocumentWebSocketChannel::~DocumentWebSocketChannel() 149 DocumentWebSocketChannel::~DocumentWebSocketChannel()
151 { 150 {
152 ASSERT(!m_blobLoader); 151 ASSERT(!m_blobLoader);
153 } 152 }
154 153
155 bool DocumentWebSocketChannel::connect(const KURL& url, const String& protocol) 154 bool DocumentWebSocketChannel::connect(const KURL& url, const String& protocol)
156 { 155 {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 248
250 void DocumentWebSocketChannel::close(int code, const String& reason) 249 void DocumentWebSocketChannel::close(int code, const String& reason)
251 { 250 {
252 WTF_LOG(Network, "DocumentWebSocketChannel %p close(%d, %s)", this, code, re ason.utf8().data()); 251 WTF_LOG(Network, "DocumentWebSocketChannel %p close(%d, %s)", this, code, re ason.utf8().data());
253 ASSERT(m_handle); 252 ASSERT(m_handle);
254 unsigned short codeToSend = static_cast<unsigned short>(code == CloseEventCo deNotSpecified ? CloseEventCodeNoStatusRcvd : code); 253 unsigned short codeToSend = static_cast<unsigned short>(code == CloseEventCo deNotSpecified ? CloseEventCodeNoStatusRcvd : code);
255 m_messages.append(new Message(codeToSend, reason)); 254 m_messages.append(new Message(codeToSend, reason));
256 processSendQueue(); 255 processSendQueue();
257 } 256 }
258 257
259 void DocumentWebSocketChannel::fail(const String& reason, MessageLevel level, co nst String& sourceURL, unsigned lineNumber) 258 void DocumentWebSocketChannel::fail(const String& reason, MessageLevel level, Pa ssOwnPtr<SourceLocation> location)
260 { 259 {
261 WTF_LOG(Network, "DocumentWebSocketChannel %p fail(%s)", this, reason.utf8() .data()); 260 WTF_LOG(Network, "DocumentWebSocketChannel %p fail(%s)", this, reason.utf8() .data());
262 // m_handle and m_client can be null here. 261 // m_handle and m_client can be null here.
263 262
264 InspectorInstrumentation::didReceiveWebSocketFrameError(document(), m_identi fier, reason); 263 InspectorInstrumentation::didReceiveWebSocketFrameError(document(), m_identi fier, reason);
265 const String message = "WebSocket connection to '" + m_url.elidedString() + "' failed: " + reason; 264 const String message = "WebSocket connection to '" + m_url.elidedString() + "' failed: " + reason;
266 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMessageSou rce, level, message, sourceURL, lineNumber, 0)); 265 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMessageSou rce, level, message, std::move(location)));
267 266
268 if (m_client) 267 if (m_client)
269 m_client->didError(); 268 m_client->didError();
270 // |reason| is only for logging and should not be provided for scripts, 269 // |reason| is only for logging and should not be provided for scripts,
271 // hence close reason must be empty. 270 // hence close reason must be empty.
272 handleDidClose(false, CloseEventCodeAbnormalClosure, String()); 271 handleDidClose(false, CloseEventCodeAbnormalClosure, String());
273 // handleDidClose may delete this object. 272 // handleDidClose may delete this object.
274 } 273 }
275 274
276 void DocumentWebSocketChannel::disconnect() 275 void DocumentWebSocketChannel::disconnect()
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 DEFINE_TRACE(DocumentWebSocketChannel) 579 DEFINE_TRACE(DocumentWebSocketChannel)
581 { 580 {
582 visitor->trace(m_blobLoader); 581 visitor->trace(m_blobLoader);
583 visitor->trace(m_messages); 582 visitor->trace(m_messages);
584 visitor->trace(m_client); 583 visitor->trace(m_client);
585 WebSocketChannel::trace(visitor); 584 WebSocketChannel::trace(visitor);
586 ContextLifecycleObserver::trace(visitor); 585 ContextLifecycleObserver::trace(visitor);
587 } 586 }
588 587
589 } // namespace blink 588 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698