debounce messages from notes -> main window, fixes #3147
This commit is contained in:
		
							
								
								
									
										2
									
								
								dist/reveal.esm.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/reveal.esm.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/reveal.esm.js.map
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/reveal.esm.js.map
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/reveal.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/reveal.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/reveal.js.map
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/reveal.js.map
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -5,7 +5,7 @@ export default class Location { | |||||||
|  |  | ||||||
| 	// The minimum number of milliseconds that must pass between | 	// The minimum number of milliseconds that must pass between | ||||||
| 	// calls to history.replaceState | 	// calls to history.replaceState | ||||||
| 	MAX_REPLACE_STATE_FREQUENCY = 250 | 	MAX_REPLACE_STATE_FREQUENCY = 1000 | ||||||
|  |  | ||||||
| 	constructor( Reveal ) { | 	constructor( Reveal ) { | ||||||
|  |  | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -403,13 +403,21 @@ | |||||||
| 						} | 						} | ||||||
| 						else if( /slidechanged|fragmentshown|fragmenthidden|paused|resumed/.test( data.eventName ) && currentState !== JSON.stringify( data.state ) ) { | 						else if( /slidechanged|fragmentshown|fragmenthidden|paused|resumed/.test( data.eventName ) && currentState !== JSON.stringify( data.state ) ) { | ||||||
|  |  | ||||||
| 							window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ]} ), '*' ); | 							dispatchStateToMainWindow( data.state ); | ||||||
|  |  | ||||||
| 						} | 						} | ||||||
| 					} | 					} | ||||||
|  |  | ||||||
| 				} ); | 				} ); | ||||||
|  |  | ||||||
|  | 				/** | ||||||
|  | 				 * Updates the presentation in the main window to match the state | ||||||
|  | 				 * of the presentation in the notes window. | ||||||
|  | 				 */ | ||||||
|  | 				const dispatchStateToMainWindow = debounce(( state ) => { | ||||||
|  | 					window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ state ]} ), '*' ); | ||||||
|  | 				}, 500); | ||||||
|  |  | ||||||
| 				/** | 				/** | ||||||
| 				 * Asynchronously calls the Reveal.js API of the main frame. | 				 * Asynchronously calls the Reveal.js API of the main frame. | ||||||
| 				 */ | 				 */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user