Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ private void WriteComponentHtml(int componentId, TextWriter output, bool allowBo
}
}

private static bool IsProgressivelyEnhancedNavigation(HttpRequest request)
internal static bool IsProgressivelyEnhancedNavigation(HttpRequest request)
{
// For enhanced nav, the Blazor JS code controls the "accept" header precisely, so we can be very specific about the format
var accept = request.Headers.Accept;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,11 @@ public Task SetParametersAsync(ParameterView parameters)

private void PreloadWebAssemblyAssets()
{
if (EndpointHtmlRenderer.IsProgressivelyEnhancedNavigation(_httpContext.Request))
{
return;
}

var preloads = _httpContext.GetEndpoint()?.Metadata.GetMetadata<ResourcePreloadCollection>();
if (preloads != null && preloads.TryGetAssets("webassembly", out var preloadAssets))
{
Expand Down
9 changes: 0 additions & 9 deletions src/Components/Web.JS/src/Rendering/DomMerging/DomSync.ts
Original file line number Diff line number Diff line change
Expand Up @@ -308,11 +308,6 @@ function domNodeComparer(a: Node, b: Node): UpdateCost {
return UpdateCost.Infinite;
}

// Always treat "preloads" as new elements.
if (isPreloadElement(a as Element) || isPreloadElement(b as Element)) {
return UpdateCost.Infinite;
}

return UpdateCost.None;
case Node.DOCUMENT_TYPE_NODE:
// It's invalid to insert or delete doctype, and we have no use case for doing that. So just skip such
Expand All @@ -324,10 +319,6 @@ function domNodeComparer(a: Node, b: Node): UpdateCost {
}
}

function isPreloadElement(el: Element): boolean {
return el.tagName === 'LINK' && el.attributes.getNamedItem('rel')?.value === 'preload';
}

function upgradeComponentCommentsToLogicalRootComments(root: Node): ComponentDescriptor[] {
const serverDescriptors = discoverComponents(root, 'server') as ServerComponentDescriptor[];
const webAssemblyDescriptors = discoverComponents(root, 'webassembly') as WebAssemblyComponentDescriptor[];
Expand Down
Loading