WordPress.org

Make WordPress Core

Ticket #40977: 40977.1.diff

File 40977.1.diff, 2.3 KB (added by timmydcrawford, 2 years ago)
  • src/wp-includes/media.php

     
    25562556                } elseif ( $is_vimeo ) {
    25572557                        // Remove all query arguments and force SSL - see #40866.
    25582558                        $parsed_vimeo_url = wp_parse_url( $atts['src'] );
    2559                         $atts['src'] = 'https://' . $parsed_vimeo_url['host'] . $parsed_vimeo_url['path'];
     2559                        $vimeo_src = 'https://' . $parsed_vimeo_url['host'] . $parsed_vimeo_url['path'];
     2560
     2561                        // Add loop param for mejs bug - see #40977, not needed after #39686.
     2562                        $loop = $atts['loop'] ? '1' : '0';
     2563                        $atts['src'] = add_query_arg( 'loop', $loop, $vimeo_src );
    25602564                }
    25612565        }
    25622566
  • src/wp-includes/widgets/class-wp-widget-media-video.php

     
    115115                        $attachment = get_post( $instance['attachment_id'] );
    116116                }
    117117
     118                $src = $instance['url'];
    118119                if ( $attachment ) {
    119120                        $src = wp_get_attachment_url( $attachment->ID );
    120                 } else {
    121 
    122                         // Manually add the loop query argument.
    123                         $loop = $instance['loop'] ? '1' : '0';
    124                         $src = empty( $instance['url'] ) ? $instance['url'] : add_query_arg( 'loop', $loop, $instance['url'] );
    125121                }
    126122
    127123                if ( empty( $src ) ) {
  • tests/phpunit/tests/media.php

     
    761761        }
    762762
    763763        /**
     764         * @ticket 40977
     765         * @depends test_video_shortcode_body
     766         */
     767        function test_wp_video_shortcode_vimeo_adds_loop() {
     768                $actual = wp_video_shortcode( array(
     769                        'src' => 'http://vimeo.com/190372437',
     770                ) );
     771
     772                $this->assertContains( 'src="https://vimeo.com/190372437?loop=0', $actual );
     773        }
     774
     775        /**
     776         * @ticket 40977
     777         * @depends test_video_shortcode_body
     778         */
     779        function test_wp_video_shortcode_vimeo_force_adds_loop_true() {
     780                $actual = wp_video_shortcode( array(
     781                        'src' => 'http://vimeo.com/190372437',
     782                        'loop' => true,
     783                ) );
     784
     785                $this->assertContains( 'src="https://vimeo.com/190372437?loop=1', $actual );
     786        }
     787
     788        /**
    764789         * Test [video] shortcode processing
    765790         *
    766791         */