mirror of
https://github.com/jquery/jquery.git
synced 2026-01-23 12:58:20 -05:00
Move Data.prototype.accept => Data.accepts
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
This commit is contained in:
28
src/data.js
28
src/data.js
@@ -15,7 +15,8 @@ var data_user, data_priv,
|
||||
|
||||
function Data() {
|
||||
// Support: Android < 4,
|
||||
// Old WebKit does not have Object.preventExtensions/freeze method, return new empty object instead
|
||||
// Old WebKit does not have Object.preventExtensions/freeze method,
|
||||
// return new empty object instead with no [[set]] accessor
|
||||
Object.defineProperty( this.cache = {}, 0, {
|
||||
get: function() {
|
||||
return {};
|
||||
@@ -27,15 +28,26 @@ function Data() {
|
||||
|
||||
Data.uid = 1;
|
||||
|
||||
Data.accepts = function( owner ) {
|
||||
// Accepts only:
|
||||
// - Node
|
||||
// - Node.ELEMENT_NODE
|
||||
// - Node.DOCUMENT_NODE
|
||||
// - Object
|
||||
// - Any
|
||||
return owner.nodeType ?
|
||||
owner.nodeType === 1 || owner.nodeType === 9 : true;
|
||||
};
|
||||
|
||||
Data.prototype = {
|
||||
key: function( owner ) {
|
||||
// We can accept data for non-element nodes in modern browsers, but we should not, see #8335.
|
||||
// Always return key for "freezed" object for such cases
|
||||
if ( !this.accept( owner ) ) {
|
||||
// We can accept data for non-element nodes in modern browsers,
|
||||
// but we should not, see #8335.
|
||||
// Always return the key for a frozen object.
|
||||
if ( !Data.accepts( owner ) ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
var descriptor = {},
|
||||
// Check if the owner object already has a cache key
|
||||
unlock = owner[ this.expando ];
|
||||
@@ -169,10 +181,6 @@ Data.prototype = {
|
||||
}
|
||||
}
|
||||
},
|
||||
accept: function( owner ) {
|
||||
// Do not set data on non-element because it will not be cleared (#8335).
|
||||
return owner.nodeType ? owner.nodeType === 1 || owner.nodeType === 9 : true;
|
||||
},
|
||||
hasData: function( owner ) {
|
||||
return !jQuery.isEmptyObject(
|
||||
this.cache[ owner[ this.expando ] ] || {}
|
||||
@@ -189,7 +197,7 @@ data_priv = new Data();
|
||||
|
||||
|
||||
jQuery.extend({
|
||||
acceptData: data_user.accept,
|
||||
acceptData: Data.accepts,
|
||||
|
||||
hasData: function( elem ) {
|
||||
return data_user.hasData( elem ) || data_priv.hasData( elem );
|
||||
|
||||
Reference in New Issue
Block a user