| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (C) 2013 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 * CodeGeneratorInstrumentation.py uses this file as a source to generate | |
| 33 * InspectorInstrumentationInl.h and InspectorInstrumentationImpl.cpp | |
| 34 * | |
| 35 * The code below is not a correct IDL but a mix of IDL and C++. | |
| 36 * | |
| 37 * The syntax for an instrumentation method is as follows: | |
| 38 * | |
| 39 * [methodAttributes] returnValue methodName([paramAttr1] param1, [paramAttr2]
param2, ...) | |
| 40 * | |
| 41 * Where: | |
| 42 * methodAttributes - optional list of method attributes. | |
| 43 * Attributes without "=" are the names of the agents to be invoked. | |
| 44 * Examples: DOM, Page, Debugger. | |
| 45 * | |
| 46 * paramAttr - optional attribute controlling the parameters handling (one attr
ibute per parameter max). | |
| 47 * Keep - pass first parameter (used to access the InstrumentingAgents inst
ance) to agents. | |
| 48 * | |
| 49 * returnValue: C++ return value. Only "void" and "bool" are supported. | |
| 50 * | |
| 51 * methodName: C++ name for the public instrumentation method and agents method
s. | |
| 52 * | |
| 53 * paramList: C++ parameter list with optional names. Names will be deduced fro
m types if omitted but you have to | |
| 54 * specify explicit names for multiple parameters of the same type. | |
| 55 * | |
| 56 * Parameters with type PassRefPtr<T> are converted to raw pointers, | |
| 57 * so reference will not be passed or released until all agents are notified. | |
| 58 */ | |
| 59 | |
| 60 interface InspectorInstrumentation { | |
| 61 | |
| 62 #include "core/animation/Animation.h" | |
| 63 #include "core/dom/CharacterData.h" | |
| 64 #include "core/dom/PseudoElement.h" | |
| 65 #include "core/html/HTMLSlotElement.h" | |
| 66 | |
| 67 class ConsoleMessage; | |
| 68 class HTMLDocumentParser; | |
| 69 class ThreadableLoaderClient; | |
| 70 class WebSocketHandshakeRequest; | |
| 71 class WebSocketHandshakeResponse; | |
| 72 class WorkerInspectorProxy; | |
| 73 class XMLHttpRequest; | |
| 74 | |
| 75 [Page, Animation] | |
| 76 void didClearDocumentOfWindowObject([Keep] LocalFrame*); | |
| 77 | |
| 78 [DOMDebugger] | |
| 79 void willInsertDOMNode([Keep] Node* parent); | |
| 80 | |
| 81 [DOM, DOMDebugger] | |
| 82 void didInsertDOMNode([Keep] Node*); | |
| 83 | |
| 84 [DOMDebugger, DOM] | |
| 85 void willRemoveDOMNode([Keep] Node*); | |
| 86 | |
| 87 [DOMDebugger, DOM] | |
| 88 void willModifyDOMAttr([Keep] Element*, const AtomicString& oldValue, const
AtomicString& newValue); | |
| 89 | |
| 90 [DOM] | |
| 91 void didModifyDOMAttr([Keep] Element*, const QualifiedName& name, const Atom
icString& value); | |
| 92 | |
| 93 [DOM] | |
| 94 void didRemoveDOMAttr([Keep] Element*, const QualifiedName& name); | |
| 95 | |
| 96 [DOM] | |
| 97 void characterDataModified([Keep] CharacterData*); | |
| 98 | |
| 99 [DOM, DOMDebugger] | |
| 100 void didInvalidateStyleAttr([Keep] Node*); | |
| 101 | |
| 102 [DOM] | |
| 103 void didPerformElementShadowDistribution([Keep] Element*); | |
| 104 | |
| 105 [DOM] | |
| 106 void didPerformSlotDistribution([Keep] HTMLSlotElement*); | |
| 107 | |
| 108 [CSS] | |
| 109 void documentDetached([Keep] Document*); | |
| 110 | |
| 111 [CSS] | |
| 112 void activeStyleSheetsUpdated([Keep] Document*); | |
| 113 | |
| 114 [CSS] | |
| 115 void fontsUpdated(Document*); | |
| 116 | |
| 117 [CSS] | |
| 118 void mediaQueryResultChanged(Document*); | |
| 119 | |
| 120 [DOM] | |
| 121 void didPushShadowRoot([Keep] Element* host, ShadowRoot*); | |
| 122 | |
| 123 [DOM] | |
| 124 void willPopShadowRoot([Keep] Element* host, ShadowRoot*); | |
| 125 | |
| 126 [DOMDebugger] | |
| 127 void willSendXMLHttpOrFetchNetworkRequest(ExecutionContext*, const String& u
rl); | |
| 128 | |
| 129 [DOMDebugger] | |
| 130 void didCreateCanvasContext(Document*); | |
| 131 | |
| 132 [DOMDebugger] | |
| 133 void didFireWebGLError(Element*, const String& errorName); | |
| 134 | |
| 135 [DOMDebugger] | |
| 136 void didFireWebGLWarning(Element*); | |
| 137 | |
| 138 [DOMDebugger] | |
| 139 void didFireWebGLErrorOrWarning(Element*, const String& message); | |
| 140 | |
| 141 [Page] | |
| 142 void didResizeMainFrame(LocalFrame*); | |
| 143 | |
| 144 [LayerTree] | |
| 145 void didPaint(LocalFrame*, const GraphicsLayer*, GraphicsContext&, const Lay
outRect&); | |
| 146 | |
| 147 [Network] | |
| 148 void applyUserAgentOverride(LocalFrame*, String* userAgent); | |
| 149 | |
| 150 [Network] | |
| 151 void didBlockRequest([Keep] LocalFrame*, const ResourceRequest&, DocumentLoa
der*, const FetchInitiatorInfo&, ResourceRequestBlockedReason); | |
| 152 | |
| 153 [Network] | |
| 154 void didChangeResourcePriority(LocalFrame*, unsigned long identifier, Resour
ceLoadPriority loadPriority); | |
| 155 | |
| 156 [Network, TraceEvents] | |
| 157 void willSendRequest([Keep] LocalFrame*, unsigned long identifier, DocumentL
oader*, ResourceRequest&, const ResourceResponse& redirectResponse, const FetchI
nitiatorInfo&); | |
| 158 | |
| 159 [Network] | |
| 160 void markResourceAsCached(LocalFrame*, unsigned long identifier); | |
| 161 | |
| 162 [Network, TraceEvents] | |
| 163 void didReceiveResourceResponse([Keep] LocalFrame*, unsigned long identifier
, DocumentLoader*, const ResourceResponse&, Resource*); | |
| 164 | |
| 165 [Network, TraceEvents] | |
| 166 void didReceiveData([Keep] LocalFrame*, unsigned long identifier, const char
* data, int dataLength); | |
| 167 | |
| 168 [Network] | |
| 169 void didReceiveEncodedDataLength([Keep] LocalFrame*, unsigned long identifie
r, int encodedDataLength); | |
| 170 | |
| 171 [Network, TraceEvents] | |
| 172 void didFinishLoading([Keep] LocalFrame* frame, unsigned long identifier, do
uble finishTime, int64_t encodedDataLength, int64_t decodedBodyLength); | |
| 173 | |
| 174 [Network] | |
| 175 void didReceiveCORSRedirectResponse([Keep] LocalFrame*, unsigned long identi
fier, DocumentLoader*, const ResourceResponse&, Resource*); | |
| 176 | |
| 177 [Network, TraceEvents] | |
| 178 void didFailLoading(LocalFrame* frame, unsigned long identifier, const Resou
rceError&); | |
| 179 | |
| 180 [Network] | |
| 181 void documentThreadableLoaderStartedLoadingForClient(ExecutionContext*, unsi
gned long identifier, ThreadableLoaderClient* client); | |
| 182 | |
| 183 [Network] | |
| 184 void documentThreadableLoaderFailedToStartLoadingForClient(ExecutionContext*
, ThreadableLoaderClient* client); | |
| 185 | |
| 186 [Network] | |
| 187 void willSendEventSourceRequest(ExecutionContext*, ThreadableLoaderClient* e
ventSource); | |
| 188 | |
| 189 [Network] | |
| 190 void willDispatchEventSourceEvent(ExecutionContext*, ThreadableLoaderClient*
eventSource, const AtomicString& eventName, const AtomicString& eventId, const
String& data); | |
| 191 | |
| 192 [Network] | |
| 193 void didFinishEventSourceRequest(ExecutionContext*, ThreadableLoaderClient*
eventSource); | |
| 194 | |
| 195 [Network] | |
| 196 void willLoadXHR(ExecutionContext*, XMLHttpRequest* xhr, ThreadableLoaderCli
ent* client, const AtomicString& method, const KURL& url, bool async, PassRefPtr
<EncodedFormData>, const HTTPHeaderMap& headers, bool includeCredentials); | |
| 197 | |
| 198 [Network] | |
| 199 void didFailXHRLoading([Keep] ExecutionContext*, XMLHttpRequest* xhr, Thread
ableLoaderClient* client, const AtomicString& method, const String& url); | |
| 200 | |
| 201 [Network] | |
| 202 void didFinishXHRLoading([Keep] ExecutionContext*, XMLHttpRequest* xhr, Thre
adableLoaderClient* client, const AtomicString& method, const String& url); | |
| 203 | |
| 204 [Network] | |
| 205 void willStartFetch(ExecutionContext*, ThreadableLoaderClient*); | |
| 206 | |
| 207 [Network] | |
| 208 void didFailFetch(ExecutionContext*, ThreadableLoaderClient*); | |
| 209 | |
| 210 [Network] | |
| 211 void didFinishFetch([Keep] ExecutionContext*, ThreadableLoaderClient*, const
AtomicString& method, const String& url); | |
| 212 | |
| 213 // Detach and remove all references to the given client. | |
| 214 [Network] | |
| 215 void detachClientRequest(ExecutionContext*, ThreadableLoaderClient*); | |
| 216 | |
| 217 [Network] | |
| 218 void scriptImported(ExecutionContext*, unsigned long identifier, const Strin
g& sourceString); | |
| 219 | |
| 220 [DOMDebugger] | |
| 221 void scriptExecutionBlockedByCSP(ExecutionContext*, const String& directiveT
ext); | |
| 222 | |
| 223 [Network] | |
| 224 void didReceiveScriptResponse(ExecutionContext*, unsigned long identifier); | |
| 225 | |
| 226 [DOM, Page] | |
| 227 void domContentLoadedEventFired([Keep] LocalFrame*); | |
| 228 | |
| 229 [Page] | |
| 230 void loadEventFired([Keep] LocalFrame*); | |
| 231 | |
| 232 [Page] | |
| 233 void frameAttachedToParent([Keep] LocalFrame*); | |
| 234 | |
| 235 [Page] | |
| 236 void frameDetachedFromParent([Keep] LocalFrame*); | |
| 237 | |
| 238 [Network, DOM, Page] | |
| 239 void didCommitLoad([Keep] LocalFrame*, DocumentLoader*); | |
| 240 | |
| 241 [DOM] | |
| 242 void frameDocumentUpdated([Keep] LocalFrame*); | |
| 243 | |
| 244 [Page, Tracing] | |
| 245 void frameStartedLoading([Keep] LocalFrame*, FrameLoadType); | |
| 246 | |
| 247 [Page, Tracing] | |
| 248 void frameStoppedLoading([Keep] LocalFrame*); | |
| 249 | |
| 250 [Page, Network] | |
| 251 void frameScheduledNavigation([Keep] LocalFrame*, double delay); | |
| 252 | |
| 253 [Page, Network] | |
| 254 void frameClearedScheduledNavigation([Keep] LocalFrame*); | |
| 255 | |
| 256 [Network] | |
| 257 void frameScheduledClientNavigation([Keep] LocalFrame*); | |
| 258 | |
| 259 [Network] | |
| 260 void frameClearedScheduledClientNavigation([Keep] LocalFrame*); | |
| 261 | |
| 262 [Worker] | |
| 263 void didStartWorker(ExecutionContext*, WorkerInspectorProxy* proxy, bool wai
tingForDebugger); | |
| 264 | |
| 265 [Worker] | |
| 266 void workerTerminated(ExecutionContext*, WorkerInspectorProxy* proxy); | |
| 267 | |
| 268 [Network] | |
| 269 void didCreateWebSocket([Keep] Document*, unsigned long identifier, const KU
RL& requestURL, const String& protocol); | |
| 270 | |
| 271 [Network] | |
| 272 void willSendWebSocketHandshakeRequest([Keep] Document*, unsigned long ident
ifier, const WebSocketHandshakeRequest* request); | |
| 273 | |
| 274 [Network] | |
| 275 void didReceiveWebSocketHandshakeResponse([Keep] Document*, unsigned long id
entifier, const WebSocketHandshakeRequest* request, const WebSocketHandshakeResp
onse* response); | |
| 276 | |
| 277 [Network] | |
| 278 void didCloseWebSocket([Keep] Document*, unsigned long identifier); | |
| 279 | |
| 280 [Network] | |
| 281 void didReceiveWebSocketFrame(Document*, unsigned long identifier, int opCod
e, bool masked, const char* payload, size_t payloadLength); | |
| 282 | |
| 283 [Network] | |
| 284 void didSendWebSocketFrame(Document*, unsigned long identifier, int opCode,
bool masked, const char* payload, size_t payloadLength); | |
| 285 | |
| 286 [Network] | |
| 287 void didReceiveWebSocketFrameError(Document*, unsigned long identifier, cons
t String& errorMessage); | |
| 288 | |
| 289 [ApplicationCache] | |
| 290 void networkStateChanged([Keep] LocalFrame*, bool online); | |
| 291 | |
| 292 [ApplicationCache] | |
| 293 void updateApplicationCacheStatus([Keep] LocalFrame*); | |
| 294 | |
| 295 [LayerTree] | |
| 296 void layerTreeDidChange(LocalFrame*); | |
| 297 | |
| 298 [DOM] | |
| 299 void pseudoElementCreated([Keep] PseudoElement*); | |
| 300 | |
| 301 [DOM] | |
| 302 void pseudoElementDestroyed([Keep] PseudoElement*); | |
| 303 | |
| 304 [Animation] | |
| 305 void didCreateAnimation(Document*, unsigned); | |
| 306 | |
| 307 [Animation] | |
| 308 void animationPlayStateChanged(Document*, Animation*, Animation::AnimationPl
ayState oldPlayState, Animation::AnimationPlayState newPlayState); | |
| 309 | |
| 310 [Page] | |
| 311 void windowCreated(LocalFrame* opener, LocalFrame* created); | |
| 312 | |
| 313 [Log] | |
| 314 void consoleMessageAdded(ExecutionContext*, ConsoleMessage*); | |
| 315 | |
| 316 [Page] | |
| 317 void willRunJavaScriptDialog(LocalFrame* frame, const String& message, Chrom
eClient::DialogType dialogType); | |
| 318 | |
| 319 [Page] | |
| 320 void didRunJavaScriptDialog(LocalFrame* frame, bool result); | |
| 321 | |
| 322 [Performance] | |
| 323 void documentWriteFetchScript([Keep] Document*); | |
| 324 | |
| 325 [Page] | |
| 326 void didChangeViewport(LocalFrame* document); | |
| 327 | |
| 328 [DOMDebugger] | |
| 329 void breakableLocation(ExecutionContext* context, const char* name); | |
| 330 | |
| 331 [Page, Performance] | |
| 332 RecalculateStyle(Document* document); | |
| 333 | |
| 334 [Page, Performance] | |
| 335 UpdateLayout(Document*); | |
| 336 | |
| 337 [Performance, DOMDebugger] | |
| 338 ExecuteScript([Keep] ExecutionContext* context); | |
| 339 | |
| 340 [Performance, TraceEvents] | |
| 341 CallFunction([Keep] ExecutionContext* context, v8::Local<v8::Function> funct
ion, int depth = 0); | |
| 342 | |
| 343 [Performance, DOMDebugger] | |
| 344 UserCallback([Keep] ExecutionContext* context, const char* name, const Atomi
cString& atomicName, bool recurring, EventTarget* eventTarget = nullptr); | |
| 345 | |
| 346 [TraceEvents] | |
| 347 ParseHTML(Document* document, HTMLDocumentParser* parser); | |
| 348 } | |
| 349 | |
| 350 interface InspectorOverrides { | |
| 351 [CSS] | |
| 352 bool forcePseudoState([Keep] Element* element, CSSSelector::PseudoType pseud
oState); | |
| 353 | |
| 354 [Worker] | |
| 355 bool shouldWaitForDebuggerOnWorkerStart(ExecutionContext* context); | |
| 356 | |
| 357 [Network] | |
| 358 bool shouldForceCORSPreflight(Document*); | |
| 359 | |
| 360 [Network] | |
| 361 bool shouldBlockRequest(LocalFrame*, const ResourceRequest&); | |
| 362 } | |
| OLD | NEW |