Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(594)

Unified Diff: Source/core/css/MediaQueryMatcher.cpp

Issue 396283004: Make the MediaQueryList listener an EventListener (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebased Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/css/MediaQueryMatcher.cpp
diff --git a/Source/core/css/MediaQueryMatcher.cpp b/Source/core/css/MediaQueryMatcher.cpp
index 12d21b0148b004e3fbec10a2b2f61028124f7164..26285a25f8688380b07e17127657b68a8ff4bbe9 100644
--- a/Source/core/css/MediaQueryMatcher.cpp
+++ b/Source/core/css/MediaQueryMatcher.cpp
@@ -23,6 +23,7 @@
#include "core/css/MediaList.h"
#include "core/css/MediaQueryEvaluator.h"
#include "core/css/MediaQueryList.h"
+#include "core/css/MediaQueryListEvent.h"
#include "core/css/MediaQueryListListener.h"
#include "core/css/resolver/StyleResolver.h"
#include "core/dom/Document.h"
@@ -106,8 +107,13 @@ void MediaQueryMatcher::mediaFeaturesChanged()
return;
WillBeHeapVector<RefPtrWillBeMember<MediaQueryListListener> > listenersToNotify;
- for (MediaQueryListSet::iterator it = m_mediaLists.begin(); it != m_mediaLists.end(); ++it)
- (*it)->mediaFeaturesChanged(&listenersToNotify);
+ for (MediaQueryListSet::iterator it = m_mediaLists.begin(); it != m_mediaLists.end(); ++it) {
+ if ((*it)->mediaFeaturesChanged(&listenersToNotify)) {
+ RefPtrWillBeRawPtr<Event> event(MediaQueryListEvent::create((*it)->media(), (*it)->matches()));
+ event->setTarget(*it);
+ m_document->enqueueUniqueAnimationFrameEvent(event);
haraken 2014/07/20 05:14:49 I'm not quite sure of this. I wonder why Mediaquer
cbiesinger 2014/07/21 22:07:19 Yeah, hmm, I'm not sure... come to think of it, wi
+ }
+ }
m_document->enqueueMediaQueryChangeListeners(listenersToNotify);
}

Powered by Google App Engine
This is Rietveld 408576698