Remove StyleResolver::State::m_parentNode
[WebKit-https.git] / Source / WebCore / css / StyleMedia.cpp
index 90b5740..7191dec 100644 (file)
 #include "config.h"
 #include "StyleMedia.h"
 
-#include "CSSStyleSelector.h"
 #include "Document.h"
 #include "Frame.h"
 #include "FrameView.h"
 #include "MediaList.h"
 #include "MediaQueryEvaluator.h"
+#include "StyleResolver.h"
 
 namespace WebCore {
 
 StyleMedia::StyleMedia(Frame* frame)
-    : m_frame(frame)
+    : DOMWindowProperty(frame)
 {
 }
 
@@ -60,16 +60,10 @@ bool StyleMedia::matchMedium(const String& query) const
     if (!documentElement)
         return false;
 
-    CSSStyleSelector* styleSelector = document->styleSelector();
-    if (!styleSelector)
-        return false;
-
-    RefPtr<RenderStyle> rootStyle = styleSelector->styleForElement(documentElement, 0 /*defaultParent*/, false /*allowSharing*/, true /*resolveForRootDefault*/);
-    RefPtr<MediaList> media = MediaList::create();
+    RefPtr<RenderStyle> rootStyle = document->ensureStyleResolver().styleForElement(documentElement, document->renderStyle(), DisallowStyleSharing, MatchOnlyUserAgentRules);
 
-    ExceptionCode ec = 0;
-    media->setMediaText(query, ec);
-    if (ec)
+    RefPtr<MediaQuerySet> media = MediaQuerySet::create();
+    if (!media->parse(query))
         return false;
 
     MediaQueryEvaluator screenEval(type(), m_frame, rootStyle.get());