Title: [133253] trunk/Source/WebKit/blackberry
Revision
133253
Author
[email protected]
Date
2012-11-01 18:40:18 -0700 (Thu, 01 Nov 2012)

Log Message

[BlackBerry] Simplify the code of returning JSValue in "BlackBerry::WebKit::WebPagePrivate::executeJavaScript"
https://bugs.webkit.org/show_bug.cgi?id=100941

Patch by Peter Wang <[email protected]> on 2012-11-01
Reviewed by Yong Li.

Remove the unnecessary steps, just directly deal with returned JSValue.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
(BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/Api/WebPage.cpp (133252 => 133253)


--- trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-11-02 01:38:30 UTC (rev 133252)
+++ trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-11-02 01:40:18 UTC (rev 133253)
@@ -780,36 +780,25 @@
         return false;
     }
 
-    JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
-    JSGlobalContextRef context = toGlobalRef(exec);
-
-    JSC::JSLockHolder lock(exec);
-    JSType type = JSValueGetType(context, toRef(exec, value));
-
-    switch (type) {
-    case kJSTypeNull:
+    if (value.isUndefined())
+        returnType = JSUndefined;
+    else if (value.isNull())
         returnType = JSNull;
-        break;
-    case kJSTypeBoolean:
+    else if (value.isBoolean())
         returnType = JSBoolean;
-        break;
-    case kJSTypeNumber:
+    else if (value.isNumber())
         returnType = JSNumber;
-        break;
-    case kJSTypeString:
+    else if (value.isString())
         returnType = JSString;
-        break;
-    case kJSTypeObject:
+    else if (value.isObject())
         returnType = JSObject;
-        break;
-    case kJSTypeUndefined:
-    default:
+    else
         returnType = JSUndefined;
-        break;
-    }
 
-    if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject)
+    if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject) {
+        JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
         returnValue = result.toString(exec);
+    }
 
     return true;
 }
@@ -832,36 +821,25 @@
         return false;
     }
 
-    JSC::ExecState* exec = m_mainFrame->script()->globalObject(m_isolatedWorld.get())->globalExec();
-    JSGlobalContextRef context = toGlobalRef(exec);
-
-    JSC::JSLockHolder lock(exec);
-    JSType type = JSValueGetType(context, toRef(exec, value));
-
-    switch (type) {
-    case kJSTypeNull:
+    if (value.isUndefined())
+        returnType = JSUndefined;
+    else if (value.isNull())
         returnType = JSNull;
-        break;
-    case kJSTypeBoolean:
+    else if (value.isBoolean())
         returnType = JSBoolean;
-        break;
-    case kJSTypeNumber:
+    else if (value.isNumber())
         returnType = JSNumber;
-        break;
-    case kJSTypeString:
+    else if (value.isString())
         returnType = JSString;
-        break;
-    case kJSTypeObject:
+    else if (value.isObject())
         returnType = JSObject;
-        break;
-    case kJSTypeUndefined:
-    default:
+    else
         returnType = JSUndefined;
-        break;
-    }
 
-    if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject)
+    if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject) {
+        JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
         returnValue = result.toString(exec);
+    }
 
     return true;
 }

Modified: trunk/Source/WebKit/blackberry/ChangeLog (133252 => 133253)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-11-02 01:38:30 UTC (rev 133252)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-11-02 01:40:18 UTC (rev 133253)
@@ -1,3 +1,16 @@
+2012-11-01  Peter Wang  <[email protected]>
+
+        [BlackBerry] Simplify the code of returning JSValue in "BlackBerry::WebKit::WebPagePrivate::executeJavaScript"
+        https://bugs.webkit.org/show_bug.cgi?id=100941
+
+        Reviewed by Yong Li.
+
+        Remove the unnecessary steps, just directly deal with returned JSValue.
+
+        * Api/WebPage.cpp:
+        (BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
+        (BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld):
+
 2012-11-01  Otto Derek Cheung  <[email protected]>
 
         [BlackBerry] Add a prompt to enable global location services
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to