NS_IMETHODIMP
nsScriptErrorBase::InitWithWindowID(const nsAString& message,
                                    const nsAString& sourceName,
                                    const nsAString& sourceLine,
                                    uint32_t lineNumber,
                                    uint32_t columnNumber,
                                    uint32_t flags,
                                    const nsACString& category,
                                    uint64_t aInnerWindowID)
{
    mMessage.Assign(message);
    AssignSourceNameHelper(mSourceName, sourceName);
    mLineNumber = lineNumber;
    mSourceLine.Assign(sourceLine);
    mColumnNumber = columnNumber;
    mFlags = flags;
    mCategory = category;
    mTimeStamp = JS_Now() / 1000;
    mInnerWindowID = aInnerWindowID;

    if (aInnerWindowID && NS_IsMainThread())
        InitializeOnMainThread();

    return NS_OK;
}
void
nsScriptErrorNote::Init(const nsAString& message,
                        const nsAString& sourceName,
                        uint32_t lineNumber,
                        uint32_t columnNumber)
{
    mMessage.Assign(message);
    AssignSourceNameHelper(mSourceName, sourceName);
    mLineNumber = lineNumber;
    mColumnNumber = columnNumber;
}
NS_IMETHODIMP
nsScriptErrorBase::InitWithSourceURI(const nsAString& message,
                                     nsIURI *sourceURI,
                                     const nsAString& sourceLine,
                                     uint32_t lineNumber,
                                     uint32_t columnNumber,
                                     uint32_t flags,
                                     const nsACString& category,
                                     uint64_t aInnerWindowID)
{
    InitializationHelper(message, sourceLine, lineNumber, columnNumber, flags,
                         category, aInnerWindowID);
    AssignSourceNameHelper(sourceURI, mSourceName);

    if (aInnerWindowID && NS_IsMainThread())
        InitializeOnMainThread();

    return NS_OK;
}
NS_IMETHODIMP
nsScriptErrorBase::Init(const nsAString& message,
                        const nsAString& sourceName,
                        const nsAString& sourceLine,
                        uint32_t lineNumber,
                        uint32_t columnNumber,
                        uint32_t flags,
                        const char* category,
                        bool fromPrivateWindow)
{
    InitializationHelper(message, sourceLine, lineNumber, columnNumber, flags,
                         category ? nsDependentCString(category)
                                  : EmptyCString(),
                         0 /* inner Window ID */);
    AssignSourceNameHelper(mSourceName, sourceName);

    mIsFromPrivateWindow = fromPrivateWindow;
    return NS_OK;
}