mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-10 02:08:38 +09:00
1332245 - Move nsScriptError from js/xpconnect to dom/bindings.
This commit is contained in:
parent
0982e6f95b
commit
19854690b7
19 changed files with 335 additions and 83 deletions
122
dom/bindings/nsIScriptError.idl
Normal file
122
dom/bindings/nsIScriptError.idl
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* 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/. */
|
||||
|
||||
/*
|
||||
* nsIConsoleMessage subclass for representing JavaScript errors and warnings.
|
||||
*/
|
||||
|
||||
|
||||
#include "nsISupports.idl"
|
||||
#include "nsIConsoleMessage.idl"
|
||||
|
||||
%{C++
|
||||
#include "nsStringGlue.h" // for nsDependentCString
|
||||
%}
|
||||
|
||||
[scriptable, uuid(361be358-76f0-47aa-b37b-6ad833599e8d)]
|
||||
interface nsIScriptError : nsIConsoleMessage
|
||||
{
|
||||
/** pseudo-flag for default case */
|
||||
const unsigned long errorFlag = 0x0;
|
||||
|
||||
/** message is warning */
|
||||
const unsigned long warningFlag = 0x1;
|
||||
|
||||
/** exception was thrown for this case - exception-aware hosts can ignore */
|
||||
const unsigned long exceptionFlag = 0x2;
|
||||
|
||||
// XXX check how strict is implemented these days.
|
||||
/** error or warning is due to strict option */
|
||||
const unsigned long strictFlag = 0x4;
|
||||
|
||||
/** just a log message */
|
||||
const unsigned long infoFlag = 0x8;
|
||||
|
||||
/**
|
||||
* The error message without any context/line number information.
|
||||
*
|
||||
* @note nsIConsoleMessage.message will return the error formatted
|
||||
* with file/line information.
|
||||
*/
|
||||
readonly attribute AString errorMessage;
|
||||
|
||||
readonly attribute AString sourceName;
|
||||
readonly attribute AString sourceLine;
|
||||
readonly attribute uint32_t lineNumber;
|
||||
readonly attribute uint32_t columnNumber;
|
||||
readonly attribute uint32_t flags;
|
||||
|
||||
/**
|
||||
* Categories I know about -
|
||||
* XUL javascript
|
||||
* content javascript (both of these from nsDocShell, currently)
|
||||
* system javascript (errors in JS components and other system JS)
|
||||
*/
|
||||
readonly attribute string category;
|
||||
|
||||
/* Get the window id this was initialized with. Zero will be
|
||||
returned if init() was used instead of initWithWindowID(). */
|
||||
readonly attribute unsigned long long outerWindowID;
|
||||
|
||||
/* Get the inner window id this was initialized with. Zero will be
|
||||
returned if init() was used instead of initWithWindowID(). */
|
||||
readonly attribute unsigned long long innerWindowID;
|
||||
|
||||
readonly attribute boolean isFromPrivateWindow;
|
||||
|
||||
attribute jsval stack;
|
||||
|
||||
/**
|
||||
* The name of a template string, as found in js.msg, associated with the
|
||||
* error message.
|
||||
*/
|
||||
attribute AString errorMessageName;
|
||||
|
||||
|
||||
void init(in AString message,
|
||||
in AString sourceName,
|
||||
in AString sourceLine,
|
||||
in uint32_t lineNumber,
|
||||
in uint32_t columnNumber,
|
||||
in uint32_t flags,
|
||||
in string category);
|
||||
|
||||
/* This should be called instead of nsIScriptError.init to
|
||||
initialize with a window id. The window id should be for the
|
||||
inner window associated with this error. */
|
||||
void initWithWindowID(in AString message,
|
||||
in AString sourceName,
|
||||
in AString sourceLine,
|
||||
in uint32_t lineNumber,
|
||||
in uint32_t columnNumber,
|
||||
in uint32_t flags,
|
||||
in ACString category,
|
||||
in unsigned long long innerWindowID);
|
||||
%{C++
|
||||
// This overload allows passing a literal string for category.
|
||||
template<uint32_t N>
|
||||
nsresult InitWithWindowID(const nsAString& message,
|
||||
const nsAString& sourceName,
|
||||
const nsAString& sourceLine,
|
||||
uint32_t lineNumber,
|
||||
uint32_t columnNumber,
|
||||
uint32_t flags,
|
||||
const char (&c)[N],
|
||||
uint64_t aInnerWindowID)
|
||||
{
|
||||
nsDependentCString category(c, N - 1);
|
||||
return InitWithWindowID(message, sourceName, sourceLine, lineNumber,
|
||||
columnNumber, flags, category, aInnerWindowID);
|
||||
}
|
||||
%}
|
||||
|
||||
};
|
||||
|
||||
%{ C++
|
||||
#define NS_SCRIPTERROR_CID \
|
||||
{ 0x1950539a, 0x90f0, 0x4d22, { 0xb5, 0xaf, 0x71, 0x32, 0x9c, 0x68, 0xfa, 0x35 }}
|
||||
|
||||
#define NS_SCRIPTERROR_CONTRACTID "@mozilla.org/scripterror;1"
|
||||
%}
|
||||
Loading…
Add table
Add a link
Reference in a new issue