зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1601379 - part1 : allow inherited class to override 'Close()' r=MeFisto94
Add an ability for inherited sources to implement their own deconstruction operations. Differential Revision: https://phabricator.services.mozilla.com/D56447 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
c68dbd86f2
Коммит
f3a4ab9441
|
@ -57,7 +57,7 @@ class MediaControlKeysEventSource : public nsISupports {
|
||||||
virtual void AddListener(MediaControlKeysEventListener* aListener);
|
virtual void AddListener(MediaControlKeysEventListener* aListener);
|
||||||
virtual void RemoveListener(MediaControlKeysEventListener* aListener);
|
virtual void RemoveListener(MediaControlKeysEventListener* aListener);
|
||||||
size_t GetListenersNum() const;
|
size_t GetListenersNum() const;
|
||||||
void Close();
|
virtual void Close();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual ~MediaControlKeysEventSource() = default;
|
virtual ~MediaControlKeysEventSource() = default;
|
||||||
|
|
|
@ -18,12 +18,15 @@ class MediaHardwareKeysEventSourceMac final
|
||||||
: public mozilla::dom::MediaControlKeysEventSource {
|
: public mozilla::dom::MediaControlKeysEventSource {
|
||||||
public:
|
public:
|
||||||
MediaHardwareKeysEventSourceMac();
|
MediaHardwareKeysEventSourceMac();
|
||||||
~MediaHardwareKeysEventSourceMac();
|
|
||||||
|
|
||||||
static CGEventRef EventTapCallback(CGEventTapProxy proxy, CGEventType type,
|
static CGEventRef EventTapCallback(CGEventTapProxy proxy, CGEventType type,
|
||||||
CGEventRef event, void* refcon);
|
CGEventRef event, void* refcon);
|
||||||
|
|
||||||
|
void Close() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
~MediaHardwareKeysEventSourceMac() = default;
|
||||||
|
|
||||||
void StartEventTap();
|
void StartEventTap();
|
||||||
void StopEventTap();
|
void StopEventTap();
|
||||||
|
|
||||||
|
|
|
@ -70,9 +70,10 @@ MediaHardwareKeysEventSourceMac::MediaHardwareKeysEventSourceMac() {
|
||||||
StartEventTap();
|
StartEventTap();
|
||||||
}
|
}
|
||||||
|
|
||||||
MediaHardwareKeysEventSourceMac::~MediaHardwareKeysEventSourceMac() {
|
void MediaHardwareKeysEventSourceMac::Close() {
|
||||||
LOG("Destroy MediaHardwareKeysEventSourceMac");
|
LOG("Close MediaHardwareKeysEventSourceMac");
|
||||||
StopEventTap();
|
StopEventTap();
|
||||||
|
MediaControlKeysEventSource::Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaHardwareKeysEventSourceMac::StartEventTap() {
|
void MediaHardwareKeysEventSourceMac::StartEventTap() {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче