| OLD | NEW |
| 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 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 // it. | 175 // it. |
| 176 protocol.split(", ", true, protocols); | 176 protocol.split(", ", true, protocols); |
| 177 } | 177 } |
| 178 WebVector<WebString> webProtocols(protocols.size()); | 178 WebVector<WebString> webProtocols(protocols.size()); |
| 179 for (size_t i = 0; i < protocols.size(); ++i) { | 179 for (size_t i = 0; i < protocols.size(); ++i) { |
| 180 webProtocols[i] = protocols[i]; | 180 webProtocols[i] = protocols[i]; |
| 181 } | 181 } |
| 182 | 182 |
| 183 if (document()->frame()) | 183 if (document()->frame()) |
| 184 document()->frame()->loader().client()->dispatchWillOpenWebSocket(m_hand
le.get()); | 184 document()->frame()->loader().client()->dispatchWillOpenWebSocket(m_hand
le.get()); |
| 185 m_handle->connect(url, webProtocols, WebSecurityOrigin(getExecutionContext()
->getSecurityOrigin()), this); | 185 |
| 186 m_handle->connect(url, webProtocols, WebSecurityOrigin(getExecutionContext()
->getSecurityOrigin()), additionalHeaders(), this); |
| 186 | 187 |
| 187 flowControlIfNecessary(); | 188 flowControlIfNecessary(); |
| 188 TRACE_EVENT_INSTANT1("devtools.timeline", "WebSocketCreate", TRACE_EVENT_SCO
PE_THREAD, "data", InspectorWebSocketCreateEvent::data(document(), m_identifier,
url, protocol)); | 189 TRACE_EVENT_INSTANT1("devtools.timeline", "WebSocketCreate", TRACE_EVENT_SCO
PE_THREAD, "data", InspectorWebSocketCreateEvent::data(document(), m_identifier,
url, protocol)); |
| 189 InspectorInstrumentation::didCreateWebSocket(document(), m_identifier, url,
protocol); | 190 InspectorInstrumentation::didCreateWebSocket(document(), m_identifier, url,
protocol); |
| 190 return true; | 191 return true; |
| 191 } | 192 } |
| 192 | 193 |
| 193 void DocumentWebSocketChannel::send(const CString& message) | 194 void DocumentWebSocketChannel::send(const CString& message) |
| 194 { | 195 { |
| 195 WTF_LOG(Network, "DocumentWebSocketChannel %p sendText(%s)", this, message.d
ata()); | 196 WTF_LOG(Network, "DocumentWebSocketChannel %p sendText(%s)", this, message.d
ata()); |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 569 m_blobLoader.clear(); | 570 m_blobLoader.clear(); |
| 570 if (errorCode == FileError::ABORT_ERR) { | 571 if (errorCode == FileError::ABORT_ERR) { |
| 571 // The error is caused by cancel(). | 572 // The error is caused by cancel(). |
| 572 return; | 573 return; |
| 573 } | 574 } |
| 574 // FIXME: Generate human-friendly reason message. | 575 // FIXME: Generate human-friendly reason message. |
| 575 failAsError("Failed to load Blob: error code = " + String::number(errorCode)
); | 576 failAsError("Failed to load Blob: error code = " + String::number(errorCode)
); |
| 576 // |this| can be deleted here. | 577 // |this| can be deleted here. |
| 577 } | 578 } |
| 578 | 579 |
| 580 String DocumentWebSocketChannel::additionalHeaders() |
| 581 { |
| 582 StringBuilder headers; |
| 583 headers.append(HTTPNames::User_Agent); |
| 584 headers.append(':'); |
| 585 headers.append(document()->userAgent()); |
| 586 return headers.toString(); |
| 587 } |
| 588 |
| 579 DEFINE_TRACE(DocumentWebSocketChannel) | 589 DEFINE_TRACE(DocumentWebSocketChannel) |
| 580 { | 590 { |
| 581 visitor->trace(m_blobLoader); | 591 visitor->trace(m_blobLoader); |
| 582 visitor->trace(m_messages); | 592 visitor->trace(m_messages); |
| 583 visitor->trace(m_client); | 593 visitor->trace(m_client); |
| 584 WebSocketChannel::trace(visitor); | 594 WebSocketChannel::trace(visitor); |
| 585 ContextLifecycleObserver::trace(visitor); | 595 ContextLifecycleObserver::trace(visitor); |
| 586 } | 596 } |
| 587 | 597 |
| 588 } // namespace blink | 598 } // namespace blink |
| OLD | NEW |