Skip to content

Commit b9f441a

Browse files
Copilotjaviercn
andauthored
Enable hot reloading for Blazor inside an iframe (#51006)
Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: javiercn <[email protected]>
1 parent f498215 commit b9f441a

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

src/BuiltInTools/BrowserRefresh/BrowserRefreshMiddleware.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,8 @@ internal static bool IsBrowserDocumentRequest(HttpContext context)
170170
if (request.Headers.TryGetValue("Sec-Fetch-Dest", out var values) &&
171171
!StringValues.IsNullOrEmpty(values) &&
172172
!string.Equals(values[0], "document", StringComparison.OrdinalIgnoreCase) &&
173+
!string.Equals(values[0], "frame", StringComparison.OrdinalIgnoreCase) &&
174+
!string.Equals(values[0], "iframe", StringComparison.OrdinalIgnoreCase) &&
173175
!IsProgressivelyEnhancedNavigation(context.Request))
174176
{
175177
// See https://github.com/dotnet/aspnetcore/issues/37326.

test/Microsoft.AspNetCore.Watch.BrowserRefresh.Tests/BrowserRefreshMiddlewareTest.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,30 @@ public void IsBrowserDocumentRequest_ReturnsTrue_IfRequestFetchMetadataRequestHe
183183
[Theory]
184184
[InlineData("frame")]
185185
[InlineData("iframe")]
186+
public void IsBrowserDocumentRequest_ReturnsTrue_IfRequestFetchMetadataRequestHeaderIsFrame(string headerValue)
187+
{
188+
// Arrange
189+
var context = new DefaultHttpContext
190+
{
191+
Request =
192+
{
193+
Method = "Post",
194+
Headers =
195+
{
196+
["Accept"] = "text/html",
197+
["Sec-Fetch-Dest"] = headerValue,
198+
},
199+
},
200+
};
201+
202+
// Act
203+
var result = BrowserRefreshMiddleware.IsBrowserDocumentRequest(context);
204+
205+
// Assert
206+
Assert.True(result);
207+
}
208+
209+
[Theory]
186210
[InlineData("serviceworker")]
187211
public void IsBrowserDocumentRequest_ReturnsFalse_IfRequestFetchMetadataRequestHeaderIsNotDocument(string headerValue)
188212
{

0 commit comments

Comments
 (0)