| Index: Source/core/css/MediaQueryList.h
|
| diff --git a/Source/core/css/MediaQueryList.h b/Source/core/css/MediaQueryList.h
|
| index fd00e845f92ddbf4e5e0015986abcf74db70a2c3..e146dc15cd2b64da9da42b10501bcd41694d3ddb 100644
|
| --- a/Source/core/css/MediaQueryList.h
|
| +++ b/Source/core/css/MediaQueryList.h
|
| @@ -22,6 +22,7 @@
|
|
|
| #include "bindings/core/v8/ScriptWrappable.h"
|
| #include "core/dom/ActiveDOMObject.h"
|
| +#include "core/events/EventTarget.h"
|
| #include "platform/heap/Handle.h"
|
| #include "wtf/Forward.h"
|
| #include "wtf/RefCounted.h"
|
| @@ -29,6 +30,7 @@
|
|
|
| namespace blink {
|
|
|
| +class Document;
|
| class ExecutionContext;
|
| class MediaQueryListListener;
|
| class MediaQueryEvaluator;
|
| @@ -40,7 +42,9 @@ class MediaQuerySet;
|
| // retrieve the current value of the given media query and to add/remove listeners that
|
| // will be called whenever the value of the query changes.
|
|
|
| -class MediaQueryList FINAL : public RefCountedWillBeGarbageCollectedFinalized<MediaQueryList>, public ActiveDOMObject, public ScriptWrappable {
|
| +class MediaQueryList FINAL : public RefCountedWillBeGarbageCollectedFinalized<MediaQueryList>, public EventTargetWithInlineData, public ActiveDOMObject {
|
| + DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCounted<MediaQueryList>);
|
| + WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(MediaQueryList);
|
| public:
|
| static PassRefPtrWillBeRawPtr<MediaQueryList> create(ExecutionContext*, PassRefPtrWillBeRawPtr<MediaQueryMatcher>, PassRefPtrWillBeRawPtr<MediaQuerySet>);
|
| virtual ~MediaQueryList();
|
| @@ -48,10 +52,19 @@ public:
|
| String media() const;
|
| bool matches();
|
|
|
| + DEFINE_ATTRIBUTE_EVENT_LISTENER(change);
|
| +
|
| + // These two functions are provided for compatibility with JS code
|
| + // written before the change listener became a DOM event.
|
| + void addDeprecatedListener(PassRefPtr<EventListener>);
|
| + void removeDeprecatedListener(PassRefPtr<EventListener>);
|
| +
|
| + // C++ code can use these functions to listen to changes instead of having to use DOM event listeners.
|
| void addListener(PassRefPtrWillBeRawPtr<MediaQueryListListener>);
|
| void removeListener(PassRefPtrWillBeRawPtr<MediaQueryListListener>);
|
|
|
| - void mediaFeaturesChanged(WillBeHeapVector<RefPtrWillBeMember<MediaQueryListListener> >* listenersToNotify);
|
| + // Will return true if a DOM event should be scheduled.
|
| + bool mediaFeaturesChanged(WillBeHeapVector<RefPtrWillBeMember<MediaQueryListListener> >* listenersToNotify);
|
|
|
| void trace(Visitor*);
|
|
|
| @@ -59,6 +72,9 @@ public:
|
| virtual bool hasPendingActivity() const OVERRIDE;
|
| virtual void stop() OVERRIDE;
|
|
|
| + virtual const AtomicString& interfaceName() const OVERRIDE;
|
| + virtual ExecutionContext* executionContext() const OVERRIDE;
|
| +
|
| private:
|
| MediaQueryList(ExecutionContext*, PassRefPtrWillBeRawPtr<MediaQueryMatcher>, PassRefPtrWillBeRawPtr<MediaQuerySet>);
|
|
|
|
|