summaryrefslogtreecommitdiff
path: root/tt-rss.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2009-02-02 15:02:10 +0300
committerAndrew Dolgov <[email protected]>2009-02-02 15:02:10 +0300
commitfb456d28f227f4bd903c7ec736425ba64a5700f3 (patch)
tree42b37c34790d88f792f1b0929e71d38ec7fcddba /tt-rss.js
parent3e2f2a0b7d1133627fce5c35f4aeb4ba39f5a3eb (diff)
experimental gears cache work
Diffstat (limited to 'tt-rss.js')
-rw-r--r--tt-rss.js40
1 files changed, 39 insertions, 1 deletions
diff --git a/tt-rss.js b/tt-rss.js
index 17e33bf85..d49eaa6be 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -19,6 +19,10 @@ var ver_offset = 0;
var hor_offset = 0;
var feeds_sort_by_unread = false;
var feedlist_sortable_enabled = false;
+var offline_mode = false;
+var store = false;
+var localServer = false;
+var db = false;
function activeFeedIsCat() {
return _active_feed_is_cat;
@@ -131,7 +135,11 @@ function backend_sanity_check_callback(transport) {
}
if (!transport.responseXML) {
- fatalError(3, "Sanity check: Received reply is not XML", transport.responseText);
+ if (!google.gears) {
+ fatalError(3, "Sanity check: Received reply is not XML", transport.responseText);
+ } else {
+ init_offline();
+ }
return;
}
@@ -369,6 +377,8 @@ function init() {
if (arguments.callee.done) return;
arguments.callee.done = true;
+ init_gears();
+
disableContainerChildren("headlinesToolbar", true);
Form.disable("main_toolbar_form");
@@ -1451,3 +1461,31 @@ function feedBrowserSubscribe() {
}
}
+function init_gears() {
+ try {
+
+ if (google.gears) {
+ localServer = google.gears.factory.create("beta.localserver");
+ store = localServer.createManagedStore("tt-rss");
+ db = google.gears.factory.create('beta.database');
+ db.open('tt-rss');
+
+ db.execute("CREATE TABLE IF NOT EXISTS cache (id text, article text, param text, added text)");
+ }
+
+ } catch (e) {
+ exception_error("init_gears", e);
+ }
+}
+
+function init_offline() {
+ try {
+ offline_mode = true;
+
+ remove_splash();
+
+ } catch (e) {
+ exception_error("init_offline", e);
+ }
+}
+