Skip to content

Commit b5cd38b

Browse files
Copilotjaviercn
andcommitted
Enable hot reloading for Blazor inside an iframe
Co-authored-by: javiercn <[email protected]>
1 parent 1d331ec commit b5cd38b

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
@@ -182,6 +182,30 @@ public void IsBrowserDocumentRequest_ReturnsTrue_IfRequestFetchMetadataRequestHe
182182
[Theory]
183183
[InlineData("frame")]
184184
[InlineData("iframe")]
185+
public void IsBrowserDocumentRequest_ReturnsTrue_IfRequestFetchMetadataRequestHeaderIsFrame(string headerValue)
186+
{
187+
// Arrange
188+
var context = new DefaultHttpContext
189+
{
190+
Request =
191+
{
192+
Method = "Post",
193+
Headers =
194+
{
195+
["Accept"] = "text/html",
196+
["Sec-Fetch-Dest"] = headerValue,
197+
},
198+
},
199+
};
200+
201+
// Act
202+
var result = BrowserRefreshMiddleware.IsBrowserDocumentRequest(context);
203+
204+
// Assert
205+
Assert.True(result);
206+
}
207+
208+
[Theory]
185209
[InlineData("serviceworker")]
186210
public void IsBrowserDocumentRequest_ReturnsFalse_IfRequestFetchMetadataRequestHeaderIsNotDocument(string headerValue)
187211
{

0 commit comments

Comments
 (0)