Upgrade jStorage to v0.4.12
authorpaladox <thomasmulhall410@yahoo.com>
Sat, 6 Sep 2014 12:54:30 +0000 (12:54 +0000)
committerTimo Tijhof <krinklemail@gmail.com>
Wed, 15 Oct 2014 02:15:18 +0000 (04:15 +0200)
Project site

* http://www.jstorage.info/ and https://github.com/andris9/jStorage/tree/v0.4.12

jquery.jStorage.js file

* https://github.com/andris9/jStorage/blob/v0.4.12/jstorage.js

Author and contact

* Andris Reinman and email andris.reinman@gmail.com

README

* https://github.com/andris9/jStorage/blob/v0.4.12/README.md

Upgrading from 0.4.10 to 0.4.12.

Change-Id: I62899c8a2a7b9b2ae5b0f4b6ec06ee24cb966806

RELEASE-NOTES-1.25
resources/lib/jquery/jquery.jStorage.js

index 8c5a716..2d5e7f4 100644 (file)
@@ -24,6 +24,7 @@ production.
 * (bug 67341) SVG images will no longer be base64-encoded when being embedded
   in CSS. This results in slight size increase before gzip compression (due to
   percent-encoding), but up to 20% decrease after it.
+* Upgrade jStorage to v0.4.12.
 
 === Bug fixes in 1.25 ===
 * (bug 71003) No additional code will be generated to try to load CSS-embedded
index cc11aed..45e19ac 100644 (file)
  * For more information, please refer to <http://unlicense.org/>
  */
 
+/* global ActiveXObject: false */
+/* jshint browser: true */
+
 (function() {
     'use strict';
 
     var
     /* jStorage version */
-        JSTORAGE_VERSION = '0.4.10',
+        JSTORAGE_VERSION = '0.4.12',
 
         /* detect a dollar object or create one if not found */
         $ = window.jQuery || window.$ || (window.$ = {}),
@@ -58,7 +61,7 @@
         };
 
     // Break if no JSON support was found
-    if (!('parse' in JSON) || !('stringify' in JSON)) {
+    if (typeof JSON.parse !== 'function' || typeof JSON.stringify !== 'function') {
         throw new Error('No JSON support found, include //cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js to page');
     }
 
             return;
         }
         var pubelm,
-            _pubsubCurrent = _pubsub_last;
+            _pubsubCurrent = _pubsub_last,
+            needFired = [];
 
         for (i = len = _storage.__jstorage_meta.PubSub.length - 1; i >= 0; i--) {
             pubelm = _storage.__jstorage_meta.PubSub[i];
             if (pubelm[0] > _pubsub_last) {
                 _pubsubCurrent = pubelm[0];
-                _fireSubscribers(pubelm[1], pubelm[2]);
+                needFired.unshift(pubelm);
             }
         }
 
+        for (i = needFired.length - 1; i >= 0; i--) {
+            _fireSubscribers(needFired[i][1], needFired[i][2]);
+        }
+
         _pubsub_last = _pubsubCurrent;
     }
 
         switch (l) {
             case 3:
                 h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
+                /* falls through */
             case 2:
                 h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
+                /* falls through */
             case 1:
                 h ^= (str.charCodeAt(i) & 0xff);
                 h = (((h & 0xffff) * 0x5bd1e995) + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16));
     // Initialize jStorage
     _init();
 
-})();
\ No newline at end of file
+})();