@@ -67,6 +67,12 @@ public sealed class ChakraCoreJsEngine : JsEngineBase
6767 /// </summary>
6868 private readonly ScriptDispatcher _dispatcher = new ScriptDispatcher ( ) ;
6969
70+ /// <summary>
71+ /// Unique document name manager
72+ /// </summary>
73+ private readonly UniqueDocumentNameManager _documentNameManager =
74+ new UniqueDocumentNameManager ( DefaultDocumentName ) ;
75+
7076 /// <summary>
7177 /// Gets a name of JS engine
7278 /// </summary>
@@ -949,14 +955,16 @@ private static JsRuntimeException ConvertJsExceptionToJsRuntimeException(
949955
950956 protected override object InnerEvaluate ( string expression )
951957 {
952- return InnerEvaluate ( expression , string . Empty ) ;
958+ return InnerEvaluate ( expression , null ) ;
953959 }
954960
955961 protected override object InnerEvaluate ( string expression , string documentName )
956962 {
963+ string uniqueDocumentName = _documentNameManager . GetUniqueName ( documentName ) ;
964+
957965 object result = InvokeScript ( ( ) =>
958966 {
959- JsValue resultValue = JsContext . RunScript ( expression , _jsSourceContext ++ , documentName ) ;
967+ JsValue resultValue = JsContext . RunScript ( expression , _jsSourceContext ++ , uniqueDocumentName ) ;
960968
961969 return MapToHostType ( resultValue ) ;
962970 } ) ;
@@ -966,7 +974,7 @@ protected override object InnerEvaluate(string expression, string documentName)
966974
967975 protected override T InnerEvaluate < T > ( string expression )
968976 {
969- return InnerEvaluate < T > ( expression , string . Empty ) ;
977+ return InnerEvaluate < T > ( expression , null ) ;
970978 }
971979
972980 protected override T InnerEvaluate < T > ( string expression , string documentName )
@@ -978,12 +986,14 @@ protected override T InnerEvaluate<T>(string expression, string documentName)
978986
979987 protected override void InnerExecute ( string code )
980988 {
981- InnerExecute ( code , string . Empty ) ;
989+ InnerExecute ( code , null ) ;
982990 }
983991
984992 protected override void InnerExecute ( string code , string documentName )
985993 {
986- InvokeScript ( ( ) => JsContext . RunScript ( code , _jsSourceContext ++ , documentName ) ) ;
994+ string uniqueDocumentName = _documentNameManager . GetUniqueName ( documentName ) ;
995+
996+ InvokeScript ( ( ) => JsContext . RunScript ( code , _jsSourceContext ++ , uniqueDocumentName ) ) ;
987997 }
988998
989999 protected override object InnerCallFunction ( string functionName , params object [ ] args )
0 commit comments