jenkins-bot has submitted this change and it was merged.

Change subject: [DEPRECATING CHANGE] core: Deprecate 
add/removeCaptureEventListener
......................................................................


[DEPRECATING CHANGE] core: Deprecate add/removeCaptureEventListener

These were provided to work around IE 8's lack of #attachEvent / #detachEvent, 
which
we no longer support as a library.

Change-Id: I424e01ad945d7ba3bc22c41f0259c55179cb9656
---
M src/ToolGroup.js
M src/core.js
M src/mixins/ButtonElement.js
M src/toolgroups/PopupToolGroup.js
M src/widgets/MenuSelectWidget.js
M src/widgets/PopupWidget.js
M src/widgets/SelectWidget.js
7 files changed, 32 insertions(+), 50 deletions(-)

Approvals:
  Bartosz Dziewoński: Looks good to me, but someone else must approve
  Jforrester: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/src/ToolGroup.js b/src/ToolGroup.js
index 0bbda5b..a0c598c 100644
--- a/src/ToolGroup.js
+++ b/src/ToolGroup.js
@@ -165,8 +165,8 @@
                this.pressed = this.getTargetTool( e );
                if ( this.pressed ) {
                        this.pressed.setActive( true );
-                       OO.ui.addCaptureEventListener( 
this.getElementDocument(), 'mouseup', this.onCapturedMouseKeyUpHandler );
-                       OO.ui.addCaptureEventListener( 
this.getElementDocument(), 'keyup', this.onCapturedMouseKeyUpHandler );
+                       this.getElementDocument().addEventListener( 'mouseup', 
this.onCapturedMouseKeyUpHandler, true );
+                       this.getElementDocument().addEventListener( 'keyup', 
this.onCapturedMouseKeyUpHandler, true );
                }
                return false;
        }
