2008-07-03 Cameron Zwarich <cwzwarich@uwaterloo.ca>
authorcwzwarich@webkit.org <cwzwarich@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Jul 2008 18:13:29 +0000 (18:13 +0000)
committercwzwarich@webkit.org <cwzwarich@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Jul 2008 18:13:29 +0000 (18:13 +0000)
        Reviewed by Geoff.

        Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
        https://bugs.webkit.org/show_bug.cgi?id=19853

        Remove the body of _NPN_SetException(), because it was simply calling
        throwError(), which sets an exception on an ExecState but does not
        actually handle it. The presence of an exception on the global ExecState
        causes assertions that there is no exception set on that ExecState to
        fail, as well as causing Machine::execute() to mistakingly return 0 in
        some cases, as it assumes the presence of an exception implies that it
        has run out of memory.

        * bridge/NP_jsobject.cpp:
        (_NPN_SetException):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@34982 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/bridge/NP_jsobject.cpp

index b2e1f15625a6e9e1199c575f1fd191f223ec9ae2..ed75d1661786788f9a2b8a5d77ce5281b841892d 100644 (file)
@@ -1,3 +1,21 @@
+2008-07-03  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
+
+        Reviewed by Geoff.
+
+        Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
+        https://bugs.webkit.org/show_bug.cgi?id=19853
+
+        Remove the body of _NPN_SetException(), because it was simply calling
+        throwError(), which sets an exception on an ExecState but does not
+        actually handle it. The presence of an exception on the global ExecState
+        causes assertions that there is no exception set on that ExecState to
+        fail, as well as causing Machine::execute() to mistakingly return 0 in
+        some cases, as it assumes the presence of an exception implies that it
+        has run out of memory.
+
+        * bridge/NP_jsobject.cpp:
+        (_NPN_SetException):
+
 2008-07-03  Maciej Katafiasz  <mathrick@gmail.com>
 
         Gtk build fix with SVG filters enabled
index 3c73d98fb3c3c1aa5216597b0a00601f83ff60b4..d66d1bad04239d64e9d6087d9ab98fd5b788e90b 100644 (file)
@@ -351,18 +351,11 @@ bool _NPN_HasMethod(NPP, NPObject* o, NPIdentifier methodName)
     return false;
 }
 
-void _NPN_SetException(NPObject* o, const NPUTF8* message)
+void _NPN_SetException(NPObject*, const NPUTF8*)
 {
-    if (o->_class == NPScriptObjectClass) {
-        JavaScriptObject* obj = (JavaScriptObject*)o; 
-        RootObject* rootObject = obj->rootObject;
-        if (!rootObject || !rootObject->isValid())
-            return;
-
-        ExecState* exec = rootObject->globalObject()->globalExec();
-        JSLock lock(false);
-        throwError(exec, GeneralError, message);
-    }
+    // FIXME:
+    // Bug 19888: Implement _NPN_SetException() correctly
+    // <https://bugs.webkit.org/show_bug.cgi?id=19888>
 }
 
 bool _NPN_Enumerate(NPP, NPObject *o, NPIdentifier **identifier, uint32_t *count)