diff --git a/toolkit/content/widgets/videocontrols.css b/toolkit/content/widgets/videocontrols.css index 9bf173fb127..249d011add1 100644 --- a/toolkit/content/widgets/videocontrols.css +++ b/toolkit/content/widgets/videocontrols.css @@ -1,6 +1,6 @@ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); -.scrubber { +.scrubber, .volumeControl { -moz-binding: url("chrome://global/content/bindings/videocontrols.xml#suppressChangeEvent"); } diff --git a/toolkit/content/widgets/videocontrols.xml b/toolkit/content/widgets/videocontrols.xml index 523888df93b..88fe21617cc 100644 --- a/toolkit/content/widgets/videocontrols.xml +++ b/toolkit/content/widgets/videocontrols.xml @@ -76,9 +76,13 @@ null + null + null @@ -94,7 +98,8 @@ switch (which) { case "curpos": // Update the time shown in the thumb. - this.thumb.setTime(newValue); + if (this.type == "scrubber") + this.thumb.setTime(newValue); // The value of userChanged is true when changing the position with the mouse, // but not when pressing an arrow key. However, the base binding sets @@ -102,7 +107,11 @@ if (!userChanged && !this._userChanged) return; this.setAttribute("value", newValue); - document.getBindingParent(this.parentNode).Utils.seekToPosition(); + + if (this.type == "scrubber") + this.Utils.seekToPosition(newValue); + else if (this.type == "volumeControl") + this.Utils.setVolume(newValue / 100); break; case "minpos": @@ -146,6 +155,10 @@