| Index: third_party/WebKit/Source/core/page/PageSerializer.cpp | 
| diff --git a/third_party/WebKit/Source/core/page/PageSerializer.cpp b/third_party/WebKit/Source/core/page/PageSerializer.cpp | 
| index 2c395efe5cb3fe8639465467bddf775269af8d69..28ac4e0564ee129c437ae60281354dd5e06b5697 100644 | 
| --- a/third_party/WebKit/Source/core/page/PageSerializer.cpp | 
| +++ b/third_party/WebKit/Source/core/page/PageSerializer.cpp | 
| @@ -397,6 +397,10 @@ void PageSerializer::serializeFrame(LocalFrame* frame) | 
| void PageSerializer::serializeCSSStyleSheet(CSSStyleSheet& styleSheet, const KURL& url) | 
| { | 
| StringBuilder cssText; | 
| +    cssText.appendLiteral("@charset \""); | 
| +    cssText.append(styleSheet.contents()->charset().lower()); | 
| +    cssText.appendLiteral("\";\n\n"); | 
| + | 
| for (unsigned i = 0; i < styleSheet.length(); ++i) { | 
| CSSRule* rule = styleSheet.item(i); | 
| String itemText = rule->cssText(); | 
| @@ -411,10 +415,8 @@ void PageSerializer::serializeCSSStyleSheet(CSSStyleSheet& styleSheet, const KUR | 
| } | 
|  | 
| if (url.isValid() && !m_resourceURLs.contains(url)) { | 
| -        // FIXME: We should check whether a charset has been specified and if none was found add one. | 
| WTF::TextEncoding textEncoding(styleSheet.contents()->charset()); | 
| ASSERT(textEncoding.isValid()); | 
| -        // TODO(jsbell): Ensure @charset is written out if non-UTF-8. | 
| String textString = cssText.toString(); | 
| CString text = textEncoding.encode(textString, WTF::EntitiesForUnencodables); | 
| m_resources->append(SerializedResource(url, String("text/css"), SharedBuffer::create(text.data(), text.length()))); | 
|  |