Bug 1067444 - Clicking the microphone button on the global webrtc sharing indicator opens a doorhanger with a camera icon, r=gavin.

This commit is contained in:
Florian Quèze 2014-09-24 12:21:57 +02:00
parent 11a1ae06b4
commit 2c3a0e0255
2 changed files with 29 additions and 2 deletions

View File

@ -1,7 +1,7 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
function test() {
waitForExplicitFinish();
@ -206,5 +206,28 @@ let tests = [
notification.remove();
goNext();
}
},
// panel updates should fire the showing and shown callbacks again.
{ id: "Test#11",
run: function() {
this.notifyObj = new BasicNotification(this.id);
this.notification = showNotification(this.notifyObj);
},
onShown: function (popup) {
checkPopup(popup, this.notifyObj);
this.notifyObj.showingCallbackTriggered = false;
this.notifyObj.shownCallbackTriggered = false;
// Force an update of the panel. This is typically called
// automatically when receiving 'activate' or 'TabSelect' events,
// but from a setTimeout, which is inconvenient for the test.
PopupNotifications._update();
checkPopup(popup, this.notifyObj);
this.notification.remove();
},
onHidden: function() { }
}
];

View File

@ -617,8 +617,12 @@ PopupNotifications.prototype = {
this._refreshPanel(notificationsToShow);
if (this.isPanelOpen && this._currentAnchorElement == anchorElement)
if (this.isPanelOpen && this._currentAnchorElement == anchorElement) {
notificationsToShow.forEach(function (n) {
this._fireCallback(n, NOTIFICATION_EVENT_SHOWN);
}, this);
return;
}
// If the panel is already open but we're changing anchors, we need to hide
// it first. Otherwise it can appear in the wrong spot. (_hidePanel is