Changeset 133253 in webkit
- Timestamp:
- Nov 1, 2012 6:40:18 PM (11 years ago)
- Location:
- trunk/Source/WebKit/blackberry
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/blackberry/Api/WebPage.cpp
r133097 r133253 781 781 } 782 782 783 JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec(); 784 JSGlobalContextRef context = toGlobalRef(exec); 785 786 JSC::JSLockHolder lock(exec); 787 JSType type = JSValueGetType(context, toRef(exec, value)); 788 789 switch (type) { 790 case kJSTypeNull: 783 if (value.isUndefined()) 784 returnType = JSUndefined; 785 else if (value.isNull()) 791 786 returnType = JSNull; 792 break; 793 case kJSTypeBoolean: 787 else if (value.isBoolean()) 794 788 returnType = JSBoolean; 795 break; 796 case kJSTypeNumber: 789 else if (value.isNumber()) 797 790 returnType = JSNumber; 798 break; 799 case kJSTypeString: 791 else if (value.isString()) 800 792 returnType = JSString; 801 break; 802 case kJSTypeObject: 793 else if (value.isObject()) 803 794 returnType = JSObject; 804 break; 805 case kJSTypeUndefined: 806 default: 795 else 807 796 returnType = JSUndefined; 808 break; 809 } 810 811 if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject) 797 798 if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject) { 799 JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec(); 812 800 returnValue = result.toString(exec); 801 } 813 802 814 803 return true; … … 833 822 } 834 823 835 JSC::ExecState* exec = m_mainFrame->script()->globalObject(m_isolatedWorld.get())->globalExec(); 836 JSGlobalContextRef context = toGlobalRef(exec); 837 838 JSC::JSLockHolder lock(exec); 839 JSType type = JSValueGetType(context, toRef(exec, value)); 840 841 switch (type) { 842 case kJSTypeNull: 824 if (value.isUndefined()) 825 returnType = JSUndefined; 826 else if (value.isNull()) 843 827 returnType = JSNull; 844 break; 845 case kJSTypeBoolean: 828 else if (value.isBoolean()) 846 829 returnType = JSBoolean; 847 break; 848 case kJSTypeNumber: 830 else if (value.isNumber()) 849 831 returnType = JSNumber; 850 break; 851 case kJSTypeString: 832 else if (value.isString()) 852 833 returnType = JSString; 853 break; 854 case kJSTypeObject: 834 else if (value.isObject()) 855 835 returnType = JSObject; 856 break; 857 case kJSTypeUndefined: 858 default: 836 else 859 837 returnType = JSUndefined; 860 break; 861 } 862 863 if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject) 838 839 if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject) { 840 JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec(); 864 841 returnValue = result.toString(exec); 842 } 865 843 866 844 return true; -
trunk/Source/WebKit/blackberry/ChangeLog
r133247 r133253 1 2012-11-01 Peter Wang <peter.wang@torchmobile.com.cn> 2 3 [BlackBerry] Simplify the code of returning JSValue in "BlackBerry::WebKit::WebPagePrivate::executeJavaScript" 4 https://bugs.webkit.org/show_bug.cgi?id=100941 5 6 Reviewed by Yong Li. 7 8 Remove the unnecessary steps, just directly deal with returned JSValue. 9 10 * Api/WebPage.cpp: 11 (BlackBerry::WebKit::WebPagePrivate::executeJavaScript): 12 (BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld): 13 1 14 2012-11-01 Otto Derek Cheung <otcheung@rim.com> 2 15
Note: See TracChangeset
for help on using the changeset viewer.