Core: Deprecate jQuery.isWindow

Fixes gh-3629
Close gh-3702
This commit is contained in:
Shashanka Nataraj
2017-06-23 04:14:43 +00:00
committed by Timmy Willison
parent 490db839fb
commit c18d608537
9 changed files with 45 additions and 40 deletions

View File

@@ -16,10 +16,11 @@ define( [
"./var/fnToString",
"./var/ObjectFunctionString",
"./var/support",
"./var/isWindow",
"./core/DOMEval"
], function( arr, document, getProto, slice, concat, push, indexOf,
class2type, toString, hasOwn, fnToString, ObjectFunctionString,
support, DOMEval ) {
support, isWindow, DOMEval ) {
"use strict";
@@ -220,10 +221,6 @@ jQuery.extend( {
return typeof obj === "function" && typeof obj.nodeType !== "number";
},
isWindow: function( obj ) {
return obj != null && obj === obj.window;
},
isNumeric: function( obj ) {
// As of jQuery 3.0, isNumeric is limited to
@@ -469,7 +466,7 @@ function isArrayLike( obj ) {
var length = !!obj && "length" in obj && obj.length,
type = jQuery.type( obj );
if ( jQuery.isFunction( obj ) || jQuery.isWindow( obj ) ) {
if ( jQuery.isFunction( obj ) || isWindow( obj ) ) {
return false;
}

View File

@@ -1,7 +1,8 @@
define( [
"./core",
"./core/nodeName"
], function( jQuery, nodeName ) {
"./core/nodeName",
"./var/isWindow"
], function( jQuery, nodeName, isWindow ) {
"use strict";
@@ -36,5 +37,6 @@ jQuery.holdReady = function( hold ) {
jQuery.isArray = Array.isArray;
jQuery.parseJSON = JSON.parse;
jQuery.nodeName = nodeName;
jQuery.isWindow = isWindow;
} );

View File

@@ -1,8 +1,9 @@
define( [
"./core",
"./core/access",
"./var/isWindow",
"./css"
], function( jQuery, access ) {
], function( jQuery, access, isWindow ) {
"use strict";
@@ -19,7 +20,7 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
return access( this, function( elem, type, value ) {
var doc;
if ( jQuery.isWindow( elem ) ) {
if ( isWindow( elem ) ) {
// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
return funcName.indexOf( "outer" ) === 0 ?

View File

@@ -4,9 +4,9 @@ define( [
"../data/var/dataPriv",
"../data/var/acceptData",
"../var/hasOwn",
"../var/isWindow",
"../event"
], function( jQuery, document, dataPriv, acceptData, hasOwn ) {
], function( jQuery, document, dataPriv, acceptData, hasOwn, isWindow ) {
"use strict";
@@ -76,7 +76,7 @@ jQuery.extend( jQuery.event, {
// Determine event propagation path in advance, per W3C events spec (#9951)
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
bubbleType = special.delegateType || type;
if ( !rfocusMorph.test( bubbleType + type ) ) {
@@ -128,7 +128,7 @@ jQuery.extend( jQuery.event, {
// Call a native DOM method on the target with the same name as the event.
// Don't do default actions on window, that's where global variables be (#6170)
if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
if ( ontype && jQuery.isFunction( elem[ type ] ) && !isWindow( elem ) ) {
// Don't re-trigger an onFOO event when we call its FOO() method
tmp = elem[ ontype ];

View File

@@ -7,12 +7,12 @@ define( [
"./css/curCSS",
"./css/addGetHookIf",
"./css/support",
"./var/isWindow",
"./core/init",
"./css",
"./selector" // contains
], function( jQuery, access, document, documentElement, rnumnonpx,
curCSS, addGetHookIf, support ) {
curCSS, addGetHookIf, support, isWindow ) {
"use strict";
@@ -186,7 +186,7 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
// Coalesce documents and windows
var win;
if ( jQuery.isWindow( elem ) ) {
if ( isWindow( elem ) ) {
win = elem;
} else if ( elem.nodeType === 9 ) {
win = elem.defaultView;

8
src/var/isWindow.js Normal file
View File

@@ -0,0 +1,8 @@
define( function() {
"use strict";
return function isWindow( obj ) {
return obj != null && obj === obj.window;
};
} );