1/*
2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 *
8 *     * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *     * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
13 * distribution.
14 *     * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31/**
32 * @constructor
33 */
34function InjectedScriptHostClass() { }
35InjectedScriptHostClass.prototype.storageId = function(object) { }
36InjectedScriptHostClass.prototype.getInternalProperties = function(object) { }
37/**
38 * @param {Function} func
39 */
40InjectedScriptHostClass.prototype.functionDetails = function(func) { }
41/**
42 * @param {*} object
43 */
44InjectedScriptHostClass.prototype.isHTMLAllCollection = function(object) { }
45/**
46 * @param {*} object
47 */
48InjectedScriptHostClass.prototype.internalConstructorName = function(object) { }
49/**
50 * @param {*} object
51 */
52InjectedScriptHostClass.prototype.copyText = function(object) { }
53InjectedScriptHostClass.prototype.clearConsoleMessages = function() { }
54/**
55 * @param {number} index
56 */
57InjectedScriptHostClass.prototype.inspectedObject = function(index) { }
58/**
59 * @param {*} object
60 * @return {number}
61 */
62InjectedScriptHostClass.prototype.objectId = function(object) { }
63/**
64 * @param {*} object
65 */
66InjectedScriptHostClass.prototype.releaseObjectId = function(object) { }
67/**
68 * @param {*} object
69 */
70InjectedScriptHostClass.prototype.databaseId = function(object) { }
71/**
72 * @param {*} object
73 * @param {Object} hints
74 */
75InjectedScriptHostClass.prototype.inspect = function(object, hints) { }
76/**
77 * @param {*} object
78 */
79InjectedScriptHostClass.prototype.type = function(object) { }
80/**
81 * @param {*} object
82 */
83InjectedScriptHostClass.prototype.getEventListeners = function(object) { }
84/**
85 * @param {string} expression
86 */
87InjectedScriptHostClass.prototype.evaluate = function(expression) { }
88/**
89 * @param {*} fn
90 */
91InjectedScriptHostClass.prototype.debugFunction = function(fn) { }
92/**
93 * @param {*} fn
94 */
95InjectedScriptHostClass.prototype.undebugFunction = function(fn) { }
96/**
97 * @param {*} fn
98 */
99InjectedScriptHostClass.prototype.monitorFunction = function(fn) { }
100/**
101 * @param {*} fn
102 */
103InjectedScriptHostClass.prototype.unmonitorFunction = function(fn) { }
104
105/**
106 * @param {function(...)} fun
107 * @param {number} scopeNumber
108 * @param {string} variableName
109 * @param {*} newValue
110 */
111InjectedScriptHostClass.prototype.setFunctionVariableValue = function(fun, scopeNumber, variableName, newValue) { }
112
113/** @type {!InjectedScriptHostClass} */
114var InjectedScriptHost;
115/** @type {!Window} */
116var inspectedWindow;
117/** @type {number} */
118var injectedScriptId;
119
120/**
121 * @constructor
122 */
123function JavaScriptCallFrame()
124{
125    /** @type {number} */
126    this.sourceID;
127    /** @type {number} */
128    this.line;
129    /** @type {number} */
130    this.column;
131    /** @type {*} */
132    this.thisObject;
133    /** @type {string} */
134    this.stepInPositions;
135}
136
137/**
138 * @param {number} index
139 */
140JavaScriptCallFrame.prototype.scopeType = function(index) { }
141
142JavaScriptCallFrame.prototype.restart = function() { }
143
144/**
145 * @param {number} scopeNumber
146 * @param {string} variableName
147 * @param {*} newValue
148 */
149JavaScriptCallFrame.prototype.setVariableValue = function(scopeNumber, variableName, newValue) {}
150
151/**
152 * @constructor
153 */
154function JavaScriptFunction()
155{
156    /** @type {Array} */
157    this.rawScopes;
158}
159
160var InspectorBackend = { };
161
162// http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
163/**
164 * @constructor
165 */
166function CallSite()
167{
168}
169/**
170 * @return {string}
171 */
172CallSite.prototype.getFileName = function() { }
173/**
174 * @return {number}
175 */
176CallSite.prototype.getLineNumber = function() { }
177/**
178 * @return {number}
179 */
180CallSite.prototype.getColumnNumber = function() { }
181