@@ -179,8 +179,8 @@
  * @param {Event} e Mouse up or key up event
  */
 OO.ui.ToolGroup.prototype.onCapturedMouseKeyUp = function ( e ) {
-       OO.ui.removeCaptureEventListener( this.getElementDocument(), 'mouseup', 
this.onCapturedMouseKeyUpHandler );
-       OO.ui.removeCaptureEventListener( this.getElementDocument(), 'keyup', 
this.onCapturedMouseKeyUpHandler );
+       this.getElementDocument().removeEventListener( 'mouseup', 
this.onCapturedMouseKeyUpHandler, true );
+       this.getElementDocument().removeEventListener( 'keyup', 
this.onCapturedMouseKeyUpHandler, true );
        // onMouseKeyUp may be called a second time, depending on where the 
mouse is when the button is
        // released, but since `this.pressed` will no longer be true, the 
second call will be ignored.
        this.onMouseKeyUp( e );
diff --git a/src/core.js b/src/core.js
index 826e0b6..bd20c2f 100644
--- a/src/core.js
+++ b/src/core.js
@@ -245,35 +245,27 @@
 };
 
 /**
- * Proxy for `node.addEventListener( eventName, handler, true )`, if the 
browser supports it.
- * Otherwise falls back to non-capturing event listeners.
+ * Proxy for `node.addEventListener( eventName, handler, true )`.
  *
  * @param {HTMLElement} node
  * @param {string} eventName
  * @param {Function} handler
+ * @deprecated
  */
 OO.ui.addCaptureEventListener = function ( node, eventName, handler ) {
-       if ( node.addEventListener ) {
-               node.addEventListener( eventName, handler, true );
-       } else {
-               node.attachEvent( 'on' + eventName, handler );
-       }
+       node.addEventListener( eventName, handler, true );
 };
 
 /**
- * Proxy for `node.removeEventListener( eventName, handler, true )`, if the 
browser supports it.
- * Otherwise falls back to non-capturing event listeners.
+ * Proxy for `node.removeEventListener( eventName, handler, true )`.
  *
  * @param {HTMLElement} node
  * @param {string} eventName
  * @param {Function} handler
+ * @deprecated
  */
 OO.ui.removeCaptureEventListener = function ( node, eventName, handler ) {
-       if ( node.addEventListener ) {
-               node.removeEventListener( eventName, handler, true );
-       } else {
-               node.detachEvent( 'on' + eventName, handler );
-       }
+       node.removeEventListener( eventName, handler, true );
 };
 
 /**
diff --git a/src/mixins/ButtonElement.js b/src/mixins/ButtonElement.js
index 3ad7045..bfbf20f 100644
--- a/src/mixins/ButtonElement.js
+++ b/src/mixins/ButtonElement.js
@@ -110,7 +110,7 @@
        this.$element.addClass( 'oo-ui-buttonElement-pressed' );
        // Run the mouseup handler no matter where the mouse is when the button 
is let go, so we can
        // reliably remove the pressed class
-       OO.ui.addCaptureEventListener( this.getElementDocument(), 'mouseup', 
this.onMouseUpHandler );
+       this.getElementDocument().addEventListener( 'mouseup', 
this.onMouseUpHandler, true );
        // Prevent change of focus unless specifically configured otherwise
        if ( this.constructor.static.cancelButtonMouseDownEvents ) {
                return false;
@@ -129,7 +129,7 @@
        }
        this.$element.removeClass( 'oo-ui-buttonElement-pressed' );
        // Stop listening for mouseup, since we only needed this once
-       OO.ui.removeCaptureEventListener( this.getElementDocument(), 'mouseup', 
this.onMouseUpHandler );
+       this.getElementDocument().removeEventListener( 'mouseup', 
this.onMouseUpHandler, true );
 };
 
 /**
@@ -160,7 +160,7 @@
        this.$element.addClass( 'oo-ui-buttonElement-pressed' );
        // Run the keyup handler no matter where the key is when the button is 
let go, so we can
        // reliably remove the pressed class
-       OO.ui.addCaptureEventListener( this.getElementDocument(), 'keyup', 
this.onKeyUpHandler );
+       this.getElementDocument().addEventListener( 'keyup', 
this.onKeyUpHandler, true );
 };
 
 /**
@@ -175,7 +175,7 @@
        }
        this.$element.removeClass( 'oo-ui-buttonElement-pressed' );
        // Stop listening for keyup, since we only needed this once
-       OO.ui.removeCaptureEventListener( this.getElementDocument(), 'keyup', 
this.onKeyUpHandler );
+       this.getElementDocument().removeEventListener( 'keyup', 
this.onKeyUpHandler, true );
 };
 
 /**
diff --git a/src/toolgroups/PopupToolGroup.js b/src/toolgroups/PopupToolGroup.js
index b5779cb..80c11f0 100644
--- a/src/toolgroups/PopupToolGroup.js
+++ b/src/toolgroups/PopupToolGroup.js
@@ -168,8 +168,8 @@
        if ( this.active !== value ) {
                this.active = value;
                if ( value ) {
-                       OO.ui.addCaptureEventListener( 
this.getElementDocument(), 'mouseup', this.onBlurHandler );
-                       OO.ui.addCaptureEventListener( 
this.getElementDocument(), 'keyup', this.onBlurHandler );
+                       this.getElementDocument().addEventListener( 'mouseup', 
this.onBlurHandler, true );
+                       this.getElementDocument().addEventListener( 'keyup', 
this.onBlurHandler, true );
 
                        this.$clippable.css( 'left', '' );
                        // Try anchoring the popup to the left first
@@ -197,8 +197,8 @@
                                } );
                        }
                } else {
-                       OO.ui.removeCaptureEventListener( 
this.getElementDocument(), 'mouseup', this.onBlurHandler );
-                       OO.ui.removeCaptureEventListener( 
this.getElementDocument(), 'keyup', this.onBlurHandler );
+                       this.getElementDocument().removeEventListener( 
'mouseup', this.onBlurHandler, true );
+                       this.getElementDocument().removeEventListener( 'keyup', 
this.onBlurHandler, true );
                        this.$element.removeClass(
                                'oo-ui-popupToolGroup-active 
oo-ui-popupToolGroup-left  oo-ui-popupToolGroup-right'
                        );
diff --git a/src/widgets/MenuSelectWidget.js b/src/widgets/MenuSelectWidget.js
index 5ad85dd..4e661ca 100644
--- a/src/widgets/MenuSelectWidget.js
+++ b/src/widgets/MenuSelectWidget.js
@@ -293,12 +293,12 @@
 
                        // Auto-hide
                        if ( this.autoHide ) {
-                               OO.ui.addCaptureEventListener( 
this.getElementDocument(), 'mousedown', this.onDocumentMouseDownHandler );
+                               this.getElementDocument().addEventListener( 
'mousedown', this.onDocumentMouseDownHandler, true );
                        }
                } else {
                        this.unbindKeyDownListener();
                        this.unbindKeyPressListener();
-                       OO.ui.removeCaptureEventListener( 
this.getElementDocument(), 'mousedown', this.onDocumentMouseDownHandler );
+                       this.getElementDocument().removeEventListener( 
'mousedown', this.onDocumentMouseDownHandler, true );
                        this.toggleClipping( false );
                }
        }
diff --git a/src/widgets/PopupWidget.js b/src/widgets/PopupWidget.js
index f3331c0..01d208c 100644
--- a/src/widgets/PopupWidget.js
+++ b/src/widgets/PopupWidget.js
@@ -157,7 +157,7 @@
  */
 OO.ui.PopupWidget.prototype.bindMouseDownListener = function () {
        // Capture clicks outside popup
-       OO.ui.addCaptureEventListener( this.getElementWindow(), 'mousedown', 
this.onMouseDownHandler );
+       this.getElementWindow().addEventListener( 'mousedown', 
this.onMouseDownHandler, true );
 };
 
 /**
@@ -177,7 +177,7 @@
  * @private
  */
 OO.ui.PopupWidget.prototype.unbindMouseDownListener = function () {
-       OO.ui.removeCaptureEventListener( this.getElementWindow(), 'mousedown', 
this.onMouseDownHandler );
+       this.getElementWindow().removeEventListener( 'mousedown', 
this.onMouseDownHandler, true );
 };
 
 /**
@@ -203,7 +203,7 @@
  * @private
  */
 OO.ui.PopupWidget.prototype.bindKeyDownListener = function () {
-       OO.ui.addCaptureEventListener( this.getElementWindow(), 'keydown', 
this.onDocumentKeyDownHandler );
+       this.getElementWindow().addEventListener( 'keydown', 
this.onDocumentKeyDownHandler, true );
 };
 
 /**
@@ -212,7 +212,7 @@
  * @private
  */
 OO.ui.PopupWidget.prototype.unbindKeyDownListener = function () {
-       OO.ui.removeCaptureEventListener( this.getElementWindow(), 'keydown', 
this.onDocumentKeyDownHandler );
+       this.getElementWindow().removeEventListener( 'keydown', 
this.onDocumentKeyDownHandler, true );
 };
 
 /**
diff --git a/src/widgets/SelectWidget.js b/src/widgets/SelectWidget.js
index 1d2b861..8f579ca 100644
--- a/src/widgets/SelectWidget.js
+++ b/src/widgets/SelectWidget.js
@@ -161,16 +161,8 @@
                if ( item && item.isSelectable() ) {
                        this.pressItem( item );
                        this.selecting = item;
-                       OO.ui.addCaptureEventListener(
-                               this.getElementDocument(),
-                               'mouseup',
-                               this.onMouseUpHandler
-                       );
-                       OO.ui.addCaptureEventListener(
-                               this.getElementDocument(),
-                               'mousemove',
-                               this.onMouseMoveHandler
-                       );
+                       this.getElementDocument().addEventListener( 'mouseup', 
this.onMouseUpHandler, true );
+                       this.getElementDocument().addEventListener( 
'mousemove', this.onMouseMoveHandler, true );
                }
        }
        return false;
@@ -198,10 +190,8 @@
                this.selecting = null;
        }
 
-       OO.ui.removeCaptureEventListener( this.getElementDocument(), 'mouseup',
-               this.onMouseUpHandler );
-       OO.ui.removeCaptureEventListener( this.getElementDocument(), 
'mousemove',
-               this.onMouseMoveHandler );
+       this.getElementDocument().removeEventListener( 'mouseup', 
this.onMouseUpHandler, true );
+       this.getElementDocument().removeEventListener( 'mousemove', 
this.onMouseMoveHandler, true );
 
        return false;
 };
@@ -321,7 +311,7 @@
  * @protected
  */
 OO.ui.SelectWidget.prototype.bindKeyDownListener = function () {
-       OO.ui.addCaptureEventListener( this.getElementWindow(), 'keydown', 
this.onKeyDownHandler );
+       this.getElementWindow().addEventListener( 'keydown', 
this.onKeyDownHandler, true );
 };
 
 /**
@@ -330,7 +320,7 @@
  * @protected
  */
 OO.ui.SelectWidget.prototype.unbindKeyDownListener = function () {
-       OO.ui.removeCaptureEventListener( this.getElementWindow(), 'keydown', 
this.onKeyDownHandler );
+       this.getElementWindow().removeEventListener( 'keydown', 
this.onKeyDownHandler, true );
 };
 
 /**
@@ -439,7 +429,7 @@
  * @protected
  */
 OO.ui.SelectWidget.prototype.bindKeyPressListener = function () {
-       OO.ui.addCaptureEventListener( this.getElementWindow(), 'keypress', 
this.onKeyPressHandler );
+       this.getElementWindow().addEventListener( 'keypress', 
this.onKeyPressHandler, true );
 };
 
 /**
@@ -451,7 +441,7 @@
  * @protected
  */
 OO.ui.SelectWidget.prototype.unbindKeyPressListener = function () {
-       OO.ui.removeCaptureEventListener( this.getElementWindow(), 'keypress', 
this.onKeyPressHandler );
+       this.getElementWindow().removeEventListener( 'keypress', 
this.onKeyPressHandler, true );
        this.clearKeyPressBuffer();
 };
 

-- 
To view, visit https://gerrit.wikimedia.org/r/263563
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I424e01ad945d7ba3bc22c41f0259c55179cb9656
Gerrit-PatchSet: 2
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: Bartosz Dziewoński <[email protected]>
Gerrit-Reviewer: Bartosz Dziewoński <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to