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;
}
Beispiel #2
0
NS_IMETHODIMP
nsScriptErrorBase::GetIsFromPrivateWindow(bool* aIsFromPrivateWindow)
{
    NS_WARN_IF_FALSE(NS_IsMainThread() || mInitializedOnMainThread,
                     "This can't be safely determined off the main thread, "
                     "returning an inaccurate value!");

    if (!mInitializedOnMainThread && NS_IsMainThread()) {
        InitializeOnMainThread();
    }

    *aIsFromPrivateWindow = mIsFromPrivateWindow;
    return NS_OK;
}
Beispiel #3
0
NS_IMETHODIMP
nsScriptErrorBase::GetOuterWindowID(uint64_t* aOuterWindowID)
{
    NS_WARN_IF_FALSE(NS_IsMainThread() || mInitializedOnMainThread,
                     "This can't be safely determined off the main thread, "
                     "returning an inaccurate value!");

    if (!mInitializedOnMainThread && NS_IsMainThread()) {
        InitializeOnMainThread();
    }

    *aOuterWindowID = mOuterWindowID;
    return NS_OK;
}
Beispiel #4
0
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);

    if (!sourceName.IsEmpty()) {
        mSourceName.Assign(sourceName);

        nsCOMPtr<nsIURI> uri;
        nsAutoCString pass;
        if (NS_SUCCEEDED(NS_NewURI(getter_AddRefs(uri), sourceName)) &&
            NS_SUCCEEDED(uri->GetPassword(pass)) &&
            !pass.IsEmpty()) {
            nsCOMPtr<nsISensitiveInfoHiddenURI> safeUri =
                do_QueryInterface(uri);

            nsAutoCString loc;
            if (safeUri &&
                NS_SUCCEEDED(safeUri->GetSensitiveInfoHiddenSpec(loc))) {
                mSourceName.Assign(NS_ConvertUTF8toUTF16(loc));
            }
        }
    }

    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;
}
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;
}