Repository: incubator-weex
Updated Branches:
  refs/heads/master a2f1f13a9 -> 075da7024


* [iOS] set the protoType of Vue to the protoType of globalObject


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2edbeddf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2edbeddf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2edbeddf

Branch: refs/heads/master
Commit: 2edbeddf011545380c5d8dd51ac67b029db13d62
Parents: 0090cb8
Author: acton393 <[email protected]>
Authored: Wed Dec 20 11:07:57 2017 +0800
Committer: acton393 <[email protected]>
Committed: Wed Dec 20 11:07:57 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2edbeddf/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m 
b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
index 5828d3c..13b92c8 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
@@ -471,7 +471,16 @@ _Pragma("clang diagnostic pop") \
             JSClassRelease(globalObjectClass);
             sdkInstance.instanceJavaScriptContext = [JSContext 
contextWithJSGlobalContextRef:sandboxGlobalContextRef];
             JSGlobalContextRelease(sandboxGlobalContextRef);
-            
JSObjectSetPrototype(sdkInstance.instanceJavaScriptContext.JSGlobalContextRef,JSContextGetGlobalObject(sdkInstance.instanceJavaScriptContext.JSGlobalContextRef),
 [instanceContextEnvironment JSValueRef]);
+            JSContextRef instanceContextRef = 
sdkInstance.instanceJavaScriptContext.JSGlobalContextRef;
+            JSObjectRef globalObject = 
JSContextGetGlobalObject(sdkInstance.instanceJavaScriptContext.JSGlobalContextRef);
+            for (NSString * key in [[instanceContextEnvironment toDictionary] 
allKeys]) {
+                JSStringRef propertyName = JSStringCreateWithUTF8CString([key 
cStringUsingEncoding:NSUTF8StringEncoding]);
+                if ([key isEqualToString:@"Vue"]) {
+                    JSObjectSetPrototype(instanceContextRef, 
JSValueToObject(instanceContextRef, [instanceContextEnvironment 
valueForProperty:key].JSValueRef, NULL), 
JSObjectGetPrototype(instanceContextRef, globalObject));
+                }
+                JSObjectSetProperty(instanceContextRef, globalObject, 
propertyName, [instanceContextEnvironment valueForProperty:key].JSValueRef, 0, 
NULL);
+            }
+            
             [sdkInstance.instanceJavaScriptContext 
evaluateScript:jsBundleString];
         }];
     } else {

Reply via email to