Index: chrome/browser/resources/shared/js/util.js |
diff --git a/chrome/browser/resources/shared/js/util.js b/chrome/browser/resources/shared/js/util.js |
index c77fc3434d9707811ceb8520443361bfc1e7c5a9..5537a6de6dd787d7616e53013a4307638ffbe6a1 100644 |
--- a/chrome/browser/resources/shared/js/util.js |
+++ b/chrome/browser/resources/shared/js/util.js |
@@ -107,18 +107,24 @@ function swapDomNodes(a, b) { |
} |
/** |
- * Disables text selection and dragging. |
+ * Disables text selection and dragging, with optional whitelist callbacks. |
+ * @param {function(Event):boolean=} opt_allowSelectStart If this function is |
+ * defined and returns true, will allow the SelectStart event to be processed |
Dan Beam
2012/07/25 01:07:49
nit: you need a subject in this sentence and need
|
+ * @param {function(Event):boolean=} opt_allowDragStart If this funcion is |
+ * defined and returns true, will allow the DragStart event to be processed |
*/ |
-function disableTextSelectAndDrag() { |
+function disableTextSelectAndDrag(opt_allowSelectStart, opt_allowDragStart) { |
// Disable text selection. |
document.onselectstart = function(e) { |
- e.preventDefault(); |
- } |
+ if (!(opt_allowSelectStart && opt_allowSelectStart.call(this, e))) |
+ e.preventDefault(); |
+ }; |
// Disable dragging. |
document.ondragstart = function(e) { |
- e.preventDefault(); |
- } |
+ if (!(opt_allowDragStart && opt_allowDragStart.call(this, e))) |
+ e.preventDefault(); |
+ }; |
} |
/** |