diff options
author | suVene | 2008-12-21 17:06:19 +0000 |
---|---|---|
committer | suVene | 2008-12-21 17:06:19 +0000 |
commit | f8caa390332bd7554c49b071e2d7706b39dd62e1 (patch) | |
tree | eec68724316230073e165ffce67d0bc5b14d29b6 /notifier.js | |
parent | 37c53b0030815c1977aa9bbde13ca03c4a2a29b1 (diff) | |
download | vimperator-plugins-f8caa390332bd7554c49b071e2d7706b39dd62e1.tar.bz2 |
* shutdown 時の timer cleanup.
* document.unload 時の interval cleanup.
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@27175 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'notifier.js')
-rw-r--r-- | notifier.js | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/notifier.js b/notifier.js index ea9bbf2..779d91d 100644 --- a/notifier.js +++ b/notifier.js @@ -5,7 +5,7 @@ var PLUGIN_INFO = <description>change notice framework.</description> <description lang="ja">変更通知フレームワーク。</description> <author mail="suvene@zeromemory.info" homepage="http://zeromemory.sblo.jp/">suVene</author> - <version>0.1.3</version> + <version>0.1.4</version> <minVersion>2.0pre</minVersion> <maxVersion>2.0pre</maxVersion> <updateURL>http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/notifier.js</updateURL> @@ -193,7 +193,8 @@ function bootstrap() { __initialize__: function(args) { $U.extend(this, args); if (typeof this.initialize == 'function') this.initialize(); - } + }, + shutdown: function() {} };//}}} var Subject = function() {//{{{ @@ -222,7 +223,8 @@ function bootstrap() { } }); }, - check: function() { throw 'needs override.' } + check: function() { throw 'needs override.' }, + shutdown: function() {} };//}}} var SubjectHttp = Subject;//{{{ @@ -323,6 +325,8 @@ function bootstrap() { this.subjects.getPlugins().forEach(function(s) s.attach(o)); })); + liberator.registerObserver("shutdown", $U.bind(this, function() this.stop())); + this.isBusy = false; },//}}} start: function() {//{{{ @@ -373,6 +377,8 @@ function bootstrap() { if (typeof finallycallback == 'function') finallycallback(); return; } + this.subjects.getPlugins().forEach(function(s) s.shutdown()); + this.observers.getPlugins().forEach(function(o) o.shutdown()); this.finallycallback = finallycallback; this.timer = false; }//}}} |