You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by br...@apache.org on 2012/09/21 17:37:18 UTC

[2/2] ios commit: Add onReset() to plugins on iOS.

Add onReset() to plugins on iOS.


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/commit/4fe0e8b2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/tree/4fe0e8b2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/diff/4fe0e8b2

Branch: refs/heads/master
Commit: 4fe0e8b291c2bae6509f7c5df4c1b5900b1c8894
Parents: 1dd9b33
Author: Braden Shepherdson <br...@chromium.org>
Authored: Fri Sep 21 11:31:23 2012 -0400
Committer: Braden Shepherdson <br...@chromium.org>
Committed: Fri Sep 21 11:31:23 2012 -0400

----------------------------------------------------------------------
 CordovaLib/Classes/CDVPlugin.h         |    2 ++
 CordovaLib/Classes/CDVPlugin.m         |   14 ++++++++++++--
 CordovaLib/Classes/CDVViewController.m |    1 +
 3 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/4fe0e8b2/CordovaLib/Classes/CDVPlugin.h
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVPlugin.h b/CordovaLib/Classes/CDVPlugin.h
index edb8b6f..2af034f 100644
--- a/CordovaLib/Classes/CDVPlugin.h
+++ b/CordovaLib/Classes/CDVPlugin.h
@@ -24,6 +24,7 @@
 #import "CDVCommandDelegate.h"
 
 #define CDVPluginHandleOpenURLNotification	@"CDVPluginHandleOpenURLNotification"
+#define CDVPluginResetNotification @"CDVPluginResetNotification"
 
 @interface CDVPlugin : NSObject {
 }
@@ -41,6 +42,7 @@
 - (void) handleOpenURL:(NSNotification*)notification;
 - (void) onAppTerminate;
 - (void) onMemoryWarning;
+- (void) onReset;
 
 /*
  // see initWithWebView implementation

http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/4fe0e8b2/CordovaLib/Classes/CDVPlugin.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVPlugin.m b/CordovaLib/Classes/CDVPlugin.m
index c14f72c..ea813cf 100644
--- a/CordovaLib/Classes/CDVPlugin.m
+++ b/CordovaLib/Classes/CDVPlugin.m
@@ -47,7 +47,9 @@
 		[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onAppTerminate) name:UIApplicationWillTerminateNotification object:nil];
 		[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onMemoryWarning) name:UIApplicationDidReceiveMemoryWarningNotification object:nil];
 		[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleOpenURL:) name:CDVPluginHandleOpenURLNotification object:nil];
-        
+		[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onReset) name:CDVPluginResetNotification object:nil];
+
+		NSLog(@"Plugin loaded");
 		self.webView = theWebView;
 		
 		// You can listen to more app notifications, see:
@@ -74,6 +76,7 @@
 /* NOTE: calls into JavaScript must not call or trigger any blocking UI, like alerts */
 - (void) handleOpenURL:(NSNotification*)notification
 {
+	NSLog(@"handleOpenURL");
 	// override to handle urls sent to your app
 	// register your url schemes in your App-Info.plist
 	
@@ -94,11 +97,18 @@
 	// override to remove caches, etc
 }
 
+- (void) onReset
+{
+	// Override to cancel any long-running requests when the WebView navigates or refreshes.
+}
+
 - (void) dealloc
 {
 	[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillTerminateNotification object:nil];
 	[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidReceiveMemoryWarningNotification object:nil];
 	[[NSNotificationCenter defaultCenter] removeObserver:self name:CDVPluginHandleOpenURLNotification object:nil];
+	[[NSNotificationCenter defaultCenter] removeObserver:self name:CDVPluginResetNotification object:nil];
+
 	/*
 	 [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil];
 	 [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillEnterForegroundNotification object:nil];
@@ -127,4 +137,4 @@
 	return [self writeJavascript:[NSString stringWithFormat:@"setTimeout(function() { %@; }, 0);", [pluginResult toErrorCallbackString:callbackId]]];
 }
 
-@end
\ No newline at end of file
+@end

http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/4fe0e8b2/CordovaLib/Classes/CDVViewController.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVViewController.m b/CordovaLib/Classes/CDVViewController.m
index f7a2054..027c05b 100644
--- a/CordovaLib/Classes/CDVViewController.m
+++ b/CordovaLib/Classes/CDVViewController.m
@@ -477,6 +477,7 @@
  */
 - (void) webViewDidStartLoad:(UIWebView*)theWebView 
 {
+    [[NSNotificationCenter defaultCenter] postNotification:[NSNotification notificationWithName:CDVPluginResetNotification object:nil]];
 }
 
 /**