[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

eric at webkit.org eric at webkit.org
Thu Feb 4 21:36:43 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit f90d6a0a70687ac2eaca3dfef30c29a0ec0f485b
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Feb 2 12:43:40 2010 +0000

    2010-02-02  Kavita Kanetkar  <kkanetkar at chromium.org>
    
            Reviewed by Dmitry Titov.
    
            [V8] Raising an exception while setting timeout/interval from a detached frame
            https://bugs.webkit.org/show_bug.cgi?id=34453
            This fixes the issue/failing test mentioned in Chromium bug:
            http://code.google.com/p/chromium/issues/detail?id=32671
    
            * bindings/v8/custom/V8DOMWindowCustom.cpp:
            (WebCore::WindowSetTimeoutImpl):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54227 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index ca4ead9..d171bc0 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-02-02  Kavita Kanetkar  <kkanetkar at chromium.org>
+
+        Reviewed by Dmitry Titov.
+
+        [V8] Raising an exception while setting timeout/interval from a detached frame
+        https://bugs.webkit.org/show_bug.cgi?id=34453
+        This fixes the issue/failing test mentioned in Chromium bug:
+        http://code.google.com/p/chromium/issues/detail?id=32671
+
+
+        * bindings/v8/custom/V8DOMWindowCustom.cpp:
+        (WebCore::WindowSetTimeoutImpl):
+
 2010-02-02  Kwang Yul Seo  <skyul at company100.net>
 
         Reviewed by Eric Seidel.
diff --git a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
index 5460f50..1e2f949 100644
--- a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
@@ -78,8 +78,15 @@ v8::Handle<v8::Value> WindowSetTimeoutImpl(const v8::Arguments& args, bool singl
     if (argumentCount < 1)
         return v8::Undefined();
 
-    v8::Handle<v8::Value> function = args[0];
+    DOMWindow* imp = V8DOMWindow::toNative(args.Holder());
+    ScriptExecutionContext* scriptContext = static_cast<ScriptExecutionContext*>(imp->document());
 
+    if (!scriptContext) {
+        V8Proxy::setDOMException(INVALID_ACCESS_ERR);
+        return v8::Undefined();
+    }
+
+    v8::Handle<v8::Value> function = args[0];
     WebCore::String functionString;
     if (!function->IsFunction()) {
         if (function->IsString())
@@ -104,16 +111,9 @@ v8::Handle<v8::Value> WindowSetTimeoutImpl(const v8::Arguments& args, bool singl
     if (argumentCount >= 2)
         timeout = args[1]->Int32Value();
 
-    DOMWindow* imp = V8DOMWindow::toNative(args.Holder());
-
     if (!V8BindingSecurity::canAccessFrame(V8BindingState::Only(), imp->frame(), true))
         return v8::Undefined();
 
-    ScriptExecutionContext* scriptContext = static_cast<ScriptExecutionContext*>(imp->document());
-
-    if (!scriptContext)
-        return v8::Undefined();
-
     int id;
     if (function->IsFunction()) {
         int paramCount = argumentCount >= 2 ? argumentCount - 2 : 0;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list