Commit Graph

70 Commits

Author SHA1 Message Date
Scott Taylor
a702c60e9d Incorporate https://github.com/johndyer/mediaelement/pull/1385 into our custom build of MediaElement 2.16.2.
Props bradyvercher.
Fixes #30281.

Built from https://develop.svn.wordpress.org/trunk@30783


git-svn-id: http://core.svn.wordpress.org/trunk@30773 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-07 23:59:23 +00:00
Scott Taylor
8b1b1a10ed Monkey-patch MediaElement to restore H264 support to Chromium.
Documented here:
https://core.trac.wordpress.org/ticket/30281#comment:9

See #30281.

Built from https://develop.svn.wordpress.org/trunk@30736


git-svn-id: http://core.svn.wordpress.org/trunk@30726 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-04 00:59:23 +00:00
Scott Taylor
68f0690aa4 Upgrade to MediaElement 2.16.2
https://github.com/johndyer/mediaelement/compare/2.15.1...2.16.2

Fixes #30281.

Built from https://develop.svn.wordpress.org/trunk@30634


git-svn-id: http://core.svn.wordpress.org/trunk@30624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 05:58:24 +00:00
Scott Taylor
6142a650b7 Allow developers to override the settings.success callback for MediaElement players.
Props nofearinc.
Fixes #30029.

Built from https://develop.svn.wordpress.org/trunk@30083


git-svn-id: http://core.svn.wordpress.org/trunk@30083 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-29 01:21:24 +00:00
Scott Taylor
3d8e31fb82 Don't hardcode height for videos - this was a workaround for MediaElement internals causing problems. Responsive videos now work properly and don't cause extra whitespace.
Fixes MediaElement by hand in the interim: https://github.com/johndyer/mediaelement/pull/1337
Video playlists were completely broken by this.

Fixes #30078.


Built from https://develop.svn.wordpress.org/trunk@30082


git-svn-id: http://core.svn.wordpress.org/trunk@30082 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-29 00:47:24 +00:00
Scott Taylor
067feb9691 Remember when we added the style attribute to playlists? Fix dark.
Props karpstrucking.
Fixes #29530.

Built from https://develop.svn.wordpress.org/trunk@29814


git-svn-id: http://core.svn.wordpress.org/trunk@29580 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-02 05:28:16 +00:00
Scott Taylor
293e344490 Upgrade MediaElement to 2.15.1.
Changes from 2.15.0:
https://github.com/johndyer/mediaelement/compare/2.15.0...2.15.1

Continues to revert upstream commit b7f82b4 to restore the status quo for Chromium support.

See [29688].
Fixes #29620 for trunk.

Built from https://develop.svn.wordpress.org/trunk@29733


git-svn-id: http://core.svn.wordpress.org/trunk@29507 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-11 17:44:15 +00:00
Andrew Nacin
4d6697aaa6 MediaElement: Revert upstream commit b7f82b4 to restore the status quo for Chromium support.
fixes #29110.

Built from https://develop.svn.wordpress.org/trunk@29688


git-svn-id: http://core.svn.wordpress.org/trunk@29463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-03 06:32:15 +00:00
Andrew Ozz
703b625820 Media: add a class to the <script> tag for the JSON encoded playlist data so it can be easily selected in WPPlaylistView. Props SergeyBiryukov, fixes #29383
Built from https://develop.svn.wordpress.org/trunk@29660


git-svn-id: http://core.svn.wordpress.org/trunk@29434 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-01 19:55:18 +00:00
Scott Taylor
149346ff6e MCE View sandboxes:
* Use a `MutationObserver` to listen to the `body` class of the parent editor frame.
* In `wpview_media_sandbox_styles()`, only return the MEjs stylesheets.
* In `wp_ajax_parse_media_shortcode()` and `wp_ajax_parse_embed()`, return an object instead of an HTML blob to allow passing `body` and `head` separately	

Props avryl, azaozz.
Fixes #29048.

Built from https://develop.svn.wordpress.org/trunk@29615


git-svn-id: http://core.svn.wordpress.org/trunk@29389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-26 04:46:15 +00:00
Scott Taylor
d6213d64a5 After [29543], the iframe sandboxes for media need to load Open Sans. Playlists look aggressively bad without it. Adds font styles for the body.
See #29048.

