| Index: core/inspector/InspectorInstrumentation.idl
|
| ===================================================================
|
| --- core/inspector/InspectorInstrumentation.idl (revision 0)
|
| +++ core/inspector/InspectorInstrumentation.idl (revision 0)
|
| @@ -0,0 +1,445 @@
|
| +/*
|
| +* Copyright (C) 2013 Google Inc. All rights reserved.
|
| +*
|
| +* Redistribution and use in source and binary forms, with or without
|
| +* modification, are permitted provided that the following conditions are
|
| +* met:
|
| +*
|
| +* * Redistributions of source code must retain the above copyright
|
| +* notice, this list of conditions and the following disclaimer.
|
| +* * Redistributions in binary form must reproduce the above
|
| +* copyright notice, this list of conditions and the following disclaimer
|
| +* in the documentation and/or other materials provided with the
|
| +* distribution.
|
| +* * Neither the name of Google Inc. nor the names of its
|
| +* contributors may be used to endorse or promote products derived from
|
| +* this software without specific prior written permission.
|
| +*
|
| +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| +*/
|
| +
|
| +/*
|
| +* CodeGeneratorInstrumentation.py uses this file as a source to generate
|
| +* InspectorInstrumentationInl.h and InspectorInstrumentationImpl.cpp
|
| +*
|
| +* The code below is not a correct IDL but a mix of IDL and C++.
|
| +*
|
| +* The syntax for an instrumentation method is as follows:
|
| +*
|
| +* [methodAttributes] returnValue methodName([paramAttributes] paramList)
|
| +*
|
| +* Where:
|
| +* methodAttributes - optional list of method attributes.
|
| +* Attributes containing "=" are code generation options:
|
| +* Inline=Custom - do not generate the public inline method.
|
| +* Inline=FastReturn - return early from the inline method if there are no frontends.
|
| +* Inline=Forward - generate a simple forwarding inline method that does not
|
| + modify the parameter list (implies Inline=FastReturn)
|
| +* Attributes without "=" are the names of the agents to be invoked.
|
| +* Examples: DOM, Page, Debugger.
|
| +*
|
| +* paramAttributes - options list of attributes controlling the parameters handling.
|
| +* Keep - pass first parameter (used to access the InstrumentingAgents instance) to agents.
|
| +*
|
| +* returnValue: C++ return value. Only "void" and "InspectorInstrumentationCookie" are supported.
|
| +*
|
| +* methodName: C++ name for the public instrumentation method and agents methods.
|
| +*
|
| +* paramList: C++ parameter list with optional names. Names will be deduced from types if omitted but you have to
|
| +* specify explicit names for multiple parameters of the same type.
|
| +*/
|
| +
|
| +interface InspectorInstrumentation {
|
| + [Page, Inspector, PageDebugger, PageRuntime]
|
| + void didClearWindowObjectInWorld([Keep] Frame*, DOMWrapperWorld*);
|
| +
|
| + [DOMDebugger, Inline=FastReturn]
|
| + void willInsertDOMNode(Document*, Node* parent);
|
| +
|
| + [DOM, DOMDebugger, Inline=FastReturn]
|
| + void didInsertDOMNode(Document*, Node*);
|
| +
|
| + [DOMDebugger, DOM, Inline=FastReturn]
|
| + void willRemoveDOMNode(Document* document, Node*);
|
| +
|
| + [DOMDebugger, DOM, Inline=FastReturn]
|
| + void willModifyDOMAttr(Document*, Element*, const AtomicString& oldValue, const AtomicString& newValue);
|
| +
|
| + [DOM, Inline=FastReturn]
|
| + void didModifyDOMAttr(Document*, Element*, const AtomicString& name, const AtomicString& value);
|
| +
|
| + [DOM, Inline=FastReturn]
|
| + void didRemoveDOMAttr(Document*, Element*, const AtomicString& name);
|
| +
|
| + [DOM, Inline=FastReturn]
|
| + void characterDataModified(Document*, CharacterData*);
|
| +
|
| + [DOM, DOMDebugger, Inline=FastReturn]
|
| + void didInvalidateStyleAttr(Document*, Node*);
|
| +
|
| + [CSS, Inline=FastReturn]
|
| + void activeStyleSheetsUpdated([Keep] Document*, const Vector<RefPtr<StyleSheet> >& newSheets);
|
| +
|
| + [Console]
|
| + void frameWindowDiscarded(Frame*, DOMWindow* domWindow);
|
| +
|
| + [CSS, Inline=FastReturn]
|
| + void mediaQueryResultChanged(Document*);
|
| +
|
| + [DOM, Inline=FastReturn]
|
| + void didPushShadowRoot([Keep] Element* host, ShadowRoot*);
|
| +
|
| + [DOM, Inline=FastReturn]
|
| + void willPopShadowRoot([Keep] Element* host, ShadowRoot*);
|
| +
|
| + [CSS, Inline=FastReturn]
|
| + void didCreateNamedFlow([Keep] Document*, NamedFlow*);
|
| +
|
| + [CSS, Inline=FastReturn]
|
| + void willRemoveNamedFlow([Keep] Document*, NamedFlow*);
|
| +
|
| + [CSS, Inline=FastReturn]
|
| + void didUpdateRegionLayout([Keep] Document*, NamedFlow*);
|
| +
|
| + [DOMDebugger, Inline=FastReturn]
|
| + void willSendXMLHttpRequest(ScriptExecutionContext*, const String& url);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didScheduleResourceRequest([Keep] Document*, const String& url);
|
| +
|
| + [DOMDebugger, Timeline, Inline=FastReturn]
|
| + void didInstallTimer([Keep] ScriptExecutionContext*, int timerId, int timeout, bool singleShot);
|
| +
|
| + [DOMDebugger, Timeline, Inline=FastReturn]
|
| + void didRemoveTimer([Keep] ScriptExecutionContext*, int timerId);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willCallFunction([Keep] ScriptExecutionContext*, const String& scriptName, int scriptLine);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didCallFunction(const InspectorInstrumentationCookie&);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willDispatchXHRReadyStateChangeEvent([Keep] ScriptExecutionContext*, XMLHttpRequest*);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didDispatchXHRReadyStateChangeEvent(const InspectorInstrumentationCookie&);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willDispatchEvent([Keep] Document*, const Event&, DOMWindow*, Node*, const EventPath&);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didDispatchEvent(const InspectorInstrumentationCookie&);
|
| +
|
| + [DOMDebugger, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willHandleEvent(ScriptExecutionContext*, Event*);
|
| +
|
| + [Debugger, Inline=FastReturn]
|
| + void didHandleEvent(const InspectorInstrumentationCookie&);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willDispatchEventOnWindow(Frame*, const Event&, DOMWindow*);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didDispatchEventOnWindow(const InspectorInstrumentationCookie&);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willEvaluateScript([Keep] Frame*, const String& url, int lineNumber);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didEvaluateScript(const InspectorInstrumentationCookie&);
|
| +
|
| + [Page, Inline=FastReturn]
|
| + void scriptsEnabled(Page*, bool isEnabled);
|
| +
|
| + [PageRuntime, Inline=FastReturn]
|
| + void didCreateIsolatedContext([Keep] Frame*, ScriptState*, SecurityOrigin*);
|
| +
|
| + [DOMDebugger, Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willFireTimer([Keep] ScriptExecutionContext*, int timerId);
|
| +
|
| + [Debugger, Timeline, Inline=FastReturn]
|
| + void didFireTimer(const InspectorInstrumentationCookie&);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didInvalidateLayout([Keep] Frame*);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willLayout([Keep] Frame*);
|
| +
|
| + [Timeline, Page, Inline=FastReturn]
|
| + void didLayout(const InspectorInstrumentationCookie&, RenderObject* root);
|
| +
|
| + [Page, Inline=FastReturn]
|
| + void didScroll(Page*);
|
| +
|
| + [Page, Inline=FastReturn]
|
| + void didResizeMainFrame(Page*);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willDispatchXHRLoadEvent([Keep] ScriptExecutionContext*, XMLHttpRequest*);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didDispatchXHRLoadEvent(const InspectorInstrumentationCookie&);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void willScrollLayer([Keep] Frame*);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didScrollLayer(Frame*);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void willPaint([Keep] RenderObject*);
|
| +
|
| + [Timeline, Page, Inline=FastReturn]
|
| + void didPaint([Keep] RenderObject*, GraphicsContext*, const LayoutRect&);
|
| +
|
| + [Resource, Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willRecalculateStyle([Keep] Document*);
|
| +
|
| + [Timeline, Resource, Page, Inline=FastReturn]
|
| + void didRecalculateStyle(const InspectorInstrumentationCookie&);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didRecalculateStyleForElement(Element*);
|
| +
|
| + [Timeline, Resource, Inline=FastReturn]
|
| + void didScheduleStyleRecalculation([Keep] Document*);
|
| +
|
| + [CSS, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willMatchRule(Document*, StyleRule*, InspectorCSSOMWrappers&, DocumentStyleSheetCollection*);
|
| +
|
| + [CSS, Inline=FastReturn]
|
| + void didMatchRule(const InspectorInstrumentationCookie&, bool matched);
|
| +
|
| + [CSS, Inline=Custom]
|
| + InspectorInstrumentationCookie willProcessRule(Document* document, StyleRule* rule, StyleResolver* styleResolver);
|
| +
|
| + [CSS, Inline=FastReturn]
|
| + void didProcessRule(const InspectorInstrumentationCookie&);
|
| +
|
| + [Resource, Inline=FastReturn]
|
| + void applyUserAgentOverride(Frame*, String* userAgent);
|
| +
|
| + [Page, Inline=FastReturn]
|
| + void applyScreenWidthOverride(Frame*, long* width);
|
| +
|
| + [Page, Inline=FastReturn]
|
| + void applyScreenHeightOverride(Frame*, long* height);
|
| +
|
| + [Page, Inline=FastReturn]
|
| + void applyEmulatedMedia(Frame*, String* media);
|
| +
|
| + [Timeline, Resource]
|
| + void willSendRequest(Frame*, unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse);
|
| +
|
| + void continueAfterPingLoader(Frame*, unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse&);
|
| +
|
| + [Resource]
|
| + void markResourceAsCached(Page*, unsigned long identifier);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willReceiveResourceData([Keep] Frame*, unsigned long identifier, int length);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didReceiveResourceData(const InspectorInstrumentationCookie&);
|
| +
|
| + [Timeline]
|
| + InspectorInstrumentationCookie willReceiveResourceResponse([Keep] Frame*, unsigned long identifier, const ResourceResponse&);
|
| +
|
| + [Timeline, Resource, Console] // Console should come AFTER Resource notification, front-end relies on this.
|
| + void didReceiveResourceResponse(const InspectorInstrumentationCookie&, unsigned long identifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
|
| +
|
| + [Inline=Forward]
|
| + void continueAfterXFrameOptionsDenied(Frame* frame, DocumentLoader* loader, unsigned long identifier, const ResourceResponse& r);
|
| +
|
| + [Inline=Forward]
|
| + void continueWithPolicyDownload(Frame* frame, DocumentLoader* loader, unsigned long identifier, const ResourceResponse& r);
|
| +
|
| + [Inline=Forward]
|
| + void continueWithPolicyIgnore(Frame* frame, DocumentLoader* loader, unsigned long identifier, const ResourceResponse& r);
|
| +
|
| + [Resource]
|
| + void didReceiveData(Frame*, unsigned long identifier, const char* data, int dataLength, int encodedDataLength);
|
| +
|
| + [Timeline, Resource]
|
| + void didFinishLoading(Frame* frame, unsigned long identifier, DocumentLoader*, double finishTime);
|
| +
|
| + [Timeline, Resource, Console] // Console should come AFTER Resource notification, front-end relies on this.
|
| + void didFailLoading(Frame* frame, unsigned long identifier, DocumentLoader*, const ResourceError&);
|
| +
|
| + [Resource]
|
| + void documentThreadableLoaderStartedLoadingForClient(ScriptExecutionContext*, unsigned long identifier, ThreadableLoaderClient* client);
|
| +
|
| + [Resource]
|
| + void willLoadXHR(ScriptExecutionContext*, ThreadableLoaderClient* client, const String& method, const KURL& url, bool async, PassRefPtr<FormData>, const HTTPHeaderMap& headers, bool includeCredentials);
|
| +
|
| + [Resource]
|
| + void didFailXHRLoading(ScriptExecutionContext*, ThreadableLoaderClient* client);
|
| +
|
| + [Console, Resource]
|
| + void didFinishXHRLoading(ScriptExecutionContext*, ThreadableLoaderClient* client, unsigned long identifier, const String& sourceString, const String& url, const String& sendURL, unsigned sendLineNumber);
|
| +
|
| + [Resource]
|
| + void didReceiveXHRResponse(ScriptExecutionContext*, unsigned long identifier);
|
| +
|
| + [Resource]
|
| + void willLoadXHRSynchronously(ScriptExecutionContext*);
|
| +
|
| + [Resource]
|
| + void didLoadXHRSynchronously(ScriptExecutionContext*);
|
| +
|
| + [Resource]
|
| + void scriptImported(ScriptExecutionContext*, unsigned long identifier, const String& sourceString);
|
| +
|
| + [Debugger]
|
| + void scriptExecutionBlockedByCSP(ScriptExecutionContext*, const String& directiveText);
|
| +
|
| + [Resource]
|
| + void didReceiveScriptResponse(ScriptExecutionContext*, unsigned long identifier);
|
| +
|
| + [Timeline, Inspector, DOM, Page]
|
| + void domContentLoadedEventFired([Keep] Frame*);
|
| +
|
| + [DOM, Timeline, Page]
|
| + void loadEventFired([Keep] Frame*);
|
| +
|
| + [Canvas, Page, CSS]
|
| + void frameDetachedFromParent([Keep] Frame*);
|
| +
|
| + [Console, Resource, CSS, Database, DOM, LayerTree, Inspector, Canvas, Page]
|
| + void didCommitLoad([Keep] Frame*, DocumentLoader*);
|
| +
|
| + [DOM, Inline=FastReturn]
|
| + void frameDocumentUpdated([Keep] Frame*);
|
| +
|
| + [Page]
|
| + void loaderDetachedFromFrame(Frame*, DocumentLoader*);
|
| +
|
| + [Page]
|
| + void frameStartedLoading([Keep] Frame*);
|
| +
|
| + [Page]
|
| + void frameStoppedLoading([Keep] Frame*);
|
| +
|
| + [Page]
|
| + void frameScheduledNavigation([Keep] Frame*, double delay);
|
| +
|
| + [Page]
|
| + void frameClearedScheduledNavigation([Keep] Frame*);
|
| +
|
| + [Page, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willRunJavaScriptDialog(Page*, const String& message);
|
| +
|
| + [Page, Inline=FastReturn]
|
| + void didRunJavaScriptDialog(const InspectorInstrumentationCookie&);
|
| +
|
| + [Inline=Forward]
|
| + void willDestroyCachedResource(CachedResource* cachedResource);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + InspectorInstrumentationCookie willWriteHTML([Keep] Document*, unsigned startLine);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didWriteHTML(const InspectorInstrumentationCookie&, unsigned endLine);
|
| +
|
| + [DOMDebugger, Timeline]
|
| + void didRequestAnimationFrame([Keep] Document*, int callbackId);
|
| +
|
| + [DOMDebugger, Timeline]
|
| + void didCancelAnimationFrame([Keep] Document*, int callbackId);
|
| +
|
| + [DOMDebugger, Timeline]
|
| + InspectorInstrumentationCookie willFireAnimationFrame([Keep] Document*, int callbackId);
|
| +
|
| + [Timeline, Inline=FastReturn]
|
| + void didFireAnimationFrame(const InspectorInstrumentationCookie&);
|
| +
|
| + [Console, Debugger, Inline=Custom] // FIXME: Drop this once we no longer generate stacks outside of Inspector.
|
| + void addMessageToConsole(Page* page, MessageSource source, MessageType type, MessageLevel level, const String& message, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier = 0);
|
| +
|
| + [Console, Debugger, Inline=Custom]
|
| + void addMessageToConsole(Page* page, MessageSource source, MessageType type, MessageLevel level, const String& message, ScriptState* state, PassRefPtr<ScriptArguments> arguments, unsigned long requestIdentifier = 0);
|
| +
|
| + [Console, Inline=Custom]
|
| + void addMessageToConsole(Page* page, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, ScriptState* state = 0, unsigned long requestIdentifier = 0);
|
| +
|
| + [Console, Inline=Custom]
|
| + void consoleCount(Page* page, ScriptState* state, PassRefPtr<ScriptArguments> arguments);
|
| +
|
| + [Timeline, Console, Inline=Custom]
|
| + void startConsoleTiming([Keep] Frame* frame, const String& title);
|
| +
|
| + [Console, Timeline, Inline=Custom]
|
| + void stopConsoleTiming([Keep] Frame* frame, const String& title, PassRefPtr<ScriptCallStack> stack);
|
| +
|
| + [Timeline, Inline=Custom]
|
| + void consoleTimeStamp([Keep] Frame* frame, PassRefPtr<ScriptArguments> arguments);
|
| +
|
| + [Profiler, Inline=Custom]
|
| + void addStartProfilingMessageToConsole(Page* page, const String& title, unsigned lineNumber, const String& sourceURL);
|
| +
|
| + [Profiler, Inline=Custom]
|
| + void addProfile(Page* page, PassRefPtr<ScriptProfile> profile, PassRefPtr<ScriptCallStack> callStack);
|
| +
|
| + [Database, Inline=Custom]
|
| + void didOpenDatabase(ScriptExecutionContext* context, PassRefPtr<Database> database, const String& domain, const String& name, const String& version);
|
| +
|
| + [DOMStorage, Inline=FastReturn]
|
| + void didDispatchDOMStorageEvent(Page* page, const String& key, const String& oldValue, const String& newValue, StorageType storageType, SecurityOrigin* securityOrigin);
|
| +
|
| + [Worker]
|
| + void didStartWorkerContext(ScriptExecutionContext*, WorkerContextProxy* proxy, const KURL& url);
|
| +
|
| + [WorkerRuntime]
|
| + void willEvaluateWorkerScript([Keep] WorkerContext* context, int workerThreadStartMode);
|
| +
|
| + [Worker]
|
| + void workerContextTerminated(ScriptExecutionContext*, WorkerContextProxy* proxy);
|
| +
|
| + [Resource, Timeline]
|
| + void didCreateWebSocket([Keep] Document*, unsigned long identifier, const KURL& requestURL, const String& protocol);
|
| +
|
| + [Resource, Timeline]
|
| + void willSendWebSocketHandshakeRequest([Keep] Document*, unsigned long identifier, const WebSocketHandshakeRequest& request);
|
| +
|
| + [Resource, Timeline]
|
| + void didReceiveWebSocketHandshakeResponse([Keep] Document*, unsigned long identifier, const WebSocketHandshakeResponse& response);
|
| +
|
| + [Resource, Timeline]
|
| + void didCloseWebSocket([Keep] Document*, unsigned long identifier);
|
| +
|
| + [Resource]
|
| + void didReceiveWebSocketFrame(Document*, unsigned long identifier, const WebSocketFrame& frame);
|
| +
|
| + [Resource]
|
| + void didSendWebSocketFrame(Document*, unsigned long identifier, const WebSocketFrame& frame);
|
| +
|
| + [Resource]
|
| + void didReceiveWebSocketFrameError(Document*, unsigned long identifier, const String& errorMessage);
|
| +
|
| + [ApplicationCache, Inline=FastReturn]
|
| + void networkStateChanged(Page*);
|
| +
|
| + [ApplicationCache, Inline=FastReturn]
|
| + void updateApplicationCacheStatus([Keep] Frame*);
|
| +
|
| + [LayerTree]
|
| + void layerTreeDidChange(Page*);
|
| +
|
| + [LayerTree]
|
| + void renderLayerDestroyed(Page*, const RenderLayer*);
|
| +
|
| + [LayerTree]
|
| + void pseudoElementDestroyed(Page*, PseudoElement*);
|
| +}
|
|
|