Ticket #25073: 25073-7.patch
File 25073-7.patch, 1.9 KB (added by , 11 years ago) |
---|
-
src/wp-includes/js/heartbeat.js
34 34 var Heartbeat = function() { 35 35 var $document = $(document), 36 36 settings = { 37 // Used to stop the "beat"38 isRunning: true,37 // Suspend/resume 38 suspended: false, 39 39 40 40 // Current screen id, defaults to the JS global 'pagenow' when present (in the admin) or 'front' 41 41 screenId: '', … … 145 145 focused(); 146 146 }).on( 'unload.wp-heartbeat', function() { 147 147 // Don't connect any more 148 settings.isRunning = false; 148 settings.suspended = true; 149 150 // Abort the last request if not completed 151 if ( settings.xhr && settings.xhr.readyState !== 4 ) { 152 settings.xhr.abort(); 153 } 149 154 }); 150 155 151 156 // Check for user activity every 30 seconds. … … 274 279 275 280 // If the connection to the server is slower than the interval, 276 281 // heartbeat connects as soon as the previous connection's response is received. 277 if ( settings.connecting ) {282 if ( settings.connecting || settings.suspended ) { 278 283 return; 279 284 } 280 285 … … 351 356 var delta = time() - settings.lastTick, 352 357 interval = settings.mainInterval; 353 358 354 if ( ! settings.isRunning) {359 if ( settings.suspended ) { 355 360 return; 356 361 } 357 362 … … 403 408 clearFocusTimers(); 404 409 settings.userActivity = time(); 405 410 411 // Resume if suspended 412 settings.suspended = false; 413 406 414 if ( ! settings.hasFocus ) { 407 415 settings.hasFocus = true; 408 416 scheduleNextTick(); … … 513 521 blurred(); 514 522 } 515 523 524 if ( lastActive > 1800000 ) { 525 // Suspend after 30 min. of inactivity 526 settings.suspended = true; 527 } 528 516 529 if ( ! settings.userActivityEvents ) { 517 530 $document.on( 'mouseover.wp-heartbeat-active keyup.wp-heartbeat-active', function(){ userIsActive(); } ); 518 531