Built from https://develop.svn.wordpress.org/trunk@29564


git-svn-id: http://core.svn.wordpress.org/trunk@29338 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-21 03:36:16 +00:00
Scott Taylor
1c93f05e2a Upgrade MediaElement to 2.15.0:
* It is required to set `height` on the parent `.wp-video` wrapper for video
* Fixes the play button hover problem in Chrome
* Includes my pull request: https://github.com/johndyer/mediaelement/pull/1273

All changes:
https://github.com/johndyer/mediaelement/compare/2.14.2...master

See #29110.

Built from https://develop.svn.wordpress.org/trunk@29457


git-svn-id: http://core.svn.wordpress.org/trunk@29235 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-09 20:44:17 +00:00
Scott Taylor
28c22db07d Video:
* Don't set height on responsive `<div>` when generating markup
* Move some CSS rules from the style tag to `.wp-video`
* Use Video Details view event delegation instead of click events delegated from `<body>`
* Fix some CSS rule collision in the grid modal

See #29110.

Built from https://develop.svn.wordpress.org/trunk@29456


git-svn-id: http://core.svn.wordpress.org/trunk@29234 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-09 19:39:15 +00:00
Scott Taylor
cb2d88a092 After [29179], remove the last instance of this.isCompatibleSrc().
Props kovshenin.
See #28905.


Built from https://develop.svn.wordpress.org/trunk@29277


git-svn-id: http://core.svn.wordpress.org/trunk@29059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-23 17:54:15 +00:00
Scott Taylor
75d3fe3e65 Cleanup after [29179]:
* Cleanup players when the editor is hidden - window scope is unique to each frame
* Add the editor body class to each iframe sandbox
* Remove unneeded code from `wp-mediaelement.js`

See #28905.

Built from https://develop.svn.wordpress.org/trunk@29189


git-svn-id: http://core.svn.wordpress.org/trunk@28973 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-16 16:14:14 +00:00
Scott Taylor
93fdff3581 Simplify creation of audio, video, and playlist MCE views by placing them in iframe sandboxes.
Wins:
* Eliminates duplication of code between PHP and JS
* Views can load JS without messing with TinyMCE and scope
* MEjs doesn't break when it loads a file plugin-mode. This allows any file type the MEjs supports to play in MCE views.
* YouTube now works as the source for video.
* Users can still style the views, editor stylesheets are included in these sandboxes.
* Audio and Video URLs and `[embed]`s are no longer broken.
* Remove the crazy compat code necessary to determine what file types play in what browser.
* Remove unneeded Underscore templates.
* Remove the compat code for playlists.

See #28905.

Built from https://develop.svn.wordpress.org/trunk@29179


git-svn-id: http://core.svn.wordpress.org/trunk@28963 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-15 22:18:14 +00:00
Scott Taylor
4ad56ce548 Make sure the audio player's time tooltip is visible in the media modal for Audio Details.
Fixes #28453.


Built from https://develop.svn.wordpress.org/trunk@28863


git-svn-id: http://core.svn.wordpress.org/trunk@28663 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-26 20:29:14 +00:00
Scott Taylor
17271702ca In the spirit of [27622], add a few CSS rules to ensure that videos will be responsive, regardless of theme.
Props Funkatronic.
Fixes #28414.

Built from https://develop.svn.wordpress.org/trunk@28650


git-svn-id: http://core.svn.wordpress.org/trunk@28468 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-02 00:40:15 +00:00
Scott Taylor
4fd5ffe994 In WPPlaylistView::ended(), at the end of a playlist, set the index to 0 and call ->setCurrent() instead of ->loadCurrent() so that the first track is properly highlighted.
Fixes #28428.

Built from https://develop.svn.wordpress.org/trunk@28649


git-svn-id: http://core.svn.wordpress.org/trunk@28467 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-02 00:27:18 +00:00
Scott Taylor
aeadf0c7cf Allow users to set overrides for MediaElement instances by always passing _wpmejsSettings instead of just _wpmejsSettings.pluginPath.
Props Otto42 for the initial patch.
Fixes #25243.


Built from https://develop.svn.wordpress.org/trunk@28370


