Commit Graph

72 Commits

Author SHA1 Message Date
Scott Taylor 952a5c9971 Support chromeless Vimeo via MEjs:
* Bump MediaElement script loader versions to 2.16.2 - missed in [30634], oops!
* Add `Froogaloop` to `js/mediaelement` scripts for Vimeo
* Check for Vimeo in the same locations that YouTube is checked
* Dynamically load Froogaloop script in admin when editing a TinyMCE view
* Edit MediaElement to call `mejs.$.extend` instead of `$.extend` in `mejs.HtmlMediaElementShim.createPlugin()`, since `$` is not available via WP's jQuery (I will report this upstream):
6f9a78e008/src/js/me-shim.js (L631)

Fixes #29267.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-31 20:41:24 +00:00
Scott Taylor f492a8f7dc In response to regressions on .com, fix MEjs styles for screen reader text and overflow on the volume slider.
Props obenland.
See #30281.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30897 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-16 15:13:24 +00:00
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