[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

dimich at chromium.org dimich at chromium.org
Thu Apr 8 01:57:53 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 3af89ec88c1a125cd78218f73822dfbf683e2f31
Author: dimich at chromium.org <dimich at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Feb 24 02:05:46 2010 +0000

    Chromium: Use V8::TerminateExecution to actually terminate workers.
    https://bugs.webkit.org/show_bug.cgi?id=35137
    
    Reviewed by David Levin.
    
    Test: existing fast/workers/stress-js-execution.html which is currently failing
    on Mac and Linux bots for Chromium.
    
    * bindings/v8/WorkerContextExecutionProxy.cpp:
    (WebCore::WorkerContextExecutionProxy::evaluate):
    * bindings/v8/WorkerScriptController.cpp:
    (WebCore::WorkerScriptController::forbidExecution):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55180 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index cacc673..f606761 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-02-23  Dmitry Titov  <dimich at chromium.org>
+
+        Reviewed by David Levin.
+
+        Chromium: Use V8::TerminateExecution to actually terminate workers.
+        https://bugs.webkit.org/show_bug.cgi?id=35137
+
+        Test: existing fast/workers/stress-js-execution.html which is currently failing
+        on Mac and Linux bots for Chromium.
+
+        * bindings/v8/WorkerContextExecutionProxy.cpp:
+        (WebCore::WorkerContextExecutionProxy::evaluate):
+        * bindings/v8/WorkerScriptController.cpp:
+        (WebCore::WorkerScriptController::forbidExecution):
+
 2010-02-23  Enrica Casucci  <enrica at apple.com>
 
         Reviewed by Simon Fraser.
diff --git a/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp b/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp
index b7e147f..d50e876 100644
--- a/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp
+++ b/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp
@@ -183,6 +183,9 @@ ScriptValue WorkerContextExecutionProxy::evaluate(const String& script, const St
     v8::Handle<v8::Script> compiledScript = V8Proxy::compileScript(scriptString, fileName, baseLine);
     v8::Local<v8::Value> result = runScript(compiledScript);
 
+    if (!exceptionCatcher.CanContinue())
+        return ScriptValue();
+
     if (exceptionCatcher.HasCaught()) {
         v8::Local<v8::Message> message = exceptionCatcher.Message();
         state->hadException = true;
diff --git a/WebCore/bindings/v8/WorkerScriptController.cpp b/WebCore/bindings/v8/WorkerScriptController.cpp
index f2311bf..38063c0 100644
--- a/WebCore/bindings/v8/WorkerScriptController.cpp
+++ b/WebCore/bindings/v8/WorkerScriptController.cpp
@@ -90,6 +90,7 @@ void WorkerScriptController::forbidExecution()
     // This function is called from another thread.
     MutexLocker lock(m_sharedDataMutex);
     m_executionForbidden = true;
+    v8::V8::TerminateExecution();
 }
 
 void WorkerScriptController::setException(ScriptValue exception)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list