Index: Source/core/page/EventSource.cpp |
diff --git a/Source/core/page/EventSource.cpp b/Source/core/page/EventSource.cpp |
index 2a6ff9cce0a2a1afaa3a9babd9b890714075472c..e1ba106fc0804cbfc1ceab52f34861032c9d577a 100644 |
--- a/Source/core/page/EventSource.cpp |
+++ b/Source/core/page/EventSource.cpp |
@@ -127,8 +127,11 @@ void EventSource::connect() |
request.setHTTPHeaderField("Accept", "text/event-stream"); |
request.setHTTPHeaderField("Cache-Control", "no-cache"); |
request.setRequestContext(blink::WebURLRequest::RequestContextEventSource); |
- if (!m_lastEventId.isEmpty()) |
- request.setHTTPHeaderField("Last-Event-ID", m_lastEventId); |
+ if (!m_lastEventId.isEmpty()) { |
+ // HTTP headers are Latin-1 byte strings, but the Last-Event-ID header is encoded as UTF-8. |
+ CString lastEventIdUtf8 = m_lastEventId.utf8(); |
+ request.setHTTPHeaderField("Last-Event-ID", AtomicString(reinterpret_cast<const LChar*>(lastEventIdUtf8.data()), lastEventIdUtf8.length())); |
Nate Chapin
2015/01/06 18:23:34
My WTFString-fu is not very good. Can you use Atom
davidben
2015/01/06 19:30:34
I don't think that work. This is an awkward thing
|
+ } |
SecurityOrigin* origin = executionContext.securityOrigin(); |