18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2007 Apple Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * its contributors may be used to endorse or promote products derived 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * from this software without specific prior written permission. 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import "WebInspector.h" 30231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import "WebFrameInternal.h" 32231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#import "WebInspectorPrivate.h" 33f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick#import "WebInspectorFrontend.h" 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/Document.h> 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/Frame.h> 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/InspectorController.h> 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/Page.h> 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectusing namespace WebCore; 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@implementation WebInspector 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (id)initWithWebView:(WebView *)webView 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!(self = [super init])) 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return nil; 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project _webView = webView; // not retained to prevent a cycle 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return self; 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 51f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick- (void)dealloc 52f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick{ 53f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick [_frontend release]; 54f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick [super dealloc]; 55f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick} 56f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)webViewClosed 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project _webView = nil; 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)show:(id)sender 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (Page* page = core(_webView)) 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project page->inspectorController()->show(); 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)showConsole:(id)sender 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (Page* page = core(_webView)) 712fc2651226baac27029e38c9d6ef883fa32084dbSteve Block page->inspectorController()->showConsole(); 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)showTimeline:(id)sender 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // Not used anymore. Remove when a release of Safari non-longer calls this. 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)isDebuggingJavaScript 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (Page* page = core(_webView)) 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return page->inspectorController()->debuggerEnabled(); 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return NO; 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)toggleDebuggingJavaScript:(id)sender 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if ([self isDebuggingJavaScript]) 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project [self stopDebuggingJavaScript:sender]; 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project [self startDebuggingJavaScript:sender]; 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)startDebuggingJavaScript:(id)sender 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Page* page = core(_webView); 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!page) 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return; 9965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch page->inspectorController()->showAndEnableDebugger(); 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)stopDebuggingJavaScript:(id)sender 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (Page* page = core(_webView)) 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project page->inspectorController()->disableDebugger(); 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)isProfilingJavaScript 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (Page* page = core(_webView)) 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return page->inspectorController()->isRecordingUserInitiatedProfile(); 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return NO; 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)toggleProfilingJavaScript:(id)sender 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if ([self isProfilingJavaScript]) 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project [self stopProfilingJavaScript:sender]; 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project [self startProfilingJavaScript:sender]; 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)startProfilingJavaScript:(id)sender 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (Page* page = core(_webView)) 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project page->inspectorController()->startUserInitiatedProfiling(); 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)stopProfilingJavaScript:(id)sender 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Page* page = core(_webView); 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!page) 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return; 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project page->inspectorController()->stopUserInitiatedProfiling(); 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (BOOL)isJavaScriptProfilingEnabled 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (Page* page = core(_webView)) 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return page->inspectorController()->profilerEnabled(); 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return NO; 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)setJavaScriptProfilingEnabled:(BOOL)enabled 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Page* page = core(_webView); 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!page) 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return; 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (enabled) 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project page->inspectorController()->enableProfiler(); 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project page->inspectorController()->disableProfiler(); 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 156643ca7872b450ea4efacab6188849e5aac2ba161Steve Block- (BOOL)isTimelineProfilingEnabled 157643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{ 158643ca7872b450ea4efacab6188849e5aac2ba161Steve Block if (Page* page = core(_webView)) 1592fc2651226baac27029e38c9d6ef883fa32084dbSteve Block return page->inspectorController()->timelineProfilerEnabled() ? YES : NO; 160643ca7872b450ea4efacab6188849e5aac2ba161Steve Block return NO; 161643ca7872b450ea4efacab6188849e5aac2ba161Steve Block} 162643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 163643ca7872b450ea4efacab6188849e5aac2ba161Steve Block- (void)setTimelineProfilingEnabled:(BOOL)enabled 164643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{ 165643ca7872b450ea4efacab6188849e5aac2ba161Steve Block Page* page = core(_webView); 166643ca7872b450ea4efacab6188849e5aac2ba161Steve Block if (!page) 167643ca7872b450ea4efacab6188849e5aac2ba161Steve Block return; 168643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 169643ca7872b450ea4efacab6188849e5aac2ba161Steve Block if (enabled) 170643ca7872b450ea4efacab6188849e5aac2ba161Steve Block page->inspectorController()->startTimelineProfiler(); 171643ca7872b450ea4efacab6188849e5aac2ba161Steve Block else 172643ca7872b450ea4efacab6188849e5aac2ba161Steve Block page->inspectorController()->stopTimelineProfiler(); 173643ca7872b450ea4efacab6188849e5aac2ba161Steve Block} 174643ca7872b450ea4efacab6188849e5aac2ba161Steve Block 1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)close:(id)sender 1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (Page* page = core(_webView)) 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project page->inspectorController()->close(); 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)attach:(id)sender 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 183f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick [_frontend attach]; 1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)detach:(id)sender 1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 188f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick [_frontend detach]; 1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 190231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 191231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block- (void)evaluateInFrontend:(id)sender callId:(long)callId script:(NSString *)script 192231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block{ 193231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block if (Page* page = core(_webView)) 194231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block page->inspectorController()->evaluateForTestInFrontend(callId, script); 195231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block} 196f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick 197f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick- (void)setFrontend:(WebInspectorFrontend *)frontend 198f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick{ 199f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick [_frontend release]; 200f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick _frontend = [frontend retain]; 201f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick} 2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@end 2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@implementation WebInspector (Obsolete) 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project+ (WebInspector *)webInspector 2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // Safari 3.0 calls this method 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static BOOL logged = NO; 2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!logged) { 2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSLog(@"+[WebInspector webInspector]: this method is obsolete."); 2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project logged = YES; 2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return [[[WebInspector alloc] init] autorelease]; 2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)setWebFrame:(WebFrame *)frame 2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // Safari 3.0 calls this method 2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static BOOL logged = NO; 2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!logged) { 2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSLog(@"-[WebInspector setWebFrame:]: this method is obsolete."); 2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project logged = YES; 2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project _webView = [frame webView]; 2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (NSWindow *)window 2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // Shiira calls this internal method, return nil since we can't easily return the window 2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static BOOL logged = NO; 2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!logged) { 2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSLog(@"-[WebInspector window]: this method is obsolete and now returns nil."); 2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project logged = YES; 2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return nil; 2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project- (void)showWindow:(id)sender 2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // Safari 3.0 calls this method 2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static BOOL logged = NO; 2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!logged) { 2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSLog(@"-[WebInspector showWindow:]: this method is obsolete."); 2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project logged = YES; 2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project [self show:sender]; 2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@end 253