28
28
}
29
29
} ( this , function ( exports , domEvents , pdfjsLib ) {
30
30
31
+ var EXPAND_DIVS_TIMEOUT = 300 ; // ms
32
+
31
33
/**
32
34
* @typedef {Object } TextLayerBuilderOptions
33
35
* @property {HTMLDivElement } textLayerDiv - The text layer container.
@@ -321,9 +323,16 @@ var TextLayerBuilder = (function TextLayerBuilderClosure() {
321
323
_bindMouse : function TextLayerBuilder_bindMouse ( ) {
322
324
var div = this . textLayerDiv ;
323
325
var self = this ;
326
+ var expandDivsTimer = null ;
324
327
div . addEventListener ( 'mousedown' , function ( e ) {
325
328
if ( self . enhanceTextSelection && self . textLayerRenderTask ) {
326
329
self . textLayerRenderTask . expandTextDivs ( true ) ;
330
+ //#if !(MOZCENTRAL || FIREFOX)
331
+ if ( expandDivsTimer ) {
332
+ clearTimeout ( expandDivsTimer ) ;
333
+ expandDivsTimer = null ;
334
+ }
335
+ //#endif
327
336
return ;
328
337
}
329
338
var end = div . querySelector ( '.endOfContent' ) ;
@@ -350,7 +359,14 @@ var TextLayerBuilder = (function TextLayerBuilderClosure() {
350
359
} ) ;
351
360
div . addEventListener ( 'mouseup' , function ( e ) {
352
361
if ( self . enhanceTextSelection && self . textLayerRenderTask ) {
353
- self . textLayerRenderTask . expandTextDivs ( false ) ;
362
+ //#if !(MOZCENTRAL || FIREFOX)
363
+ expandDivsTimer = setTimeout ( function ( ) {
364
+ self . textLayerRenderTask . expandTextDivs ( false ) ;
365
+ expandDivsTimer = null ;
366
+ } , EXPAND_DIVS_TIMEOUT ) ;
367
+ //#else
368
+ // self.textLayerRenderTask.expandTextDivs(false);
369
+ //#endif
354
370
return ;
355
371
}
356
372
var end = div . querySelector ( '.endOfContent' ) ;
0 commit comments