git-svn-id: http://core.svn.wordpress.org/trunk@28198 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-11 06:25:15 +00:00
Scott Taylor
60f395e4c2 Update the default (WP-defined) styles for MediaElement players to be more in-line with our flat aesthetic. Use the new official colors.
Props celloexpressions.
Fixes #27516.


Built from https://develop.svn.wordpress.org/trunk@28365


git-svn-id: http://core.svn.wordpress.org/trunk@28193 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-11 02:23:14 +00:00
Scott Taylor
fb1aab6520 Support loop for [audio] and [video] shortcodes that specify files that are played using MediaElement's Flash plugin bridge.
Fixes #27368.


Built from https://develop.svn.wordpress.org/trunk@28363


git-svn-id: http://core.svn.wordpress.org/trunk@28191 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-11 01:28:15 +00:00
Scott Taylor
d06c353995 MediaElement players need clear: both to play nice with adjacent floated elements.
Fixes #27385.


Built from https://develop.svn.wordpress.org/trunk@28361


git-svn-id: http://core.svn.wordpress.org/trunk@28189 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-11 00:14:14 +00:00
Scott Taylor
6deb34ebb3 Alter the layout of the checkboxes in the modal view for Audio/Video Details to allow translations more room to breathe.
See #27893.


Built from https://develop.svn.wordpress.org/trunk@28184


git-svn-id: http://core.svn.wordpress.org/trunk@28015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-22 20:29:14 +00:00
Scott Taylor
c5c18d3848 Add calc() rules for max-width of playlist caption.
Props celloexpressions.
See #27923.


Built from https://develop.svn.wordpress.org/trunk@28174


git-svn-id: http://core.svn.wordpress.org/trunk@28005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-20 05:10:15 +00:00
Scott Taylor
3a903b40af Support RTL properly when displaying playlists.
Props SergeyBiryukov.
See #27924.


Built from https://develop.svn.wordpress.org/trunk@28173


git-svn-id: http://core.svn.wordpress.org/trunk@28004 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-20 04:27:14 +00:00
Scott Taylor
ec563e82ed Properly account for text overflow in .wp-playlist-caption by adding display: block.
Props celloexpressions.
See #27923.


Built from https://develop.svn.wordpress.org/trunk@28172


git-svn-id: http://core.svn.wordpress.org/trunk@28003 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-20 04:25:15 +00:00
Scott Taylor
fd65d355a2 Add a compatibility layer in wp-playlist.js to avoid VM errors from MediaElement's plugin bridge in the TinyMCE views for playlists by suppressing playback for files whose mime-type is not supported in the user's browser natively.
This is similar to how audio and video shortcodes are handled: file types are whitelisted for native playback.

See #27892.


Built from https://develop.svn.wordpress.org/trunk@28171


git-svn-id: http://core.svn.wordpress.org/trunk@28002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-20 03:53:15 +00:00
Scott Taylor
b7b2f53aa4 Don't set the poster image for videos in a playlist if the image is the video mime-type icon blown up.
See #27892.


Built from https://develop.svn.wordpress.org/trunk@28158


git-svn-id: http://core.svn.wordpress.org/trunk@27989 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-18 17:39:15 +00:00
Andrew Nacin
e3a4c57563 Final about page.
props melchoyce, helen, wonderboymusic, nacin, and the illustrious Michael Pick.
fixes #27713, #27837.

Built from https://develop.svn.wordpress.org/trunk@28150


git-svn-id: http://core.svn.wordpress.org/trunk@27981 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-16 17:40:14 +00:00
Scott Taylor
382577bbb7 Bump MediaElement.js to 2.14.2. Release Notes: 743f446523.
Fixes #27582.


Built from https://develop.svn.wordpress.org/trunk@28068


git-svn-id: http://core.svn.wordpress.org/trunk@27899 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-10 21:32:14 +00:00
Scott Taylor
42a66ea424 Make playlist tracks keyboard-accessible.
Fixes #27644.


Built from https://develop.svn.wordpress.org/trunk@28023


git-svn-id: http://core.svn.wordpress.org/trunk@27853 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 22:28:16 +00:00
Scott Taylor
6ec61c7506 Call MediaElement's shim method for setSrc() when dynamically updating the playing source in playlists, which will properly set the source for mobile.
Make the labels for playlist items slightly smaller to account for size on mobile.

Fixes #27625.


Built from https://develop.svn.wordpress.org/trunk@27895


