| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009, 2012 Ericsson AB. All rights reserved. | 2 * Copyright (C) 2009, 2012 Ericsson AB. All rights reserved. |
| 3 * Copyright (C) 2010 Apple Inc. All rights reserved. | 3 * Copyright (C) 2010 Apple Inc. All rights reserved. |
| 4 * Copyright (C) 2011, Code Aurora Forum. All rights reserved. | 4 * Copyright (C) 2011, Code Aurora Forum. All rights reserved. |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * | 9 * |
| 10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 m_eventStreamOrigin = SecurityOrigin::create(response.url())->toString(); | 231 m_eventStreamOrigin = SecurityOrigin::create(response.url())->toString(); |
| 232 int statusCode = response.httpStatusCode(); | 232 int statusCode = response.httpStatusCode(); |
| 233 bool mimeTypeIsValid = response.mimeType() == "text/event-stream"; | 233 bool mimeTypeIsValid = response.mimeType() == "text/event-stream"; |
| 234 bool responseIsValid = statusCode == 200 && mimeTypeIsValid; | 234 bool responseIsValid = statusCode == 200 && mimeTypeIsValid; |
| 235 if (responseIsValid) { | 235 if (responseIsValid) { |
| 236 const String& charset = response.textEncodingName(); | 236 const String& charset = response.textEncodingName(); |
| 237 // If we have a charset, the only allowed value is UTF-8 (case-insensiti
ve). | 237 // If we have a charset, the only allowed value is UTF-8 (case-insensiti
ve). |
| 238 responseIsValid = charset.isEmpty() || equalIgnoringCase(charset, "UTF-8
"); | 238 responseIsValid = charset.isEmpty() || equalIgnoringCase(charset, "UTF-8
"); |
| 239 if (!responseIsValid) { | 239 if (!responseIsValid) { |
| 240 StringBuilder message; | 240 StringBuilder message; |
| 241 message.append("EventSource's response has a charset (\""); | 241 message.appendLiteral("EventSource's response has a charset (\""); |
| 242 message.append(charset); | 242 message.append(charset); |
| 243 message.append("\") that is not UTF-8. Aborting the connection."); | 243 message.appendLiteral("\") that is not UTF-8. Aborting the connectio
n."); |
| 244 // FIXME: We are missing the source line. | 244 // FIXME: We are missing the source line. |
| 245 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMe
ssageSource, ErrorMessageLevel, message.toString())); | 245 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMe
ssageSource, ErrorMessageLevel, message.toString())); |
| 246 } | 246 } |
| 247 } else { | 247 } else { |
| 248 // To keep the signal-to-noise ratio low, we only log 200-response with
an invalid MIME type. | 248 // To keep the signal-to-noise ratio low, we only log 200-response with
an invalid MIME type. |
| 249 if (statusCode == 200 && !mimeTypeIsValid) { | 249 if (statusCode == 200 && !mimeTypeIsValid) { |
| 250 StringBuilder message; | 250 StringBuilder message; |
| 251 message.append("EventSource's response has a MIME type (\""); | 251 message.appendLiteral("EventSource's response has a MIME type (\""); |
| 252 message.append(response.mimeType()); | 252 message.append(response.mimeType()); |
| 253 message.append("\") that is not \"text/event-stream\". Aborting the
connection."); | 253 message.appendLiteral("\") that is not \"text/event-stream\". Aborti
ng the connection."); |
| 254 // FIXME: We are missing the source line. | 254 // FIXME: We are missing the source line. |
| 255 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMe
ssageSource, ErrorMessageLevel, message.toString())); | 255 getExecutionContext()->addConsoleMessage(ConsoleMessage::create(JSMe
ssageSource, ErrorMessageLevel, message.toString())); |
| 256 } | 256 } |
| 257 } | 257 } |
| 258 | 258 |
| 259 if (responseIsValid) { | 259 if (responseIsValid) { |
| 260 m_state = OPEN; | 260 m_state = OPEN; |
| 261 AtomicString lastEventId; | 261 AtomicString lastEventId; |
| 262 if (m_parser) { | 262 if (m_parser) { |
| 263 // The new parser takes over the event ID. | 263 // The new parser takes over the event ID. |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 | 352 |
| 353 DEFINE_TRACE(EventSource) | 353 DEFINE_TRACE(EventSource) |
| 354 { | 354 { |
| 355 visitor->trace(m_parser); | 355 visitor->trace(m_parser); |
| 356 EventTargetWithInlineData::trace(visitor); | 356 EventTargetWithInlineData::trace(visitor); |
| 357 ActiveDOMObject::trace(visitor); | 357 ActiveDOMObject::trace(visitor); |
| 358 EventSourceParser::Client::trace(visitor); | 358 EventSourceParser::Client::trace(visitor); |
| 359 } | 359 } |
| 360 | 360 |
| 361 } // namespace blink | 361 } // namespace blink |
| OLD | NEW |