Skip to content

Commit 6167a22

Browse files
Support ElementReference.Focus in WebView (#31050)
1 parent 8cc970c commit 6167a22

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

src/Components/WebView/WebView/src/PageContext.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public PageContext(
4242
JSRuntime.AttachToWebView(ipcSender);
4343

4444
var loggerFactory = services.GetRequiredService<ILoggerFactory>();
45-
Renderer = new WebViewRenderer(services, dispatcher, ipcSender, loggerFactory);
45+
Renderer = new WebViewRenderer(services, dispatcher, ipcSender, loggerFactory, JSRuntime.ElementReferenceContext);
4646
}
4747

4848
public void Dispose()

src/Components/WebView/WebView/src/Services/WebViewJSRuntime.cs

+3
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@ internal class WebViewJSRuntime : JSRuntime
88
{
99
private IpcSender _ipcSender;
1010

11+
public ElementReferenceContext ElementReferenceContext { get; }
12+
1113
public WebViewJSRuntime()
1214
{
15+
ElementReferenceContext = new WebElementReferenceContext(this);
1316
JsonSerializerOptions.Converters.Add(
1417
new ElementReferenceJsonConverter(
1518
new WebElementReferenceContext(this)));

src/Components/WebView/WebView/src/Services/WebViewRenderer.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,13 @@ public WebViewRenderer(
2222
IServiceProvider serviceProvider,
2323
Dispatcher dispatcher,
2424
IpcSender ipcSender,
25-
ILoggerFactory loggerFactory) :
25+
ILoggerFactory loggerFactory,
26+
ElementReferenceContext elementReferenceContext) :
2627
base(serviceProvider, loggerFactory)
2728
{
2829
_dispatcher = dispatcher;
2930
_ipcSender = ipcSender;
31+
ElementReferenceContext = elementReferenceContext;
3032
}
3133

3234
public override Dispatcher Dispatcher => _dispatcher;

0 commit comments

Comments
 (0)