/// <summary>
        /// Constructs a instance of adapter for MSIE JavaScript engine
        /// </summary>
        /// <param name="config">Configuration settings of MSIE JavaScript engine</param>
        public MsieJsEngine(MsieConfiguration config)
        {
            MsieConfiguration msieConfig = config ?? new MsieConfiguration();

            try
            {
                _jsEngine = new OriginalJsEngine(new OriginalJsEngineSettings
                {
                    EngineMode = Utils.GetEnumFromOtherEnum <JsEngineMode, OriginalJsEngineMode>(
                        msieConfig.EngineMode),
                    UseEcmaScript5Polyfill = msieConfig.UseEcmaScript5Polyfill,
                    UseJson2Library        = msieConfig.UseJson2Library
                });
                _engineVersion = _jsEngine.Mode;
            }
            catch (OriginalJsEngineLoadException e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        ENGINE_NAME, e.Message), ENGINE_NAME, e.EngineMode, e);
            }
            catch (Exception e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        ENGINE_NAME, e.Message), ENGINE_NAME, _engineVersion, e);
            }
        }
Example #2
0
        /// <summary>
        /// Constructs instance of adapter for MSIE JavaScript engine
        /// </summary>
        /// <param name="msieConfig">Configuration settings of MSIE JavaScript engine</param>
        public MsieJsEngine(MsieConfiguration msieConfig)
        {
            OriginalJsEngineMode engineMode =
                Utils.GetEnumFromOtherEnum <JsEngineMode, OriginalJsEngineMode>(msieConfig.EngineMode);

            try
            {
                _jsEngine      = new OriginalJsEngine(engineMode, true, true);
                _engineVersion = _jsEngine.Mode;
            }
            catch (OriginalJsEngineLoadException e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        ENGINE_NAME, e.Message), ENGINE_NAME, e.EngineMode, e);
            }
            catch (Exception e)
            {
                throw new JsEngineLoadException(
                          string.Format(CoreStrings.Runtime_JsEngineNotLoaded,
                                        ENGINE_NAME, e.Message), ENGINE_NAME, _engineVersion, e);
            }
        }