Skip to content

Commit 7763c5b

Browse files
[dotnet] Added TargetAttached datastructure to DevTools Target (#13175)
* Added TargetAttached to DevTools Target. * Fixed wrong file name in license. Made setters on TargetAttachedEventArgs internal. --------- Co-authored-by: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com>
1 parent cd67d04 commit 7763c5b

File tree

6 files changed

+138
-0
lines changed

6 files changed

+138
-0
lines changed

dotnet/src/webdriver/DevTools/Target.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ public abstract class Target
3232
/// </summary>
3333
public event EventHandler<TargetDetachedEventArgs> TargetDetached;
3434

35+
/// <summary>
36+
/// Occurs when a target is attached.
37+
/// </summary>
38+
public event EventHandler<TargetAttachedEventArgs> TargetAttached;
39+
3540
/// <summary>
3641
/// Asynchronously gets the targets available for this session.
3742
/// </summary>
@@ -79,5 +84,17 @@ protected virtual void OnTargetDetached(TargetDetachedEventArgs e)
7984
this.TargetDetached(this, e);
8085
}
8186
}
87+
88+
/// <summary>
89+
/// Raises the TargetAttached event.
90+
/// </summary>
91+
/// <param name="e"></param>
92+
protected virtual void OnTargetAttached(TargetAttachedEventArgs e)
93+
{
94+
if (this.TargetAttached != null)
95+
{
96+
this.TargetAttached(this, e);
97+
}
98+
}
8299
}
83100
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// <copyright file="TargetAttachedEventArgs.cs" company="WebDriver Committers">
2+
// Licensed to the Software Freedom Conservancy (SFC) under one
3+
// or more contributor license agreements. See the NOTICE file
4+
// distributed with this work for additional information
5+
// regarding copyright ownership. The SFC licenses this file
6+
// to you under the Apache License, Version 2.0 (the "License");
7+
// you may not use this file except in compliance with the License.
8+
// You may obtain a copy of the License at
9+
//
10+
// http://www.apache.org/licenses/LICENSE-2.0
11+
//
12+
// Unless required by applicable law or agreed to in writing, software
13+
// distributed under the License is distributed on an "AS IS" BASIS,
14+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
// See the License for the specific language governing permissions and
16+
// limitations under the License.
17+
// </copyright>
18+
19+
using System;
20+
21+
namespace OpenQA.Selenium.DevTools
22+
{
23+
/// <summary>
24+
/// Event arguments present when the TargetAttached event is raised.
25+
/// </summary>
26+
public class TargetAttachedEventArgs : EventArgs
27+
{
28+
/// <summary>
29+
/// Gets the ID of the session of the target attached.
30+
/// </summary>
31+
public string SessionId { get; internal set; }
32+
/// <summary>
33+
/// Gets the target which is attached.
34+
/// </summary>
35+
public TargetInfo TargetInfo { get; internal set; }
36+
/// <summary>
37+
/// Gets if the target is waiting on the debugger. Target continues after invoking Runtime.runIfWaitingForDebugger.
38+
/// </summary>
39+
public bool WaitingForDebugger { get; internal set; }
40+
}
41+
}

dotnet/src/webdriver/DevTools/v117/V117Target.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public V117Target(TargetAdapter adapter)
4040
{
4141
this.adapter = adapter;
4242
adapter.DetachedFromTarget += OnDetachedFromTarget;
43+
adapter.AttachedToTarget += OnAttachedToTarget;
4344
}
4445

4546
/// <summary>
@@ -120,5 +121,24 @@ private void OnDetachedFromTarget(object sender, DetachedFromTargetEventArgs e)
120121
{
121122
this.OnTargetDetached(new TargetDetachedEventArgs() { SessionId = e.SessionId, TargetId = e.TargetId });
122123
}
124+
125+
private void OnAttachedToTarget(object sender, AttachedToTargetEventArgs e)
126+
{
127+
this.OnTargetAttached(new TargetAttachedEventArgs()
128+
{
129+
SessionId = e.SessionId,
130+
TargetInfo = e.TargetInfo == null ? null : new TargetInfo
131+
{
132+
BrowserContextId = e.TargetInfo.BrowserContextId,
133+
IsAttached = e.TargetInfo.Attached,
134+
OpenerId = e.TargetInfo.OpenerId,
135+
TargetId = e.TargetInfo.TargetId,
136+
Title = e.TargetInfo.Title,
137+
Type = e.TargetInfo.Type,
138+
Url = e.TargetInfo.Url
139+
},
140+
WaitingForDebugger = e.WaitingForDebugger
141+
});
142+
}
123143
}
124144
}

