aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRick Waldron <waldron.rick@gmail.com>2013-04-08 15:26:05 -0400
committerRick Waldron <waldron.rick@gmail.com>2013-04-08 15:37:16 -0400
commitd7d6b7a5c7992834fcd4d4b01eda87169704f032 (patch)
tree3481cdd0d600b3994590d43177464f2e80251343
parent58a75a583bfe7ce49dc1a39f19d7ff0e3a4b7b67 (diff)
downloadjquery-d7d6b7a5c7992834fcd4d4b01eda87169704f032.tar.gz
jquery-d7d6b7a5c7992834fcd4d4b01eda87169704f032.zip
Move Data.prototype.accept => Data.accepts
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
-rw-r--r--src/data.js28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/data.js b/src/data.js
index 45d6ed052..ee4c7b3b7 100644
--- a/src/data.js
+++ b/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 );