Changeset 207835 in webkit
- Timestamp:
- Oct 25, 2016 12:22:54 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 19 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r207834 r207835 1 2016-10-25 Antoine Quint <graouts@apple.com> 2 3 [Modern Media Controls] Media Controller: skip back support 4 https://bugs.webkit.org/show_bug.cgi?id=163725 5 <rdar://problem/27989480> 6 7 Reviewed by Dean Jackson. 8 9 Added a new test for the SkipBackButton class to ensure that we correctly seek back by 30 seconds when pressed. 10 Updated the other tests to reflect the addition of the SkipBackSupport class. 11 12 * http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click-expected.txt: Added. 13 * http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html: Added. 14 * media/modern-media-controls/media-controller/media-controller-constructor.html: 15 * media/modern-media-controls/media-controller/media-controller-resize.html: 16 * media/modern-media-controls/mute-support/mute-support-button-click.html: 17 * media/modern-media-controls/mute-support/mute-support-media-api.html: 18 * media/modern-media-controls/mute-support/mute-support-muted.html: 19 * media/modern-media-controls/start-support/start-support-audio.html: 20 * media/modern-media-controls/start-support/start-support-autoplay.html: 21 * media/modern-media-controls/start-support/start-support-click-to-start.html: 22 * media/modern-media-controls/start-support/start-support-error.html: 23 * media/modern-media-controls/start-support/start-support-fullscreen.html: 24 * media/modern-media-controls/start-support/start-support-manual-play.html: 25 * media/modern-media-controls/start-support/start-support-no-source.html: 26 1 27 2016-10-25 Commit Queue <commit-queue@webkit.org> 2 28 -
trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-constructor.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-resize.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/mute-support/mute-support-button-click.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/mute-support/mute-support-media-api.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/mute-support/mute-support-muted.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-audio.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-autoplay.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-click-to-start.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-error.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-fullscreen.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-manual-play.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/LayoutTests/media/modern-media-controls/start-support/start-support-no-source.html
r207587 r207835 28 28 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js" type="text/javascript"></script> 29 29 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/mute-support.js" type="text/javascript"></script> 30 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js" type="text/javascript"></script> 30 31 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/start-support.js" type="text/javascript"></script> 31 32 <script src="../../../../Source/WebCore/Modules/modern-media-controls/media/media-controller.js" type="text/javascript"></script> -
trunk/Source/WebCore/ChangeLog
r207834 r207835 1 2016-10-25 Antoine Quint <graouts@apple.com> 2 3 [Modern Media Controls] Media Controller: skip back support 4 https://bugs.webkit.org/show_bug.cgi?id=163725 5 <rdar://problem/27989480> 6 7 Reviewed by Dean Jackson. 8 9 We introduce the SkipBackSupport class which brings support for skipping back 10 30 seconds into the media by clicking on the skip back button in the media controls. 11 12 Test: http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html 13 14 * Modules/modern-media-controls/js-files: 15 * Modules/modern-media-controls/media/media-controller.js: 16 (MediaController): 17 * Modules/modern-media-controls/media/skip-back-support.js: Copied from Source/WebCore/Modules/modern-media-controls/media/media-controller.js. 18 (SkipBackSupport.prototype.get control): 19 (SkipBackSupport.prototype.buttonWasClicked): 20 (SkipBackSupport): 21 * WebCore.xcodeproj/project.pbxproj: 22 1 23 2016-10-25 Commit Queue <commit-queue@webkit.org> 2 24 -
trunk/Source/WebCore/Modules/modern-media-controls/js-files
r207758 r207835 29 29 controls/pip-placard.js 30 30 media/media-controller-support.js 31 media/mute-support.js 32 media/skip-back-support.js 31 33 media/start-support.js 32 media/mute-support.js33 34 media/media-controller.js 34 35 main.js -
trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js
r207587 r207835 39 39 shadowRoot.appendChild(this.controls.element); 40 40 41 new MuteSupport(this); 42 new SkipBackSupport(this); 41 43 new StartSupport(this); 42 new MuteSupport(this);43 44 44 45 this._updateControlsSize(); -
trunk/Source/WebCore/Modules/modern-media-controls/media/skip-back-support.js
r207834 r207835 24 24 */ 25 25 26 class MediaController 26 const SkipBackSeconds = 30; 27 28 class SkipBackSupport extends MediaControllerSupport 27 29 { 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 StartSupport(this);42 new MuteSupport(this);43 44 this._updateControlsSize();45 media.addEventListener("resize", this);46 }47 30 48 31 // Protected 49 32 50 set pageScaleFactor(pageScaleFactor)33 get control() 51 34 { 52 // FIXME: To be implemented.35 return this.mediaController.controls.skipBackButton; 53 36 } 54 37 55 set usesLTRUserInterfaceLayoutDirection(flag)38 buttonWasClicked(control) 56 39 { 57 // FIXME: To be implemented. 58 } 59 60 handleEvent(event) 61 { 62 if (event.type === "resize" && event.currentTarget === this.media) 63 this._updateControlsSize(); 64 } 65 66 // Private 67 68 _updateControlsSize() 69 { 70 this.controls.width = this.media.offsetWidth; 71 this.controls.height = this.media.offsetHeight; 40 const media = this.mediaController.media; 41 media.currentTime = Math.max(media.currentTime - SkipBackSeconds, media.seekable.start(0)); 72 42 } 73 43 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r207809 r207835 9867 9867 71D02D901DB55C4E00DD5CF5 /* main.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = main.js; sourceTree = "<group>"; }; 9868 9868 71D02D921DB55C4E00DD5CF5 /* media-controller.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "media-controller.js"; sourceTree = "<group>"; }; 9869 71D2554F1DB900020004D76B /* skip-back-support.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "skip-back-support.js"; sourceTree = "<group>"; }; 9869 9870 71D6AA711DA4EAF700B23969 /* airplay-placard@1x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "airplay-placard@1x.png"; sourceTree = "<group>"; }; 9870 9871 71D6AA721DA4EAF700B23969 /* airplay-placard@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "airplay-placard@2x.png"; sourceTree = "<group>"; }; … … 9941 9942 71E623CE151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedIntegerOptionalInteger.cpp; sourceTree = "<group>"; }; 9942 9943 71E623CF151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedIntegerOptionalInteger.h; sourceTree = "<group>"; }; 9944 71E6B2CF1DBE5D9A00C0A13E /* js-files */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "js-files"; sourceTree = "<group>"; }; 9943 9945 71FB967A1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedEnumerationPropertyTearOff.h; sourceTree = "<group>"; }; 9944 9946 724ED3291A3A7E5400F5F13C /* EXTBlendMinMax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EXTBlendMinMax.cpp; sourceTree = "<group>"; }; … … 17770 17772 71D02D921DB55C4E00DD5CF5 /* media-controller.js */, 17771 17773 7177E2471DB80D2F00919A0B /* mute-support.js */, 17774 71D2554F1DB900020004D76B /* skip-back-support.js */, 17772 17775 7177E2481DB80D2F00919A0B /* start-support.js */, 17773 17776 ); … … 17778 17781 isa = PBXGroup; 17779 17782 children = ( 17783 71E6B2CF1DBE5D9A00C0A13E /* js-files */, 17780 17784 71D02D901DB55C4E00DD5CF5 /* main.js */, 17781 17785 716FA0D71DB26591007323CC /* controls */, -
trunk/Tools/ChangeLog
r207820 r207835 1 2016-10-25 Antoine Quint <graouts@apple.com> 2 3 [Modern Media Controls] Media Controller: skip back support 4 https://bugs.webkit.org/show_bug.cgi?id=163725 5 <rdar://problem/27989480> 6 7 Reviewed by Dean Jackson. 8 9 * Scripts/webkitpy/layout_tests/servers/aliases.json: Adding a new alias such that we may 10 access the modern-media-controls source files through the web server. 11 1 12 2016-10-19 Jer Noble <jer.noble@apple.com> 2 13 -
trunk/Tools/Scripts/webkitpy/layout_tests/servers/aliases.json
r203400 r207835 2 2 ["/js-test-resources", "resources"], 3 3 ["/media-resources", "media"], 4 ["/modern-media-controls", "../Source/WebCore/Modules/modern-media-controls"], 4 5 ["/resources/testharness.css", "resources/testharness.css"], 5 6 ["/resources/testharness.js", "resources/testharness.js"],
Note: See TracChangeset
for help on using the changeset viewer.