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

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, 4 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 ead99221953487f6e158042d983311704639fadd..1f2975e458b0b68ec289c192e95d74376ca68658 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"
@@ -121,8 +122,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);
+ }
+ }
m_document->enqueueMediaQueryChangeListeners(listenersToNotify);
}

Powered by Google App Engine
This is Rietveld 408576698