Changeset 284730 in webkit
- Timestamp:
- Oct 22, 2021, 5:19:28 PM (5 years ago)
- Location:
- trunk/Source
- Files:
-
- 3 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/html/HTMLAnchorElement.cpp (modified) (2 diffs)
-
WebKit/WebProcess/Network/WebLoaderStrategy.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r284728 r284730 1 2021-10-22 Chris Dumez <cdumez@apple.com> 2 3 Preconnect to link's target on click 4 https://bugs.webkit.org/show_bug.cgi?id=232147 5 6 Reviewed by Alex Christensen. 7 8 Preconnect to link's target on click, for reduced page load time. This is a confirmed 9 progression on some of our page load time benchmarks. 10 11 * html/HTMLAnchorElement.cpp: 12 (WebCore::HTMLAnchorElement::handleClick): 13 1 14 2021-10-22 Commit Queue <commit-queue@webkit.org> 2 15 -
trunk/Source/WebCore/html/HTMLAnchorElement.cpp
r284093 r284730 41 41 #include "HTMLPictureElement.h" 42 42 #include "KeyboardEvent.h" 43 #include "LoaderStrategy.h" 43 44 #include "MouseEvent.h" 44 45 #include "PingLoader.h" 45 46 #include "PlatformMouseEvent.h" 47 #include "PlatformStrategies.h" 46 48 #include "PrivateClickMeasurement.h" 47 49 #include "RegistrableDomain.h" … … 538 540 539 541 sendPings(completedURL); 542 543 // Preconnect to the link's target for improved page load time. 544 if (completedURL.protocolIsInHTTPFamily()) { 545 auto storageCredentialsPolicy = frame->page() && frame->page()->canUseCredentialStorage() ? StoredCredentialsPolicy::Use : StoredCredentialsPolicy::DoNotUse; 546 platformStrategies()->loaderStrategy()->preconnectTo(frame->loader(), completedURL, storageCredentialsPolicy, nullptr); 547 } 540 548 } 541 549 -
trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
r283179 r284730 769 769 void WebLoaderStrategy::preconnectTo(FrameLoader& frameLoader, const URL& url, StoredCredentialsPolicy storedCredentialsPolicy, PreconnectCompletionHandler&& completionHandler) 770 770 { 771 ASSERT(completionHandler);772 771 auto* webFrameLoaderClient = toWebFrameLoaderClient(frameLoader.client()); 773 772 if (!webFrameLoaderClient) { 774 completionHandler(internalError(url)); 773 if (completionHandler) 774 completionHandler(internalError(url)); 775 775 return; 776 776 } … … 778 778 auto* webPage = webFrame.page(); 779 779 if (!webPage) { 780 completionHandler(internalError(url)); 780 if (completionHandler) 781 completionHandler(internalError(url)); 781 782 return; 782 783 }
Note:
See TracChangeset
for help on using the changeset viewer.