You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2012/09/27 17:35:06 UTC
[1/2] ios commit: Change XHR bridge mode to succeed instead of fail.
Updated Branches:
refs/heads/master 1a6093513 -> ca0cb8915
Change XHR bridge mode to succeed instead of fail.
It's 20% slower to use a successful request, but it prevents spamming
the iOS6 web inspector console.
Addresses issue: https://issues.apache.org/jira/browse/CB-1476
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/ca0cb891
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/tree/ca0cb891
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/diff/ca0cb891
Branch: refs/heads/master
Commit: ca0cb89150eaeaa0246981f131acd495794235de
Parents: 0ac47db
Author: Andrew Grieve <ag...@chromium.org>
Authored: Thu Sep 27 09:49:17 2012 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Thu Sep 27 10:02:03 2012 -0400
----------------------------------------------------------------------
CordovaLib/Classes/CDVURLProtocol.m | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/ca0cb891/CordovaLib/Classes/CDVURLProtocol.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVURLProtocol.m b/CordovaLib/Classes/CDVURLProtocol.m
index a9ae519..d14b087 100644
--- a/CordovaLib/Classes/CDVURLProtocol.m
+++ b/CordovaLib/Classes/CDVURLProtocol.m
@@ -86,7 +86,9 @@ static NSMutableSet* gRegisteredControllers = nil;
[viewController performSelectorOnMainThread:@selector(flushCommandQueue) withObject:nil waitUntilDone:NO];
}
}
- return NO;
+ // Returning NO here would be 20% faster, but it spams WebInspector's console with failure messages.
+ // If JS->Native bridge speed is really important for an app, they should use the iframe bridge.
+ return YES;
}
// we only care about http and https connections
@@ -108,6 +110,12 @@ static NSMutableSet* gRegisteredControllers = nil;
{
// NSLog(@"%@ received %@ - start", self, NSStringFromSelector(_cmd));
NSURL* url = [[self request] URL];
+
+ if ([[url path] isEqualToString:@"/!gap_exec"]) {
+ [[self client] URLProtocolDidFinishLoading:self];
+ return;
+ }
+
NSString* body = [gWhitelist errorStringForURL:url];
CDVHTTPURLResponse* response = [[CDVHTTPURLResponse alloc] initWithUnauthorizedURL:url];