示例#1
0
void XMLHttpRequest::abortError()
{
    genericError();
    m_progressEventThrottle.dispatchEvent(XMLHttpRequestProgressEvent::create(eventNames().abortEvent));
    if (!m_uploadComplete) {
        m_uploadComplete = true;
        if (m_upload && m_uploadEventsAllowed)
            m_upload->dispatchEvent(XMLHttpRequestProgressEvent::create(eventNames().abortEvent));
    }
}
示例#2
0
void XMLHttpRequest::abortError()
{
    genericError();
    dispatchAbortEvent();
    if (!m_uploadComplete) {
        m_uploadComplete = true;
        if (m_upload)
            m_upload->dispatchAbortEvent();
    }
}
示例#3
0
void XMLHttpRequest::networkError()
{
    genericError();
    dispatchErrorEvent();
    if (!m_uploadComplete) {
        m_uploadComplete = true;
        if (m_upload)
            m_upload->dispatchErrorEvent();
    }
}
示例#4
0
void XMLHttpRequest::networkError()
{
    genericError();
    m_progressEventThrottle.dispatchEventAndLoadEnd(XMLHttpRequestProgressEvent::create(eventNames().errorEvent));
    if (!m_uploadComplete) {
        m_uploadComplete = true;
        if (m_upload && m_uploadEventsAllowed)
            m_upload->dispatchEventAndLoadEnd(XMLHttpRequestProgressEvent::create(eventNames().errorEvent));
    }
    internalAbort();
}
示例#5
0
void XMLHttpRequest::networkError()
{
    genericError();
    dispatchErrorEvent();
    if (!m_uploadComplete) {
        m_uploadComplete = true;
        if (m_upload && m_uploadEventsAllowed)
            m_upload->dispatchErrorEvent();
    }
    internalAbort();
}
示例#6
0
void XMLHttpRequest::abortError()
{
    genericError();
    dispatchErrorEvents(eventNames().abortEvent);
}
示例#7
0
void XMLHttpRequest::networkError()
{
    genericError();
    dispatchErrorEvents(eventNames().errorEvent);
    internalAbort();
}
示例#8
0
void XMLHttpRequest::abortError()
{
    genericError();
    dispatchAbortEvent();
}
示例#9
0
void XMLHttpRequest::networkError()
{
    genericError();
    dispatchErrorEvent();
}
示例#10
0
void MemoryDump::init()
{
#define memDumpInitError(e) \
    genericError("Failed to initialize this MemoryDump instance with " \
                 "required run-time values from the dump. Error was: " + \
                 e.message)


    // Open virtual memory for reading
    if (!_vmem->open(QIODevice::ReadOnly))
        throw IOException(
                QString("Error opening virtual memory (filename=\"%1\")").arg(_fileName),
                __FILE__,
                __LINE__);

    // The virtual address translation depends on the runtime
    // value of "high_memory". We need to query its value and add it to
    // _specs.vmallocStart before we can translate paged addresses.
    try {
        Instance highMem = queryInstance("high_memory");
        _specs.highMemory = (_specs.sizeofPointer == 4) ?
                    (quint64)highMem.toUInt32() : highMem.toUInt64();
    }
    catch (QueryException& e) {
        if (!_factory->findVarByName("high_memory")) {
            // This is a failure for 32-bit systems
            if (_specs.arch & MemSpecs::ar_i386)
                memDumpInitError(e);
            // Resort to the failsafe value for 64-bit systems
            else {
                debugmsg("Variable \"high_memory\" not found, resorting to "
                         "failsafe default value");
                _specs.highMemory = HIGH_MEMORY_FAILSAFE_X86_64;
            }
        }
        else
            memDumpInitError(e);
    }

    if (_specs.arch & MemSpecs::ar_i386) {
        // This symbol only exists depending on the kernel version
        QString ve_name("vmalloc_earlyreserve");
        if (_factory->findVarByName(ve_name)) {
            try {
                Instance ve = queryInstance(ve_name);
                _specs.vmallocEarlyreserve = ve.toUInt32();
            }
            catch (QueryException& e) {
                genericError("Failed to initialize this MemoryDump instance with "
                        "required run-time values from the dump. Error was: " + e.message);
            }
        }
        else
            _specs.vmallocEarlyreserve = 0;
    }

    // Compare the Linux kernel version to the parsed symbols
    QString uts_ns_name("init_uts_ns");
    if (!_specs.version.release.isEmpty() &&
        _factory->findVarByName(uts_ns_name))
    {
        try {
            struct MemSpecs::Version ver;
            Instance uts_ns = queryInstance(uts_ns_name);
            uts_ns = getNextInstance("name", uts_ns, ksNone);
            // Read in all version information
            if (!_specs.version.machine.isEmpty())
                ver.machine = trimQuotes(
                            uts_ns.member("machine",
                                          BaseType::trLexical).toString());
            if (!_specs.version.release.isEmpty())
                ver.release = trimQuotes(
                            uts_ns.member("release",
                                          BaseType::trLexical).toString());
            if (!_specs.version.sysname.isEmpty())
                ver.sysname = trimQuotes(
                            uts_ns.member("sysname",
                                          BaseType::trLexical).toString());
            if (!_specs.version.version.isEmpty())
                ver.version = trimQuotes(
                            uts_ns.member("version",
                                          BaseType::trLexical).toString());

            if (!_specs.version.equals(ver)) {
                Console::errMsg("WARNING",
                                QString("The memory in '%0' belongs to a "
                                        "different kernel version than the "
                                        "loaded symbols!\n"
                                        "  Kernel symbols: %1\n"
                                        "  Memory file:    %2")
                                .arg(ShellUtil::shortFileName(_fileName))
                                .arg(_specs.version.toString())
                                .arg(ver.toString()));
            }
        }
        catch (QueryException& e) {
            genericError("Failed to retrieve kernel version information of "
                         "this memory dump. Error was: " + e.message);
        }
    }

    // Initialization done
    _specs.initialized = true;
}