dotnet/src/webdriver/DevTools/v118/V118Target.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public V118Target(TargetAdapter adapter)
4040
{
4141
this.adapter = adapter;
4242
adapter.DetachedFromTarget += OnDetachedFromTarget;
43+
adapter.AttachedToTarget += OnAttachedToTarget;
4344
}
4445

4546
/// <summary>
@@ -120,5 +121,24 @@ private void OnDetachedFromTarget(object sender, DetachedFromTargetEventArgs e)
120121
{
121122
this.OnTargetDetached(new TargetDetachedEventArgs() { SessionId = e.SessionId, TargetId = e.TargetId });
122123
}
124+
125+
private void OnAttachedToTarget(object sender, AttachedToTargetEventArgs e)
126+
{
127+
this.OnTargetAttached(new TargetAttachedEventArgs()
128+
{
129+
SessionId = e.SessionId,
130+
TargetInfo = e.TargetInfo == null ? null : new TargetInfo
131+
{
132+
BrowserContextId = e.TargetInfo.BrowserContextId,
133+
IsAttached = e.TargetInfo.Attached,
134+
OpenerId = e.TargetInfo.OpenerId,
135+
TargetId = e.TargetInfo.TargetId,
136+
Title = e.TargetInfo.Title,
137+
Type = e.TargetInfo.Type,
138+
Url = e.TargetInfo.Url
139+
},
140+
WaitingForDebugger = e.WaitingForDebugger
141+
});
142+
}
123143
}
124144
}

dotnet/src/webdriver/DevTools/v119/V119Target.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public V119Target(TargetAdapter adapter)
4040
{
4141
this.adapter = adapter;
4242
adapter.DetachedFromTarget += OnDetachedFromTarget;
43+
adapter.AttachedToTarget += OnAttachedToTarget;
4344
}
4445

4546
/// <summary>
@@ -120,5 +121,24 @@ private void OnDetachedFromTarget(object sender, DetachedFromTargetEventArgs e)
120121
{
121122
this.OnTargetDetached(new TargetDetachedEventArgs() { SessionId = e.SessionId, TargetId = e.TargetId });
122123
}
124+
125+
private void OnAttachedToTarget(object sender, AttachedToTargetEventArgs e)
126+
{
127+
this.OnTargetAttached(new TargetAttachedEventArgs()
128+
{
129+
SessionId = e.SessionId,
130+
TargetInfo = e.TargetInfo == null ? null : new TargetInfo
131+
{
132+
BrowserContextId = e.TargetInfo.BrowserContextId,
133+
IsAttached = e.TargetInfo.Attached,
134+
OpenerId = e.TargetInfo.OpenerId,
135+
TargetId = e.TargetInfo.TargetId,
136+
Title = e.TargetInfo.Title,
137+
Type = e.TargetInfo.Type,
138+
Url = e.TargetInfo.Url
139+
},
140+
WaitingForDebugger = e.WaitingForDebugger
141+
});
142+
}
123143
}
124144
}

dotnet/src/webdriver/DevTools/v85/V85Target.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public V85Target(TargetAdapter adapter)
4040
{
4141
this.adapter = adapter;
4242
adapter.DetachedFromTarget += OnDetachedFromTarget;
43+
adapter.AttachedToTarget += OnAttachedToTarget;
4344
}
4445

4546
/// <summary>
@@ -115,5 +116,24 @@ private void OnDetachedFromTarget(object sender, DetachedFromTargetEventArgs e)
115116
{
116117
this.OnTargetDetached(new TargetDetachedEventArgs() { SessionId = e.SessionId, TargetId = e.TargetId });
117118
}
119+
120+
private void OnAttachedToTarget(object sender, AttachedToTargetEventArgs e)
121+
{
122+
this.OnTargetAttached(new TargetAttachedEventArgs()
123+
{
124+
SessionId = e.SessionId,
125+
TargetInfo = e.TargetInfo == null ? null : new TargetInfo
126+
{
127+
BrowserContextId = e.TargetInfo.BrowserContextId,
128+
IsAttached = e.TargetInfo.Attached,
129+
OpenerId = e.TargetInfo.OpenerId,
130+
TargetId = e.TargetInfo.TargetId,
131+
Title = e.TargetInfo.Title,
132+
Type = e.TargetInfo.Type,
133+
Url = e.TargetInfo.Url
134+
},
135+
WaitingForDebugger = e.WaitingForDebugger
136+
});
137+
}
118138
}
119139
}

0 commit comments

Comments
 (0)