WordPress.org

Make WordPress Core

Ticket #23295: 23295-11.patch

File 23295-11.patch, 2.8 KB (added by azaozz, 9 months ago)
  • wp-includes/js/wp-auth-check.js

     
    11// Interim login dialog 
    22(function($){ 
    3         var wrap, check, scheduleTimeout, hideTimeout; 
     3        var wrap, check, scheduleTimeout; 
    44 
    55        function show() { 
    66                var parent = $('#wp-auth-check'), form = $('#wp-auth-check-form'), noframe = wrap.find('.wp-auth-fallback-expired'), frame, loaded = false; 
     
    2222                                        height = body.height(); 
    2323                                } catch(e) { 
    2424                                        wrap.addClass('fallback'); 
     25                                        parent.css( 'max-height', '' ); 
    2526                                        form.remove(); 
    2627                                        noframe.focus(); 
    2728                                        return; 
     
    2829                                } 
    2930 
    3031                                if ( height ) { 
    31                                         if ( body && body.hasClass('interim-login-success') ) { 
    32                                                 height += 35; 
    33                                                 parent.find('.wp-auth-check-close').show(); 
    34                                                 wrap.data('logged-in', 1); 
    35                                                 hideTimeout = setTimeout( function() { hide(); }, 3000 ); 
    36                                         } 
    37  
    38                                         parent.css( 'max-height', height + 60 + 'px' ); 
     32                                        if ( body && body.hasClass('interim-login-success') ) 
     33                                                hide(); 
     34                                        else 
     35                                                parent.css( 'max-height', height + 60 + 'px' ); 
     36                                } else if ( ! body || ! body.length ) { 
     37                                        // Catch "silent" iframe origin exceptions in WebKit after another page is loaded in the iframe 
     38                                        wrap.addClass('fallback'); 
     39                                        parent.css( 'max-height', '' ); 
     40                                        form.remove(); 
     41                                        noframe.focus(); 
    3942                                } 
    4043                        }).attr( 'src', form.data('src') ); 
    4144 
     
    4750                if ( frame ) { 
    4851                        frame.focus(); 
    4952                        // WebKit doesn't throw an error if the iframe fails to load because of "X-Frame-Options: DENY" header. 
    50                         // Wait for 5 sec. and switch to the fallback text. 
     53                        // Wait for 10 sec. and switch to the fallback text. 
    5154                        setTimeout( function() { 
    5255                                if ( ! loaded ) { 
    5356                                        wrap.addClass('fallback'); 
     
    5457                                        form.remove(); 
    5558                                        noframe.focus(); 
    5659                                } 
    57                         }, 5000 ); 
     60                        }, 10000 ); 
    5861                } else { 
    5962                        noframe.focus(); 
    6063                } 
     
    6265 
    6366        function hide() { 
    6467                $(window).off( 'beforeunload.wp-auth-check' ); 
    65                 window.clearTimeout( hideTimeout ); 
    6668 
    6769                // When on the Edit Post screen, speed up heartbeat after the user logs in to quickly refresh nonces 
    6870                if ( typeof adminpage != 'undefined' && ( adminpage == 'post-php' || adminpage == 'post-new-php' ) 
     
    8991 
    9092                if ( data['wp-auth-check'] && wrap.hasClass('hidden') ) { 
    9193                        show(); 
    92                 } else if ( ! data['wp-auth-check'] && ! wrap.hasClass('hidden') && ! wrap.data('logged-in') ) { 
     94                } else if ( ! data['wp-auth-check'] && ! wrap.hasClass('hidden') ) { 
    9395                        hide(); 
    9496                } 
    9597        }).ready( function() { 
    9698                schedule(); 
    97                 wrap = $('#wp-auth-check-wrap').data( 'logged-in', 0 ); 
     99                wrap = $('#wp-auth-check-wrap'); 
    98100                wrap.find('.wp-auth-check-close').on( 'click', function(e) { 
    99101                        hide(); 
    100102                });