Files
sousa-gecko/dom/script/nsIScriptLoaderObserver.h
T
Masayuki Nakano 976be8097e Bug 1625902 - part 1: Mark nsContentUtils::Dispatch*Event as MOZ_CAN_RUN_SCRIPT except for chrome r=smaug,dom-core-reviewers,geckoview-reviewers,media-playback-reviewers,win-reviewers,padenot,handyman,m_kato
This patch does not fix the methods in xslt and content sink because
they require a lot of `MOZ_CAN_RUN_SCRIPT` but I think most of them
do not make sense because working in a specific period.

Differential Revision: https://phabricator.services.mozilla.com/D310971
2026-08-25 06:57:20 +00:00

61 lines
2.5 KiB
C++

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef MOZILLA_DOM_SCRIPT_NSISCRIPTLOADEROBSERVER_H_
#define MOZILLA_DOM_SCRIPT_NSISCRIPTLOADEROBSERVER_H_
#include "js/GCAnnotations.h"
#include "nsISupports.h"
class nsIScriptElement;
class nsIURI;
#define NS_ISCRIPTLOADEROBSERVER_IID \
{0x7b787204, 0x76fb, 0x4764, {0x96, 0xf1, 0xfb, 0x7a, 0x66, 0x6d, 0xb4, 0xf4}}
class NS_NO_VTABLE nsIScriptLoaderObserver : public nsISupports {
public:
NS_INLINE_DECL_STATIC_IID(NS_ISCRIPTLOADEROBSERVER_IID)
/**
* The script is available for evaluation. For inline scripts, this
* method will be called synchronously. For externally loaded scripts,
* this method will be called when the load completes.
*
* @param aResult A result code representing the result of loading
* a script. If this is a failure code, script evaluation
* will not occur.
* @param aElement The element being processed.
* @param aIsInline Is this an inline classic script (as opposed to an
* externally loaded classic script or module script)?
* @param aURI What is the URI of the script (the document URI if
* it is inline).
* @param aLineNo At what line does the script appear (generally 1
* if it is a loaded script).
*/
JS_HAZ_CAN_RUN_SCRIPT MOZ_CAN_RUN_SCRIPT NS_IMETHOD ScriptAvailable(
nsresult aResult, nsIScriptElement* aElement, bool aIsInlineClassicScript,
nsIURI* aURI, uint32_t aLineNo) = 0;
/**
* The script has been evaluated.
*
* @param aResult A result code representing the success or failure of
* the script evaluation.
* @param aElement The element being processed.
* @param aIsInline Is this an inline script or externally loaded?
*/
JS_HAZ_CAN_RUN_SCRIPT MOZ_CAN_RUN_SCRIPT NS_IMETHOD ScriptEvaluated(
nsresult aResult, nsIScriptElement* aElement, bool aIsInline) = 0;
};
#define NS_DECL_NSISCRIPTLOADEROBSERVER \
MOZ_CAN_RUN_SCRIPT NS_IMETHOD ScriptAvailable( \
nsresult aResult, nsIScriptElement* aElement, \
bool aIsInlineClassicScript, nsIURI* aURI, uint32_t aLineNo) override; \
MOZ_CAN_RUN_SCRIPT NS_IMETHOD ScriptEvaluated( \
nsresult aResult, nsIScriptElement* aElement, bool aIsInline) override;
#endif // MOZILLA_DOM_SCRIPT_NSISCRIPTLOADEROBSERVER_H_