Skip to content

Commit 7ef2494

Browse files
committed
Connect Event constructors #12
1 parent 885306b commit 7ef2494

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

AngleSharp.Scripting.JavaScript/EngineInstance.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace AngleSharp.Scripting.JavaScript
22
{
33
using AngleSharp.Dom;
4+
using AngleSharp.Dom.Events;
45
using Jint;
56
using Jint.Runtime.Environments;
67
using System;
@@ -12,10 +13,10 @@ sealed class EngineInstance
1213
readonly Engine _engine;
1314
readonly LexicalEnvironment _lexicals;
1415
readonly LexicalEnvironment _variables;
15-
readonly DomNodeInstance _this;
16+
readonly DomNodeInstance _window;
1617
readonly DomConstructors _constructors;
1718

18-
public EngineInstance(IWindow @this, IDictionary<String, Object> assignments)
19+
public EngineInstance(IWindow window, IDictionary<String, Object> assignments)
1920
{
2021
_objects = new Dictionary<Object, DomNodeInstance>();
2122
_engine = new Engine();
@@ -24,11 +25,14 @@ public EngineInstance(IWindow @this, IDictionary<String, Object> assignments)
2425
foreach (var assignment in assignments)
2526
_engine.SetValue(assignment.Key, assignment.Value);
2627

27-
_this = GetDomNode(@this);
28-
_lexicals = LexicalEnvironment.NewObjectEnvironment(_engine, _this, _engine.ExecutionContext.LexicalEnvironment, true);
28+
_window = GetDomNode(window);
29+
_lexicals = LexicalEnvironment.NewObjectEnvironment(_engine, _window, _engine.ExecutionContext.LexicalEnvironment, true);
2930
_variables = LexicalEnvironment.NewObjectEnvironment(_engine, _engine.Global, null, false);
3031
_constructors = new DomConstructors(this);
3132
_constructors.Configure();
33+
34+
this.AddConstructor(_window, typeof(Event));
35+
this.AddConstructor(_window, typeof(CustomEvent));
3236
}
3337

3438
public DomConstructors Constructors
@@ -63,7 +67,7 @@ public DomNodeInstance GetDomNode(Object obj)
6367

6468
public void RunScript(String source)
6569
{
66-
_engine.EnterExecutionContext(Lexicals, Variables, _this);
70+
_engine.EnterExecutionContext(Lexicals, Variables, _window);
6771
_engine.Execute(source);
6872
_engine.LeaveExecutionContext();
6973
}

0 commit comments

Comments
 (0)