| Index: Source/core/css/MediaQueryMatcher.cpp
|
| diff --git a/Source/core/css/MediaQueryMatcher.cpp b/Source/core/css/MediaQueryMatcher.cpp
|
| index 795b2eda01e554d2eadff3c9fa24666bee04c476..066cddc935d7817be427e647dd63e0ce80f17fbe 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"
|
| @@ -91,7 +92,7 @@ PassRefPtrWillBeRawPtr<MediaQueryList> MediaQueryMatcher::matchMedia(const Strin
|
| RefPtrWillBeRawPtr<MediaQuerySet> media = MediaQuerySet::create(query);
|
| // Add warning message to inspector whenever dpi/dpcm values are used for "screen" media.
|
| reportMediaQueryWarningIfNeeded(m_document, media.get());
|
| - return MediaQueryList::create(this, media);
|
| + return MediaQueryList::create(this, media, m_document);
|
| }
|
|
|
| void MediaQueryMatcher::addMediaQueryList(MediaQueryList* query)
|
| @@ -114,8 +115,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->enqueuePerFrameEvent(event);
|
| + }
|
| + }
|
|
|
| m_document->enqueueMediaQueryChangeListeners(listenersToNotify);
|
| }
|
|
|