Skip to content

Commit 1564dc3

Browse files
Merge pull request mozilla#7618 from jeremypress/fix-enhanced-double-click
fixing mozilla#7590 by delaying div shrink after mouse up
2 parents 8699145 + e68f4f8 commit 1564dc3

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

web/text_layer_builder.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
}
2929
}(this, function (exports, domEvents, pdfjsLib) {
3030

31+
var EXPAND_DIVS_TIMEOUT = 300; // ms
32+
3133
/**
3234
* @typedef {Object} TextLayerBuilderOptions
3335
* @property {HTMLDivElement} textLayerDiv - The text layer container.
@@ -321,9 +323,16 @@ var TextLayerBuilder = (function TextLayerBuilderClosure() {
321323
_bindMouse: function TextLayerBuilder_bindMouse() {
322324
var div = this.textLayerDiv;
323325
var self = this;
326+
var expandDivsTimer = null;
324327
div.addEventListener('mousedown', function (e) {
325328
if (self.enhanceTextSelection && self.textLayerRenderTask) {
326329
self.textLayerRenderTask.expandTextDivs(true);
330+
//#if !(MOZCENTRAL || FIREFOX)
331+
if (expandDivsTimer) {
332+
clearTimeout(expandDivsTimer);
333+
expandDivsTimer = null;
334+
}
335+
//#endif
327336
return;
328337
}
329338
var end = div.querySelector('.endOfContent');
@@ -350,7 +359,14 @@ var TextLayerBuilder = (function TextLayerBuilderClosure() {
350359
});
351360
div.addEventListener('mouseup', function (e) {
352361
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
354370
return;
355371
}
356372
var end = div.querySelector('.endOfContent');

0 commit comments

Comments
 (0)