git-svn-id: http://core.svn.wordpress.org/trunk@27726 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 19:04:14 +00:00
Scott Taylor
7aaa878a6f Make <audio> elements in playlists responsive.
See #27625.


Built from https://develop.svn.wordpress.org/trunk@27894


git-svn-id: http://core.svn.wordpress.org/trunk@27725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 18:47:14 +00:00
Scott Taylor
55b61b7a70 Re-instantiate the MediaElementPlayer instance when switching mime types in playlists.
Fixes #27608.


Built from https://develop.svn.wordpress.org/trunk@27871


git-svn-id: http://core.svn.wordpress.org/trunk@27702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-31 15:35:15 +00:00
Scott Taylor
b6ac65f07f Using percentages for playlist font-sizing was ambitious, but fell prey to editor-style.css in the admin. We have switched to using pixels. The editor styles were also forcing MediaElement players to inherit font-family, which was undesirable. And while we're at it, remove the top and bottom border from the playlist's list of tracks, which adds a dash of lovely to the playlist's default styles.
Props nacin for the addition of `&mdash;` in the playlist track list.
Fixes #27600.


Built from https://develop.svn.wordpress.org/trunk@27865


git-svn-id: http://core.svn.wordpress.org/trunk@27696 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-30 22:12:16 +00:00
Scott Taylor
cae2ef37cd MEjs has been fixed upstream: 1a75559c9d
No more infinite loop.

This restores MediaElement to a clean build: `2.14.0`.

Fixes #27582. 
Thanks to jeremyfelt for tracking this down.


Built from https://develop.svn.wordpress.org/trunk@27861


git-svn-id: http://core.svn.wordpress.org/trunk@27692 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-30 17:51:14 +00:00
Scott Taylor
57dfb8fb2a Revert mediaelement-and-player.min.js to a usable build that doesn't cause an infinite loop. Still 2.14.0, minus the offending pull request: a7f67b7180
Reported upstream. `2.14.0` is necessary for playing `m4a` files properly. `2.14.0` with the offending pull request is unusable in Chrome.

See #27582.


Built from https://develop.svn.wordpress.org/trunk@27853


git-svn-id: http://core.svn.wordpress.org/trunk@27684 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-29 21:36:15 +00:00
Scott Taylor
2dac143048 Updated 2.14.0 build from the project maintainer.
See #27570.


Built from https://develop.svn.wordpress.org/trunk@27829


git-svn-id: http://core.svn.wordpress.org/trunk@27663 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 21:44:15 +00:00
Scott Taylor
045e837577 Bump to 2.14.0 - fixes issues related to m4a files.
Fixes #27570.


Built from https://develop.svn.wordpress.org/trunk@27811


git-svn-id: http://core.svn.wordpress.org/trunk@27645 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 12:35:14 +00:00
Helen Hou-Sandí
afbcf169b0 Set baseline colors for the light playlist skin. props kwight. fixes #27562.
Built from https://develop.svn.wordpress.org/trunk@27805


git-svn-id: http://core.svn.wordpress.org/trunk@27639 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 03:38:14 +00:00
Scott Taylor
4f868ad882 There is no more video-playlist shortcode. To use video, it is now [playlist type="video" ....]. Also deleting core playlist styles. The style attribute is still supported, defaulting to light. Our core style support was 4-5 CSS rules.
See #27552. Leaving open for comments and potential bugs.


Built from https://develop.svn.wordpress.org/trunk@27785


git-svn-id: http://core.svn.wordpress.org/trunk@27621 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-27 17:58:15 +00:00
Scott Taylor
0c34f4f136 Make the CSS selector for current playlist item <img> more specific so the width is properly constrained.
Hide the `<audio>` element in the playlist to prevent a flicker when loading - MEjs hides the audio element anyway.

See #27525.


Built from https://develop.svn.wordpress.org/trunk@27742


