Changeset 207905 in webkit
- Timestamp:
- Oct 26, 2016 12:07:59 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 18 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r207904 r207905 1 2016-10-26 Antoine Quint <graouts@apple.com> 2 3 [Modern Media Controls] Media Controller: elapsed and remaining time support 4 https://bugs.webkit.org/show_bug.cgi?id=163679 5 <rdar://problem/28851675> 6 7 Reviewed by Dean Jackson. 8 9 New tests for the ElapsedTimeSupport and RemainingTimeSupport classes and adding the 10 new resources to other MediaController tests. 11 12 * http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html: 13 * media/modern-media-controls/elapsed-time-support/elapsed-time-support-expected.txt: Added. 14 * media/modern-media-controls/elapsed-time-support/elapsed-time-support.html: Added. 15 * media/modern-media-controls/media-controller/media-controller-constructor.html: 16 * media/modern-media-controls/media-controller/media-controller-resize.html: 17 * media/modern-media-controls/mute-support/mute-support-button-click.html: 18 * media/modern-media-controls/mute-support/mute-support-media-api.html: 19 * media/modern-media-controls/mute-support/mute-support-muted.html: 20 * media/modern-media-controls/remaining-time-support/remaining-time-support-expected.txt: Added. 21 * media/modern-media-controls/remaining-time-support/remaining-time-support.html: Added. 22 * media/modern-media-controls/start-support/start-support-audio.html: 23 * media/modern-media-controls/start-support/start-support-autoplay.html: 24 * media/modern-media-controls/start-support/start-support-click-to-start.html: 25 * media/modern-media-controls/start-support/start-support-error.html: 26 * media/modern-media-controls/start-support/start-support-fullscreen.html: 27 * media/modern-media-controls/start-support/start-support-manual-play.html: 28 * media/modern-media-controls/start-support/start-support-no-source.html: 29 1 30 2016-10-26 Michael Catanzaro <mcatanzaro@igalia.com> 2 31 -
trunk/LayoutTests/http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html
r207902 r207905 27 27 <script src="/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/elapsed-time-support/elapsed-time-support.html
r207904 r207905 7 7 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script> 8 8 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script> 9 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/status-label.js" type="text/javascript"></script> 9 10 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script> 10 11 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script> … … 27 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 34 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> … … 39 42 window.jsTestIsAsync = true; 40 43 41 description("Testing the <code> MediaController</code> click-to-startbehavior.");44 description("Testing the <code>ElapsedTimeSupport</code> behavior."); 42 45 43 46 iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images"; … … 47 50 const mediaController = createControls(shadowRoot, media, null); 48 51 49 media.addEventListener("loadedmetadata", function() { 50 shouldBeTrue("mediaController.controls.showsStartButton"); 51 debug(""); 52 debug("Dispatching click event to the start button"); 53 mediaController.controls.startButton.element.click(); 54 }); 52 media.addEventListener("timeupdate", function() { 53 debug("timeupdate event was dispatched"); 54 shouldBe("mediaController.controls.timeControl.elapsedTimeLabel.value", "media.currentTime"); 55 55 56 media.addEventListener("play", function() {57 debug("Media is playing");58 shouldBeFalse("mediaController.controls.showsStartButton");59 56 debug(""); 60 57 shadowRoot.host.remove(); … … 63 60 }); 64 61 62 media.addEventListener("loadedmetadata", event => media.currentTime = 2); 65 63 66 64 </script> -
trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-constructor.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-resize.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/mute-support/mute-support-button-click.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/mute-support/mute-support-media-api.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/mute-support/mute-support-muted.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/remaining-time-support/remaining-time-support.html
r207904 r207905 7 7 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script> 8 8 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/start-button.js" type="text/javascript"></script> 9 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/status-label.js" type="text/javascript"></script> 9 10 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script> 10 11 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/play-pause-button.js" type="text/javascript"></script> … … 27 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 34 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> … … 39 42 window.jsTestIsAsync = true; 40 43 41 description("Testing the <code> MediaController</code> click-to-startbehavior.");44 description("Testing the <code>RemainingTimeSupport</code> behavior."); 42 45 43 46 iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images"; … … 47 50 const mediaController = createControls(shadowRoot, media, null); 48 51 49 media.addEventListener("loadedmetadata", function() { 50 shouldBeTrue("mediaController.controls.showsStartButton"); 52 media.addEventListener("timeupdate", (event) => { 51 53 debug(""); 52 debug("Dispatching click event to the start button"); 53 mediaController.controls.startButton.element.click(); 54 }); 54 debug("timeupdate event was dispatched"); 55 shouldBe("mediaController.controls.timeControl.remainingTimeLabel.value", "media.currentTime - media.duration"); 55 56 56 media.addEventListener("play", function() {57 debug("Media is playing");58 shouldBeFalse("mediaController.controls.showsStartButton");59 57 debug(""); 60 58 shadowRoot.host.remove(); … … 63 61 }); 64 62 63 media.addEventListener("durationchange", event => { 64 debug("durationchange event was dispatched"); 65 shouldBe("mediaController.controls.timeControl.remainingTimeLabel.value", "-media.duration"); 66 media.currentTime = 2; 67 }); 65 68 66 69 </script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-audio.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-autoplay.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-click-to-start.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-error.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-fullscreen.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-manual-play.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-no-source.html
r207835 r207905 27 27 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js" type="text/javascript"></script> 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js" type="text/javascript"></script> 29 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js" type="text/javascript"></script> 30 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 31 33 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> -
trunk/Source/WebCore/ChangeLog
r207903 r207905 1 2016-10-26 Antoine Quint <graouts@apple.com> 2 3 [Modern Media Controls] Media Controller: elapsed and remaining time support 4 https://bugs.webkit.org/show_bug.cgi?id=163679 5 <rdar://problem/28851675> 6 7 Reviewed by Dean Jackson. 8 9 We introduce the ElapsedTimeSupport and RemainingTimeSupport classes which bring 10 support for displaying the elapsed and remaining time in the time control. 11 12 Tests: media/modern-media-controls/elapsed-time-support/elapsed-time-support.html 13 media/modern-media-controls/remaining-time-support/remaining-time-support.html 14 15 * Modules/modern-media-controls/js-files: 16 * Modules/modern-media-controls/media/elapsed-time-support.js: Added. 17 (ElapsedTimeSupport.prototype.get control): 18 (ElapsedTimeSupport.prototype.get mediaEvents): 19 (ElapsedTimeSupport.prototype.syncControl): 20 (ElapsedTimeSupport): 21 * Modules/modern-media-controls/media/media-controller.js: 22 (MediaController): 23 * Modules/modern-media-controls/media/remaining-time-support.js: Added. 24 (RemainingTimeSupport.prototype.get control): 25 (RemainingTimeSupport.prototype.get mediaEvents): 26 (RemainingTimeSupport.prototype.syncControl): 27 (RemainingTimeSupport): 28 * WebCore.xcodeproj/project.pbxproj: 29 1 30 2016-10-26 Dave Hyatt <hyatt@apple.com> 2 31 -
trunk/Source/WebCore/Modules/modern-media-controls/js-files
r207835 r207905 29 29 controls/pip-placard.js 30 30 media/media-controller-support.js 31 media/elapsed-time-support.js 31 32 media/mute-support.js 33 media/remaining-time-support.js 32 34 media/skip-back-support.js 33 35 media/start-support.js -
trunk/Source/WebCore/Modules/modern-media-controls/media/elapsed-time-support.js
r207904 r207905 24 24 */ 25 25 26 class MediaController26 class ElapsedTimeSupport extends MediaControllerSupport 27 27 { 28 29 constructor(shadowRoot, media, host)30 {31 this.shadowRoot = shadowRoot;32 this.media = media;33 this.host = host;34 35 // FIXME: This should get set dynamically based on the current environment.36 this.layoutTraits = LayoutTraits.macOS;37 38 this.controls = new MacOSInlineMediaControls39 shadowRoot.appendChild(this.controls.element);40 41 new MuteSupport(this);42 new SkipBackSupport(this);43 new StartSupport(this);44 45 this._updateControlsSize();46 media.addEventListener("resize", this);47 }48 28 49 29 // Protected 50 30 51 set pageScaleFactor(pageScaleFactor)31 get control() 52 32 { 53 // FIXME: To be implemented.33 return this.mediaController.controls.timeControl.elapsedTimeLabel; 54 34 } 55 35 56 set usesLTRUserInterfaceLayoutDirection(flag)36 get mediaEvents() 57 37 { 58 // FIXME: To be implemented.38 return ["timeupdate"]; 59 39 } 60 40 61 handleEvent(event)41 syncControl() 62 42 { 63 if (event.type === "resize" && event.currentTarget === this.media) 64 this._updateControlsSize(); 65 } 66 67 // Private 68 69 _updateControlsSize() 70 { 71 this.controls.width = this.media.offsetWidth; 72 this.controls.height = this.media.offsetHeight; 43 this.control.value = this.mediaController.media.currentTime; 73 44 } 74 45 -
trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js
r207835 r207905 39 39 shadowRoot.appendChild(this.controls.element); 40 40 41 new ElapsedTimeSupport(this); 41 42 new MuteSupport(this); 43 new RemainingTimeSupport(this); 42 44 new SkipBackSupport(this); 43 45 new StartSupport(this); -
trunk/Source/WebCore/Modules/modern-media-controls/media/remaining-time-support.js
r207904 r207905 24 24 */ 25 25 26 class MediaController26 class RemainingTimeSupport extends MediaControllerSupport 27 27 { 28 29 constructor(shadowRoot, media, host)30 {31 this.shadowRoot = shadowRoot;32 this.media = media;33 this.host = host;34 35 // FIXME: This should get set dynamically based on the current environment.36 this.layoutTraits = LayoutTraits.macOS;37 38 this.controls = new MacOSInlineMediaControls39 shadowRoot.appendChild(this.controls.element);40 41 new MuteSupport(this);42 new SkipBackSupport(this);43 new StartSupport(this);44 45 this._updateControlsSize();46 media.addEventListener("resize", this);47 }48 28 49 29 // Protected 50 30 51 set pageScaleFactor(pageScaleFactor)31 get control() 52 32 { 53 // FIXME: To be implemented.33 return this.mediaController.controls.timeControl.remainingTimeLabel; 54 34 } 55 35 56 set usesLTRUserInterfaceLayoutDirection(flag)36 get mediaEvents() 57 37 { 58 // FIXME: To be implemented.38 return ["timeupdate", "durationchange"]; 59 39 } 60 40 61 handleEvent(event)41 syncControl() 62 42 { 63 if (event.type === "resize" && event.currentTarget === this.media)64 this._updateControlsSize();65 }43 const media = this.mediaController.media; 44 if (isNaN(media.duration)) 45 return; 66 46 67 // Private 68 69 _updateControlsSize() 70 { 71 this.controls.width = this.media.offsetWidth; 72 this.controls.height = this.media.offsetHeight; 47 this.control.value = media.currentTime - media.duration; 73 48 } 74 49 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r207903 r207905 9806 9806 6F995A301A70833700A735F4 /* JSWebGLVertexArrayObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebGLVertexArrayObject.h; sourceTree = "<group>"; }; 9807 9807 6FAD4A561A9D0FAE009F7D3C /* OpenGLESSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OpenGLESSPI.h; sourceTree = "<group>"; }; 9808 71004B9A1DC1109300A52A38 /* elapsed-time-support.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "elapsed-time-support.js"; sourceTree = "<group>"; }; 9809 71004B9B1DC1109300A52A38 /* remaining-time-support.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "remaining-time-support.js"; sourceTree = "<group>"; }; 9808 9810 7117445614BC34E200EE5FC8 /* SVGTextMetricsBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGTextMetricsBuilder.cpp; sourceTree = "<group>"; }; 9809 9811 7117445714BC34E200EE5FC8 /* SVGTextMetricsBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGTextMetricsBuilder.h; sourceTree = "<group>"; }; … … 17772 17774 isa = PBXGroup; 17773 17775 children = ( 17776 71004B9A1DC1109300A52A38 /* elapsed-time-support.js */, 17774 17777 7177E2461DB80D2F00919A0B /* media-controller-support.js */, 17775 17778 71D02D921DB55C4E00DD5CF5 /* media-controller.js */, 17776 17779 7177E2471DB80D2F00919A0B /* mute-support.js */, 17780 71004B9B1DC1109300A52A38 /* remaining-time-support.js */, 17777 17781 71D2554F1DB900020004D76B /* skip-back-support.js */, 17778 17782 7177E2481DB80D2F00919A0B /* start-support.js */,
Note: See TracChangeset
for help on using the changeset viewer.