Skip to content
  • yurys@chromium.org's avatar
    2010-12-13 Yury Semikhatsky <yurys@chromium.org> · 68b2822e
    yurys@chromium.org authored
            Reviewed by Adam Barth.
    
            WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
            https://bugs.webkit.org/show_bug.cgi?id=8519
    
            Uncaught exceptions are propagated to window.onerror hander if one is present.
            The handler is expected to be a function accepting three arguments: error message,
            resource url and line number where the exception occured.
    
            * fast/events/resources/window-onerror.js: Added.
            (throwException):
            * fast/events/window-onerror1-expected.txt: Added.
            * fast/events/window-onerror1.html: Added.
            * fast/events/window-onerror10-expected.txt: Added.
            * fast/events/window-onerror10.html: Added.
            * fast/events/window-onerror11-expected.txt: Added.
            * fast/events/window-onerror11.html: Added.
            * fast/events/window-onerror2-expected.txt: Added.
            * fast/events/window-onerror2.html: Added.
            * fast/events/window-onerror3-expected.txt: Added.
            * fast/events/window-onerror3.html: Added.
            * fast/events/window-onerror4-expected.txt: Added.
            * fast/events/window-onerror4.html: Added.
            * fast/events/window-onerror5-expected.txt: Added.
            * fast/events/window-onerror5.html: Added.
            * fast/events/window-onerror6-expected.txt: Added.
            * fast/events/window-onerror6.html: Added.
            * fast/events/window-onerror7-expected.txt: Added.
            * fast/events/window-onerror7.html: Added.
            * fast/events/window-onerror8-expected.txt: Added.
            * fast/events/window-onerror8.html: Added.
            * fast/events/window-onerror9-expected.txt: Added.
            * fast/events/window-onerror9.html: Added.
            * fast/workers/worker-script-error-expected.txt:
            * http/tests/security/resources/onerror-iframe.html: Added.
            * http/tests/security/window-onerror-exception-in-iframe-expected.txt: Added.
            * http/tests/security/window-onerror-exception-in-iframe.html: Added.
            * platform/chromium-win/fast/workers/worker-script-error-expected.txt:
            * platform/chromium/fast/events/window-onerror1-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror10-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror11-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror2-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror3-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror4-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror5-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror6-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror7-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror8-expected.txt: Added.
            * platform/chromium/fast/events/window-onerror9-expected.txt: Added.
            * platform/chromium/http/tests/security/window-onerror-exception-in-iframe-expected.txt: Added.
            * platform/chromium/userscripts/window-onerror-for-isolated-world-1-expected.txt: Added.
            * platform/chromium/userscripts/window-onerror-for-isolated-world-2-expected.txt: Added.
            * userscripts/window-onerror-for-isolated-world-1-expected.txt: Added.
            * userscripts/window-onerror-for-isolated-world-1.html: Added.
            * userscripts/window-onerror-for-isolated-world-2-expected.txt: Added.
            * userscripts/window-onerror-for-isolated-world-2.html: Added.
    2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
    
            Reviewed by Adam Barth.
    
            WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
            https://bugs.webkit.org/show_bug.cgi?id=8519
    
            Uncaught exceptions are propagated to window.onerror hander if one is present.
            The handler is expected to be a function accepting three arguments: error message,
            resource url and line number where the exception occured.
    
            It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
            were created in the same isolated world where the exception occured or not.
    
            Tests: fast/events/window-onerror1.html
                   fast/events/window-onerror10.html
                   fast/events/window-onerror11.html
                   fast/events/window-onerror2.html
                   fast/events/window-onerror3.html
                   fast/events/window-onerror4.html
                   fast/events/window-onerror5.html
                   fast/events/window-onerror6.html
                   fast/events/window-onerror7.html
                   fast/events/window-onerror8.html
                   fast/events/window-onerror9.html
                   http/tests/security/window-onerror-exception-in-iframe.html
                   userscripts/window-onerror-for-isolated-world-1.html
                   userscripts/window-onerror-for-isolated-world-2.html
    
            * Android.jscbindings.mk:
            * CMakeLists.txt:
            * GNUmakefile.am:
            * WebCore.gypi:
            * WebCore.order:
            * WebCore.pro:
            * WebCore.vcproj/WebCore.vcproj:
            * WebCore.xcodeproj/project.pbxproj:
            * bindings/js/JSBindingsAllInOne.cpp:
            * bindings/js/JSDOMBinding.cpp:
            (WebCore::reportException):
            * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
            (WebCore::JSErrorHandler::JSErrorHandler):
            (WebCore::JSErrorHandler::~JSErrorHandler):
            (WebCore::JSErrorHandler::handleEvent):
            * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
            (WebCore::JSErrorHandler::create):
            (WebCore::createJSErrorHandler):
            * bindings/scripts/CodeGeneratorJS.pm:
            * bindings/scripts/CodeGeneratorV8.pm:
            * bindings/v8/V8ConsoleMessage.cpp:
            (WebCore::V8ConsoleMessage::dispatchNow):
            (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
            reporting mechanism which is also used by JSC bindings.
            * bindings/v8/V8ConsoleMessage.h:
            * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
            (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
            (WebCore::V8WindowErrorHandler::callListenerFunction):
            * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
            (WebCore::V8WindowErrorHandler::create):
            * bindings/v8/WorkerContextExecutionProxy.cpp:
            (WebCore::v8MessageHandler):
            * bindings/v8/WorkerScriptController.cpp:
            (WebCore::WorkerScriptController::evaluate):
            * dom/Document.cpp:
            (WebCore::Document::errorEventTarget):
            (WebCore::Document::logExceptionToConsole):
            * dom/Document.h:
            * dom/ScriptExecutionContext.cpp:
            (WebCore::ScriptExecutionContext::PendingException::PendingException):
            (WebCore::ScriptExecutionContext::ScriptExecutionContext):
            (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
            ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
            (WebCore::ScriptExecutionContext::dispatchErrorEvent):
            * dom/ScriptExecutionContext.h:
            * workers/DefaultSharedWorkerRepository.cpp:
            (WebCore::postExceptionTask):
            * workers/WorkerContext.cpp:
            (WebCore::WorkerContext::WorkerContext):
            (WebCore::WorkerContext::errorEventTarget):
            (WebCore::WorkerContext::logExceptionToConsole):
            * workers/WorkerContext.h:
            * workers/WorkerMessagingProxy.cpp:
            (WebCore::WorkerExceptionTask::performTask):
    2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
    
            Reviewed by Adam Barth.
    
            WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
            https://bugs.webkit.org/show_bug.cgi?id=8519
    
            Uncaught exceptions are propagated to window.onerror hander if one is present.
            The handler is expected to be a function accepting three arguments: error message,
            resource url and line number where the exception occured.
    
            * src/WebWorkerClientImpl.cpp:
            (WebKit::WebWorkerClientImpl::postExceptionToWorkerObject):
            (WebKit::WebWorkerClientImpl::postExceptionToWorkerObjectTask):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    68b2822e