git-svn-id: http://core.svn.wordpress.org/trunk@27579 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-26 16:51:16 +00:00
Scott Taylor
615dd5331b Unifying media controls and supporting playlists in the editor:
* Support a `caption` attribute for audio and video shortcodes
* In `wp.media.audio|video`, rename `update` to `shortcode` to allow these models to share the same mixins as `wp.media.collection` subclasses
* When sending an audio or video shortcode to the editor, create a default caption if the user hasn't entered one. This currently only displays in the editor, not on the front end. Captions aren't tied to a specific attachment here because external sources are supported.
* In the `wp.mce.media` mixin, in the `edit` method, read `attr` instead of `data` when attempting to parse the encoded shortcode. `data` does not automatically update when the attribute changes. This was a blessing to debug.
* Add `wp.mce.media.PlaylistView` to support playlist views in TinyMCE
* Expose `WPPlaylistView` to global scope and suppress auto-parsing of playlist nodes when in the admin. Allow `WPPlaylistView` to be passed `metadata` on creation instead of requiring a JSON blob to be parsed.
* Remove all of the playlist logic from the `wpgallery` TinyMCE plugin.
* In `wp_prepare_attachment_for_js()` return more data for audio/video so that playlists can have parity in the admin/front end.

See #27320.


Built from https://develop.svn.wordpress.org/trunk@27640


git-svn-id: http://core.svn.wordpress.org/trunk@27483 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-20 13:33:14 +00:00
Scott Taylor
a17dd704c4 Create a new file, media-audiovideo.js, to house all of the audio and video JS code in core.
UX Changes:
* Don't add a menu item for "Add Audio|Video Source"
* In the Audio|Video Details modal, add buttons and some suggestive text for adding alternate playback sources
* Don't show "Create Audio|Video Playlist" menu items until the user has uploaded audio or video files

See #27437.


Built from https://develop.svn.wordpress.org/trunk@27608


git-svn-id: http://core.svn.wordpress.org/trunk@27451 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-19 05:31:15 +00:00
Scott Taylor
e47bc77616 Load MediaElement's CSS when TinyMCE is loaded via $mce_css in editor_settings(). Add some baseline styles in wp-content.css for audio, video, and embed tags to ensure their max-width is 100%, regardless of whether MEjs is implemented in TinyMCE.
See #27389.


Built from https://develop.svn.wordpress.org/trunk@27534


git-svn-id: http://core.svn.wordpress.org/trunk@27377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 12:34:16 +00:00
Scott Taylor
394feb8f91 Add a class, wp-playlist-playing, to the currently loaded track when tracks are displayed. Add some subtle styles for light and dark playlist themes.
See #27321.


Built from https://develop.svn.wordpress.org/trunk@27489


git-svn-id: http://core.svn.wordpress.org/trunk@27333 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-10 00:15:14 +00:00
Scott Taylor
f078f3e10e Video editing in the media modal:
* Add a state: `Add Subititles`
* Add `text/vtt` to the list of allowed mime-types, files end in `.vtt`. `.srt` files are served as `text/plain`.
* The content body of a video shortcode should be used for adding `<track>` elements only. This happens dynamically in the modal. If added by hand, they can still be parsed and managed.

See #27016.


Built from https://develop.svn.wordpress.org/trunk@27481


git-svn-id: http://core.svn.wordpress.org/trunk@27325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 10:32:15 +00:00
Scott Taylor
8e2e99fd0c Since audio and video shortcodes don't point at actual attachments, don't persist the library's selection. Move the media instructions in the block that scrolls.
See #27016.


Built from https://develop.svn.wordpress.org/trunk@27480


git-svn-id: http://core.svn.wordpress.org/trunk@27324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 06:24:15 +00:00
Scott Taylor
f7af18e1d6 Audio/Video shortcodes in the media modal:
* Make a generic model, `wp.media.model.PostMedia`, which replaces `wp.media.model.PostAudio` and `wp.media.model.PostVideo`
* Make a generic library, `wp.media.controller.MediaLibrary`, which replaces `wp.media.controller.ReplaceVideo` and `wp.media.controller.ReplaceAudio`
* `wp.media.controller.MediaLibrary` is used to create new states that want to load a library filtered by type, making it incredibly simple to add states to frames. See `wp.media.view.MediaFrame.VideoDetails` and `wp.media.view.MediaFrame.AudioDetails`.

UX changes:

* Add the ability to manage HTML5 fallbacks - add additional `<source>`s or remove specific `<source>`s
* In the Video Details state, add the ability to select a poster image

See #27016.


Built from https://develop.svn.wordpress.org/trunk@27478


git-svn-id: http://core.svn.wordpress.org/trunk@27322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 05:25:15 +00:00