| /* | 
 |  * 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 |