blob: 8798ada266c110b43de5fb23a497a17f963b67c8 [file] [log] [blame]
/*
* Copyright 2008 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
#import "SlowScriptProxy.h"
@implementation SlowScriptProxy
- (id)initWithWebView:(WebView*)webView {
_target = [[webView UIDelegate] retain];
_webView = [webView retain];
[_webView setUIDelegate:self];
return self;
}
- (void)dealloc {
// Restore the original delegate
[_webView setUIDelegate:_target];
[_webView release];
[_target release];
[super dealloc];
}
- (void)forwardInvocation:(NSInvocation *)anInvocation {
[anInvocation setTarget:_target];
[anInvocation invoke];
}
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector {
return [_target methodSignatureForSelector:aSelector];
}
- (WebView*)webView {
return _webView;
}
- (BOOL)webViewShouldInterruptJavaScript:(WebView *)sender {
// TODO: (robertvawter) What do we want to do with repeated invocations?
return NO;
}
@end