From 0b9100009ec1b142ae2a5ad2cb7b06ac515aaa4c Mon Sep 17 00:00:00 2001 From: Daniel Ramos Date: Fri, 21 Oct 2016 10:56:42 -0700 Subject: [PATCH 1/2] Event: Fixing memory leak for IE when an event is added --- src/event.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/event.js b/src/event.js index ab2c63cd19..0d0df80c59 100644 --- a/src/event.js +++ b/src/event.js @@ -214,6 +214,9 @@ jQuery.event = { jQuery.event.global[ type ] = true; } + eventHandle = undefined; + elemData = undefined; + }, // Detach an event or set of events from an element From 8d49cdaad89b65f140363e9fca99992e4a8e9ecd Mon Sep 17 00:00:00 2001 From: Daniel Ramos Date: Mon, 24 Oct 2016 11:30:00 -0700 Subject: [PATCH 2/2] CSS:Support: Clean up memory leak in computeStyleTests --- src/css/support.js | 7 +++++++ src/event.js | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/css/support.js b/src/css/support.js index 883d0e53ef..067ab2af3e 100644 --- a/src/css/support.js +++ b/src/css/support.js @@ -43,6 +43,7 @@ define( [ // Nullify the div so it wouldn't be stored in the memory and // it will also be a sign that checks already performed div = null; + container = null; } var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, @@ -51,6 +52,8 @@ define( [ // Finish early in limited (non-browser) environments if ( !div.style ) { + container = null; + div = null; return; } @@ -67,18 +70,22 @@ define( [ jQuery.extend( support, { pixelPosition: function() { computeStyleTests(); + div = null; return pixelPositionVal; }, boxSizingReliable: function() { computeStyleTests(); + div = null; return boxSizingReliableVal; }, pixelMarginRight: function() { computeStyleTests(); + div = null; return pixelMarginRightVal; }, reliableMarginLeft: function() { computeStyleTests(); + div = null; return reliableMarginLeftVal; } } ); diff --git a/src/event.js b/src/event.js index 0d0df80c59..271d1efc4b 100644 --- a/src/event.js +++ b/src/event.js @@ -214,8 +214,9 @@ jQuery.event = { jQuery.event.global[ type ] = true; } - eventHandle = undefined; - elemData = undefined; + // Nullify the eventHandle so it wouldn't be stored in the memory + eventHandle = null; + elemData = null; },