Chromium Code Reviews| Index: Source/core/css/MediaQuery.cpp |
| diff --git a/Source/core/css/MediaQuery.cpp b/Source/core/css/MediaQuery.cpp |
| index 681ac137fa2c7c041b64681a6331fba4556ed79e..819c7a185897c7d2302d6ccce47334f65df800a5 100644 |
| --- a/Source/core/css/MediaQuery.cpp |
| +++ b/Source/core/css/MediaQuery.cpp |
| @@ -30,11 +30,14 @@ |
| #include "core/css/MediaQuery.h" |
| #include "core/css/MediaQueryExp.h" |
| +#include "core/html/parser/HTMLParserIdioms.h" |
| #include "wtf/NonCopyingSort.h" |
| #include "wtf/text/StringBuilder.h" |
| namespace WebCore { |
| +// FIXME - need to add common keywords (e.g. all, only, none, and) to static strings |
| + |
| // http://dev.w3.org/csswg/cssom/#serialize-a-media-query |
| String MediaQuery::serialize() const |
| { |
| @@ -73,11 +76,16 @@ static bool expressionCompare(const OwnPtr<MediaQueryExp>& a, const OwnPtr<Media |
| return codePointCompare(a->serialize(), b->serialize()) < 0; |
| } |
| -MediaQuery::MediaQuery(Restrictor r, const AtomicString& mediaType, PassOwnPtr<ExpressionVector> expressions) |
| +MediaQuery::MediaQuery(Restrictor r, const String& mediaType, PassOwnPtr<ExpressionVector> expressions) |
| : m_restrictor(r) |
| - , m_mediaType(mediaType.lower()) |
| , m_expressions(expressions) |
| { |
| + if (mediaType.impl()) { |
| + String lowerMediaType = String(mediaType.lower()); |
| + lowerMediaType.ensure16Bit(); |
| + m_mediaType = attemptStaticStringCreation(lowerMediaType, Force16Bit); |
|
abarth-chromium
2014/03/01 07:28:25
Then you won't need this sort of thing.
|
| + } |
| + |
| if (!m_expressions) { |
| m_expressions = adoptPtr(new ExpressionVector); |
| return; |
| @@ -99,7 +107,7 @@ MediaQuery::MediaQuery(Restrictor r, const AtomicString& mediaType, PassOwnPtr<E |
| MediaQuery::MediaQuery(const MediaQuery& o) |
| : m_restrictor(o.m_restrictor) |
| - , m_mediaType(o.m_mediaType) |
| + , m_mediaType(o.m_mediaType.impl()) |
| , m_expressions(adoptPtr(new ExpressionVector(o.m_expressions->size()))) |
| , m_serializationCache(o.m_serializationCache) |
| { |