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