| Index: Source/core/css/MediaQuery.cpp
|
| diff --git a/Source/core/css/MediaQuery.cpp b/Source/core/css/MediaQuery.cpp
|
| index 681ac137fa2c7c041b64681a6331fba4556ed79e..e206949dfb8a592566413253a7c97b8ab961e9dd 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,13 @@ 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())
|
| + m_mediaType = attemptStaticStringCreation(mediaType.lower(), Force16Bit);
|
| +
|
| if (!m_expressions) {
|
| m_expressions = adoptPtr(new ExpressionVector);
|
| return;
|
| @@ -99,7 +104,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)
|
| {
|
|
|