annotate js/modules/cache.js @ 90:d48599d7a9ae

Fixed a bug where users going from unauthenticated -> authenticated wouldn't see their private bugs unless they hit 'refresh'
author Atul Varma <avarma@mozilla.com>
date Mon, 26 Apr 2010 18:16:56 -0700
parents e3de1fe32f40
children 00d23d6d41b4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
55c1b3647357 cache now uses localstorage
Atul Varma <avarma@mozilla.com>
parents: 47
diff changeset
1 Require.modules["cache"] = function(exports, require) {
78
4bb45ff5788a added repair dialog
Atul Varma <avarma@mozilla.com>
parents: 75
diff changeset
2 const CACHE_NAME = "cache";
4bb45ff5788a added repair dialog
Atul Varma <avarma@mozilla.com>
parents: 75
diff changeset
3
81
e3de1fe32f40 made cache module require 'storage' instead of 'window'
Atul Varma <avarma@mozilla.com>
parents: 78
diff changeset
4 var storage = require("storage");
e3de1fe32f40 made cache module require 'storage' instead of 'window'
Atul Varma <avarma@mozilla.com>
parents: 78
diff changeset
5 var cache = storage.getItem(CACHE_NAME);
66
55c1b3647357 cache now uses localstorage
Atul Varma <avarma@mozilla.com>
parents: 47
diff changeset
6
75
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
7 if (cache)
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
8 cache = JSON.parse(cache);
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
9 else
66
55c1b3647357 cache now uses localstorage
Atul Varma <avarma@mozilla.com>
parents: 47
diff changeset
10 cache = {};
47
0b71df72ebe1 integrated dashboard into main.html.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
11
0b71df72ebe1 integrated dashboard into main.html.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
12 exports.set = function set(key, value) {
0b71df72ebe1 integrated dashboard into main.html.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
13 cache[key] = value;
75
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
14
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
15 // Remove the key first, to get around a strange iPad
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
16 // issue: http://stackoverflow.com/questions/2603682/is-anyone-else-receiving-a-quota-exceeded-err-on-their-ipad-when-accessing-locals
81
e3de1fe32f40 made cache module require 'storage' instead of 'window'
Atul Varma <avarma@mozilla.com>
parents: 78
diff changeset
17 storage.removeItem(CACHE_NAME);
75
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
18
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
19 // TODO: We should really catch QUOTA_EXCEEDED_ERR here,
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
20 // which could be thrown if the user is in private
312d4af344c2 Fixed cache.js for iPad.
Atul Varma <avarma@mozilla.com>
parents: 66
diff changeset
21 // browsing mode.
81
e3de1fe32f40 made cache module require 'storage' instead of 'window'
Atul Varma <avarma@mozilla.com>
parents: 78
diff changeset
22 storage.setItem(CACHE_NAME, JSON.stringify(cache));
47
0b71df72ebe1 integrated dashboard into main.html.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
23 };
78
4bb45ff5788a added repair dialog
Atul Varma <avarma@mozilla.com>
parents: 75
diff changeset
24
47
0b71df72ebe1 integrated dashboard into main.html.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
25 exports.get = function get(key) {
0b71df72ebe1 integrated dashboard into main.html.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
26 return cache[key];
0b71df72ebe1 integrated dashboard into main.html.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
27 };
78
4bb45ff5788a added repair dialog
Atul Varma <avarma@mozilla.com>
parents: 75
diff changeset
28
4bb45ff5788a added repair dialog
Atul Varma <avarma@mozilla.com>
parents: 75
diff changeset
29 exports.clear = function clear() {
81
e3de1fe32f40 made cache module require 'storage' instead of 'window'
Atul Varma <avarma@mozilla.com>
parents: 78
diff changeset
30 storage.removeItem(CACHE_NAME);
78
4bb45ff5788a added repair dialog
Atul Varma <avarma@mozilla.com>
parents: 75
diff changeset
31 cache = {};
4bb45ff5788a added repair dialog
Atul Varma <avarma@mozilla.com>
parents: 75
diff changeset
32 };
47
0b71df72ebe1 integrated dashboard into main.html.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
33 };