Diff
Modified: trunk/Source/WebCore/ChangeLog (260316 => 260317)
--- trunk/Source/WebCore/ChangeLog 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/ChangeLog 2020-04-18 17:04:07 UTC (rev 260317)
@@ -1,3 +1,38 @@
+2020-04-18 Rob Buis <[email protected]>
+
+ Reduce parameter list of the FrameLoadRequest constructor
+ https://bugs.webkit.org/show_bug.cgi?id=210668
+
+ Reviewed by Darin Adler.
+
+ Reduce parameter list of the FrameLoadRequest constructor by
+ instead using various setters. By choosing the most common
+ defaults the actual number of setters to call are minimized.
+
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::openInNewTab):
+ * inspector/agents/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::navigate):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::handleProvisionalLoadFailureFromContentFilter):
+ * loader/FrameLoadRequest.cpp:
+ (WebCore::FrameLoadRequest::FrameLoadRequest):
+ * loader/FrameLoadRequest.h:
+ (WebCore::FrameLoadRequest::FrameLoadRequest):
+ (WebCore::FrameLoadRequest::disableShouldReplaceDocumentIfJavaScriptURL):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::changeLocation):
+ (WebCore::FrameLoader::loadURLIntoChildFrame):
+ * loader/NavigationScheduler.cpp:
+ (WebCore::NavigationScheduler::scheduleLocationChange):
+ * page/ContextMenuController.cpp:
+ (WebCore::openNewWindow):
+ (WebCore::ContextMenuController::contextMenuItemSelected):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::createWindow):
+ * page/DragController.cpp:
+ (WebCore::DragController::performDragOperation):
+
2020-04-18 David Kilzer <[email protected]>
Attempt #3 to fix tvOS build
Modified: trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp (260316 => 260317)
--- trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -254,7 +254,7 @@
{
UserGestureIndicator indicator { ProcessingUserGesture };
Frame& mainFrame = m_inspectedPageController->inspectedPage().mainFrame();
- FrameLoadRequest frameLoadRequest { *mainFrame.document(), mainFrame.document()->securityOrigin(), { }, "_blank"_s, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *mainFrame.document(), mainFrame.document()->securityOrigin(), { }, "_blank"_s, InitiatedByMainFrame::Unknown };
bool created;
auto frame = WebCore::createWindow(mainFrame, mainFrame, WTFMove(frameLoadRequest), { }, created);
@@ -266,7 +266,7 @@
// FIXME: Why do we compute the absolute URL with respect to |frame| instead of |mainFrame|?
ResourceRequest resourceRequest { frame->document()->completeURL(url) };
- FrameLoadRequest frameLoadRequest2 { *mainFrame.document(), mainFrame.document()->securityOrigin(), WTFMove(resourceRequest), "_self"_s, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest2 { *mainFrame.document(), mainFrame.document()->securityOrigin(), WTFMove(resourceRequest), "_self"_s, InitiatedByMainFrame::Unknown };
frame->loader().changeLocation(WTFMove(frameLoadRequest2));
}
Modified: trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp (260316 => 260317)
--- trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -421,7 +421,8 @@
Frame& frame = m_inspectedPage.mainFrame();
ResourceRequest resourceRequest { frame.document()->completeURL(url) };
- FrameLoadRequest frameLoadRequest { *frame.document(), frame.document()->securityOrigin(), WTFMove(resourceRequest), "_self"_s, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *frame.document(), frame.document()->securityOrigin(), WTFMove(resourceRequest), "_self"_s, InitiatedByMainFrame::Unknown };
+ frameLoadRequest.disableNavigationToInvalidURL();
frame.loader().changeLocation(WTFMove(frameLoadRequest));
}
Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (260316 => 260317)
--- trunk/Source/WebCore/loader/DocumentLoader.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -2233,7 +2233,7 @@
void DocumentLoader::handleProvisionalLoadFailureFromContentFilter(const URL& blockedPageURL, SubstituteData& substituteData)
{
- frameLoader()->load(FrameLoadRequest(*frame(), blockedPageURL, ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
+ frameLoader()->load(FrameLoadRequest(*frame(), blockedPageURL, substituteData));
}
ResourceError DocumentLoader::contentFilterDidBlock(ContentFilterUnblockHandler unblockHandler, WTF::String&& unblockRequestDeniedScript)
Modified: trunk/Source/WebCore/loader/FrameLoadRequest.cpp (260316 => 260317)
--- trunk/Source/WebCore/loader/FrameLoadRequest.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/loader/FrameLoadRequest.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -37,18 +37,11 @@
namespace WebCore {
-FrameLoadRequest::FrameLoadRequest(Document& requester, SecurityOrigin& requesterSecurityOrigin, ResourceRequest&& resourceRequest, const String& frameName, LockHistory lockHistory, LockBackForwardList lockBackForwardList, const ReferrerPolicy& referrerPolicy, AllowNavigationToInvalidURL allowNavigationToInvalidURL, NewFrameOpenerPolicy newFrameOpenerPolicy, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, InitiatedByMainFrame initiatedByMainFrame, ShouldReplaceDocumentIfJavaScriptURL shouldReplaceDocumentIfJavaScriptURL, const AtomString& downloadAttribute, const SystemPreviewInfo& systemPreviewInfo)
+FrameLoadRequest::FrameLoadRequest(Document& requester, SecurityOrigin& requesterSecurityOrigin, ResourceRequest&& resourceRequest, const String& frameName, InitiatedByMainFrame initiatedByMainFrame, const AtomString& downloadAttribute, const SystemPreviewInfo& systemPreviewInfo)
: m_requester { makeRef(requester) }
, m_requesterSecurityOrigin { makeRef(requesterSecurityOrigin) }
, m_resourceRequest { WTFMove(resourceRequest) }
, m_frameName { frameName }
- , m_lockHistory { lockHistory }
- , m_lockBackForwardList { lockBackForwardList }
- , m_referrerPolicy { referrerPolicy }
- , m_allowNavigationToInvalidURL { allowNavigationToInvalidURL }
- , m_newFrameOpenerPolicy { newFrameOpenerPolicy }
- , m_shouldReplaceDocumentIfJavaScriptURL { shouldReplaceDocumentIfJavaScriptURL }
- , m_shouldOpenExternalURLsPolicy { shouldOpenExternalURLsPolicy }
, m_downloadAttribute { downloadAttribute }
, m_initiatedByMainFrame { initiatedByMainFrame }
, m_systemPreviewInfo { systemPreviewInfo }
@@ -55,17 +48,11 @@
{
}
-FrameLoadRequest::FrameLoadRequest(Frame& frame, const ResourceRequest& resourceRequest, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, const SubstituteData& substituteData)
+FrameLoadRequest::FrameLoadRequest(Frame& frame, const ResourceRequest& resourceRequest, const SubstituteData& substituteData)
: m_requester { makeRef(*frame.document()) }
, m_requesterSecurityOrigin { makeRef(frame.document()->securityOrigin()) }
, m_resourceRequest { resourceRequest }
, m_substituteData { substituteData }
- , m_lockHistory { LockHistory::No }
- , m_lockBackForwardList { LockBackForwardList::No }
- , m_allowNavigationToInvalidURL { AllowNavigationToInvalidURL::Yes }
- , m_newFrameOpenerPolicy { NewFrameOpenerPolicy::Allow }
- , m_shouldReplaceDocumentIfJavaScriptURL { ReplaceDocumentIfJavaScriptURL }
- , m_shouldOpenExternalURLsPolicy { shouldOpenExternalURLsPolicy }
{
}
Modified: trunk/Source/WebCore/loader/FrameLoadRequest.h (260316 => 260317)
--- trunk/Source/WebCore/loader/FrameLoadRequest.h 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/loader/FrameLoadRequest.h 2020-04-18 17:04:07 UTC (rev 260317)
@@ -39,8 +39,8 @@
class FrameLoadRequest {
public:
- WEBCORE_EXPORT FrameLoadRequest(Document&, SecurityOrigin&, ResourceRequest&&, const String& frameName, LockHistory, LockBackForwardList, const ReferrerPolicy&, AllowNavigationToInvalidURL, NewFrameOpenerPolicy, ShouldOpenExternalURLsPolicy, InitiatedByMainFrame, ShouldReplaceDocumentIfJavaScriptURL = ReplaceDocumentIfJavaScriptURL, const AtomString& downloadAttribute = { }, const SystemPreviewInfo& = { });
- WEBCORE_EXPORT FrameLoadRequest(Frame&, const ResourceRequest&, ShouldOpenExternalURLsPolicy, const SubstituteData& = SubstituteData());
+ WEBCORE_EXPORT FrameLoadRequest(Document&, SecurityOrigin&, ResourceRequest&&, const String& frameName, InitiatedByMainFrame, const AtomString& downloadAttribute = { }, const SystemPreviewInfo& = { });
+ WEBCORE_EXPORT FrameLoadRequest(Frame&, const ResourceRequest&, const SubstituteData& = SubstituteData());
WEBCORE_EXPORT ~FrameLoadRequest();
@@ -72,18 +72,24 @@
void setLockHistory(LockHistory value) { m_lockHistory = value; }
LockBackForwardList lockBackForwardList() const { return m_lockBackForwardList; }
- void setlockBackForwardList(LockBackForwardList value) { m_lockBackForwardList = value; }
+ void setLockBackForwardList(LockBackForwardList value) { m_lockBackForwardList = value; }
const String& clientRedirectSourceForHistory() const { return m_clientRedirectSourceForHistory; }
void setClientRedirectSourceForHistory(const String& clientRedirectSourceForHistory) { m_clientRedirectSourceForHistory = clientRedirectSourceForHistory; }
ReferrerPolicy referrerPolicy() const { return m_referrerPolicy; }
+ void setReferrerPolicy(const ReferrerPolicy& referrerPolicy) { m_referrerPolicy = referrerPolicy; }
+
AllowNavigationToInvalidURL allowNavigationToInvalidURL() const { return m_allowNavigationToInvalidURL; }
+ void disableNavigationToInvalidURL() { m_allowNavigationToInvalidURL = AllowNavigationToInvalidURL::No; }
+
NewFrameOpenerPolicy newFrameOpenerPolicy() const { return m_newFrameOpenerPolicy; }
+ void setNewFrameOpenerPolicy(NewFrameOpenerPolicy newFrameOpenerPolicy) { m_newFrameOpenerPolicy = newFrameOpenerPolicy; }
// The shouldReplaceDocumentIfJavaScriptURL parameter will go away when the FIXME to eliminate the
// corresponding parameter from ScriptController::executeIfJavaScriptURL() is addressed.
ShouldReplaceDocumentIfJavaScriptURL shouldReplaceDocumentIfJavaScriptURL() const { return m_shouldReplaceDocumentIfJavaScriptURL; }
+ void disableShouldReplaceDocumentIfJavaScriptURL() { m_shouldReplaceDocumentIfJavaScriptURL = DoNotReplaceDocumentIfJavaScriptURL; }
void setShouldOpenExternalURLsPolicy(ShouldOpenExternalURLsPolicy policy) { m_shouldOpenExternalURLsPolicy = policy; }
ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy() const { return m_shouldOpenExternalURLsPolicy; }
@@ -108,12 +114,12 @@
bool m_shouldCheckNewWindowPolicy { false };
bool m_shouldTreatAsContinuingLoad { false };
- LockHistory m_lockHistory;
- LockBackForwardList m_lockBackForwardList;
+ LockHistory m_lockHistory { LockHistory::No };
+ LockBackForwardList m_lockBackForwardList { LockBackForwardList::No };
ReferrerPolicy m_referrerPolicy { ReferrerPolicy::EmptyString };
- AllowNavigationToInvalidURL m_allowNavigationToInvalidURL;
- NewFrameOpenerPolicy m_newFrameOpenerPolicy;
- ShouldReplaceDocumentIfJavaScriptURL m_shouldReplaceDocumentIfJavaScriptURL;
+ AllowNavigationToInvalidURL m_allowNavigationToInvalidURL { AllowNavigationToInvalidURL::Yes };
+ NewFrameOpenerPolicy m_newFrameOpenerPolicy { NewFrameOpenerPolicy::Allow };
+ ShouldReplaceDocumentIfJavaScriptURL m_shouldReplaceDocumentIfJavaScriptURL { ReplaceDocumentIfJavaScriptURL };
ShouldOpenExternalURLsPolicy m_shouldOpenExternalURLsPolicy { ShouldOpenExternalURLsPolicy::ShouldNotAllow };
AtomString m_downloadAttribute;
InitiatedByMainFrame m_initiatedByMainFrame { InitiatedByMainFrame::Unknown };
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (260316 => 260317)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -420,7 +420,14 @@
auto initiatedByMainFrame = frame && frame->isMainFrame() ? InitiatedByMainFrame::Yes : InitiatedByMainFrame::Unknown;
NewFrameOpenerPolicy newFrameOpenerPolicy = openerPolicy.valueOr(referrerPolicy == ReferrerPolicy::NoReferrer ? NewFrameOpenerPolicy::Suppress : NewFrameOpenerPolicy::Allow);
- changeLocation(FrameLoadRequest(*m_frame.document(), m_frame.document()->securityOrigin(), { url }, passedTarget, lockHistory, lockBackForwardList, referrerPolicy, AllowNavigationToInvalidURL::Yes, newFrameOpenerPolicy, shouldOpenExternalURLsPolicy, initiatedByMainFrame, DoNotReplaceDocumentIfJavaScriptURL, downloadAttribute, systemPreviewInfo), triggeringEvent, WTFMove(adClickAttribution));
+ FrameLoadRequest frameLoadRequest(*m_frame.document(), m_frame.document()->securityOrigin(), { url }, passedTarget, initiatedByMainFrame, downloadAttribute, systemPreviewInfo);
+ frameLoadRequest.setLockHistory(lockHistory);
+ frameLoadRequest.setLockBackForwardList(lockBackForwardList);
+ frameLoadRequest.setNewFrameOpenerPolicy(newFrameOpenerPolicy);
+ frameLoadRequest.setReferrerPolicy(referrerPolicy);
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLsPolicy);
+ frameLoadRequest.disableShouldReplaceDocumentIfJavaScriptURL();
+ changeLocation(WTFMove(frameLoadRequest), triggeringEvent, WTFMove(adClickAttribution));
}
void FrameLoader::changeLocation(FrameLoadRequest&& frameRequest, Event* triggeringEvent, Optional<AdClickAttribution>&& adClickAttribution)
@@ -987,7 +994,9 @@
auto* lexicalFrame = lexicalFrameFromCommonVM();
auto initiatedByMainFrame = lexicalFrame && lexicalFrame->isMainFrame() ? InitiatedByMainFrame::Yes : InitiatedByMainFrame::Unknown;
- FrameLoadRequest frameLoadRequest { *m_frame.document(), m_frame.document()->securityOrigin(), { url }, "_self"_s, LockHistory::No, LockBackForwardList::Yes, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Suppress, ShouldOpenExternalURLsPolicy::ShouldNotAllow, initiatedByMainFrame };
+ FrameLoadRequest frameLoadRequest { *m_frame.document(), m_frame.document()->securityOrigin(), { url }, "_self"_s, initiatedByMainFrame };
+ frameLoadRequest.setNewFrameOpenerPolicy(NewFrameOpenerPolicy::Suppress);
+ frameLoadRequest.setLockBackForwardList(LockBackForwardList::Yes);
childFrame->loader().loadURL(WTFMove(frameLoadRequest), referer, FrameLoadType::RedirectWithLockedBackForwardList, nullptr, { }, WTF::nullopt, [] { });
}
Modified: trunk/Source/WebCore/loader/NavigationScheduler.cpp (260316 => 260317)
--- trunk/Source/WebCore/loader/NavigationScheduler.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/loader/NavigationScheduler.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -185,7 +185,11 @@
ResourceRequest resourceRequest { url(), referrer(), refresh ? ResourceRequestCachePolicy::ReloadIgnoringCacheData : ResourceRequestCachePolicy::UseProtocolCachePolicy };
if (initiatedByMainFrame() == InitiatedByMainFrame::Yes)
resourceRequest.setRequester(ResourceRequest::Requester::Main);
- FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), "_self", lockHistory(), lockBackForwardList(), ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow, shouldOpenExternalURLs(), initiatedByMainFrame() };
+ FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), "_self", initiatedByMainFrame() };
+ frameLoadRequest.setLockHistory(lockHistory());
+ frameLoadRequest.setLockBackForwardList(lockBackForwardList());
+ frameLoadRequest.disableNavigationToInvalidURL();
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLs());
frame.loader().changeLocation(WTFMove(frameLoadRequest));
}
@@ -210,7 +214,11 @@
UserGestureIndicator gestureIndicator { userGestureToForward() };
ResourceRequest resourceRequest { url(), referrer(), ResourceRequestCachePolicy::UseProtocolCachePolicy };
- FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), "_self", lockHistory(), lockBackForwardList(), ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow, shouldOpenExternalURLs(), initiatedByMainFrame() };
+ FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), "_self", initiatedByMainFrame() };
+ frameLoadRequest.setLockHistory(lockHistory());
+ frameLoadRequest.setLockBackForwardList(lockBackForwardList());
+ frameLoadRequest.disableNavigationToInvalidURL();
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLs());
auto completionHandler = WTFMove(m_completionHandler);
frame.loader().changeLocation(WTFMove(frameLoadRequest));
@@ -233,7 +241,10 @@
UserGestureIndicator gestureIndicator { userGestureToForward() };
ResourceRequest resourceRequest { url(), referrer(), ResourceRequestCachePolicy::ReloadIgnoringCacheData };
- FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), "_self", lockHistory(), lockBackForwardList(), ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, shouldOpenExternalURLs(), initiatedByMainFrame() };
+ FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), WTFMove(resourceRequest), "_self", initiatedByMainFrame() };
+ frameLoadRequest.setLockHistory(lockHistory());
+ frameLoadRequest.setLockBackForwardList(lockBackForwardList());
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLs());
frame.loader().changeLocation(WTFMove(frameLoadRequest));
}
@@ -289,7 +300,11 @@
auto& requestingDocument = m_submission->state().sourceDocument();
if (!requestingDocument.canNavigate(&frame))
return;
- FrameLoadRequest frameLoadRequest { requestingDocument, requestingDocument.securityOrigin(), { }, { }, lockHistory(), lockBackForwardList(), requestingDocument.referrerPolicy(), AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, shouldOpenExternalURLs(), initiatedByMainFrame() };
+ FrameLoadRequest frameLoadRequest { requestingDocument, requestingDocument.securityOrigin(), { }, { }, initiatedByMainFrame() };
+ frameLoadRequest.setLockHistory(lockHistory());
+ frameLoadRequest.setLockBackForwardList(lockBackForwardList());
+ frameLoadRequest.setReferrerPolicy(requestingDocument.referrerPolicy());
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLs());
m_submission->populateFrameLoadRequest(frameLoadRequest);
frame.loader().loadFrameRequest(WTFMove(frameLoadRequest), m_submission->event(), m_submission->takeState());
}
@@ -339,8 +354,11 @@
SubstituteData replacementData { SharedBuffer::create(), m_originDocument.url(), replacementResponse, SubstituteData::SessionHistoryVisibility::Hidden };
ResourceRequest resourceRequest { m_originDocument.url(), emptyString(), ResourceRequestCachePolicy::ReloadIgnoringCacheData };
- FrameLoadRequest frameLoadRequest { m_originDocument, m_originDocument.securityOrigin(), WTFMove(resourceRequest), { }, lockHistory(), lockBackForwardList(), ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, shouldOpenExternalURLs(), initiatedByMainFrame() };
+ FrameLoadRequest frameLoadRequest { m_originDocument, m_originDocument.securityOrigin(), WTFMove(resourceRequest), { }, initiatedByMainFrame() };
+ frameLoadRequest.setLockHistory(lockHistory());
+ frameLoadRequest.setLockBackForwardList(lockBackForwardList());
frameLoadRequest.setSubstituteData(replacementData);
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLs());
frame.loader().load(WTFMove(frameLoadRequest));
}
@@ -439,7 +457,11 @@
auto* frame = lexicalFrameFromCommonVM();
auto initiatedByMainFrame = frame && frame->isMainFrame() ? InitiatedByMainFrame::Yes : InitiatedByMainFrame::Unknown;
- FrameLoadRequest frameLoadRequest { initiatingDocument, securityOrigin, WTFMove(resourceRequest), "_self"_s, lockHistory, lockBackForwardList, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow, initiatingDocument.shouldOpenExternalURLsPolicyToPropagate(), initiatedByMainFrame };
+ FrameLoadRequest frameLoadRequest { initiatingDocument, securityOrigin, WTFMove(resourceRequest), "_self"_s, initiatedByMainFrame };
+ frameLoadRequest.setLockHistory(lockHistory);
+ frameLoadRequest.setLockBackForwardList(lockBackForwardList);
+ frameLoadRequest.disableNavigationToInvalidURL();
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(initiatingDocument.shouldOpenExternalURLsPolicyToPropagate());
loader.changeLocation(WTFMove(frameLoadRequest));
return completionHandler();
}
Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (260316 => 260317)
--- trunk/Source/WebCore/page/ContextMenuController.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -198,7 +198,9 @@
if (!oldPage)
return;
- FrameLoadRequest frameLoadRequest { *frame.document(), frame.document()->securityOrigin(), ResourceRequest(urlToLoad, frame.loader().outgoingReferrer()), { }, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Suppress, shouldOpenExternalURLsPolicy, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *frame.document(), frame.document()->securityOrigin(), ResourceRequest(urlToLoad, frame.loader().outgoingReferrer()), { }, InitiatedByMainFrame::Unknown };
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLsPolicy);
+ frameLoadRequest.setNewFrameOpenerPolicy(NewFrameOpenerPolicy::Suppress);
Page* newPage = oldPage->chrome().createWindow(frame, { }, { *frame.document(), frameLoadRequest.resourceRequest(), frameLoadRequest.initiatedByMainFrame() });
if (!newPage)
@@ -405,7 +407,10 @@
case ContextMenuItemTagOpenLink:
if (Frame* targetFrame = m_context.hitTestResult().targetFrame()) {
ResourceRequest resourceRequest { m_context.hitTestResult().absoluteLinkURL(), frame->loader().outgoingReferrer() };
- FrameLoadRequest frameLoadRequest { *frame->document(), frame->document()->securityOrigin(), WTFMove(resourceRequest), { }, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Suppress, targetFrame->isMainFrame() ? ShouldOpenExternalURLsPolicy::ShouldAllow : ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *frame->document(), frame->document()->securityOrigin(), WTFMove(resourceRequest), { }, InitiatedByMainFrame::Unknown };
+ frameLoadRequest.setNewFrameOpenerPolicy(NewFrameOpenerPolicy::Suppress);
+ if (targetFrame->isMainFrame())
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(ShouldOpenExternalURLsPolicy::ShouldAllow);
targetFrame->loader().loadFrameRequest(WTFMove(frameLoadRequest), nullptr, { });
} else
openNewWindow(m_context.hitTestResult().absoluteLinkURL(), *frame, ShouldOpenExternalURLsPolicy::ShouldAllow);
Modified: trunk/Source/WebCore/page/DOMWindow.cpp (260316 => 260317)
--- trunk/Source/WebCore/page/DOMWindow.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/page/DOMWindow.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -2440,7 +2440,8 @@
auto initiatedByMainFrame = activeFrame->isMainFrame() ? InitiatedByMainFrame::Yes : InitiatedByMainFrame::Unknown;
ResourceRequest resourceRequest { completedURL, referrer };
- FrameLoadRequest frameLoadRequest { *activeDocument, activeDocument->securityOrigin(), WTFMove(resourceRequest), frameName, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, activeDocument->shouldOpenExternalURLsPolicyToPropagate(), initiatedByMainFrame };
+ FrameLoadRequest frameLoadRequest { *activeDocument, activeDocument->securityOrigin(), WTFMove(resourceRequest), frameName, initiatedByMainFrame };
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(activeDocument->shouldOpenExternalURLsPolicyToPropagate());
// We pass the opener frame for the lookupFrame in case the active frame is different from
// the opener frame, and the name references a frame relative to the opener frame.
@@ -2465,7 +2466,8 @@
if (created) {
ResourceRequest resourceRequest { completedURL, referrer, ResourceRequestCachePolicy::UseProtocolCachePolicy };
FrameLoader::addSameSiteInfoToRequestIfNeeded(resourceRequest, openerFrame.document());
- FrameLoadRequest frameLoadRequest { *activeWindow.document(), activeWindow.document()->securityOrigin(), WTFMove(resourceRequest), "_self"_s, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, activeDocument->shouldOpenExternalURLsPolicyToPropagate(), initiatedByMainFrame };
+ FrameLoadRequest frameLoadRequest { *activeWindow.document(), activeWindow.document()->securityOrigin(), WTFMove(resourceRequest), "_self"_s, initiatedByMainFrame };
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(activeDocument->shouldOpenExternalURLsPolicyToPropagate());
newFrame->loader().changeLocation(WTFMove(frameLoadRequest));
} else if (!urlString.isEmpty()) {
LockHistory lockHistory = UserGestureIndicator::processingUserGesture() ? LockHistory::No : LockHistory::Yes;
Modified: trunk/Source/WebCore/page/DragController.cpp (260316 => 260317)
--- trunk/Source/WebCore/page/DragController.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebCore/page/DragController.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -289,7 +289,8 @@
return false;
client().willPerformDragDestinationAction(DragDestinationActionLoad, dragData);
- FrameLoadRequest frameLoadRequest { m_page.mainFrame(), ResourceRequest { urlString }, shouldOpenExternalURLsPolicy };
+ FrameLoadRequest frameLoadRequest { m_page.mainFrame(), ResourceRequest { urlString } };
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLsPolicy);
frameLoadRequest.setIsRequestFromClientOrUserInput();
m_page.mainFrame().loader().load(WTFMove(frameLoadRequest));
return true;
Modified: trunk/Source/WebKit/ChangeLog (260316 => 260317)
--- trunk/Source/WebKit/ChangeLog 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKit/ChangeLog 2020-04-18 17:04:07 UTC (rev 260317)
@@ -1,3 +1,23 @@
+2020-04-18 Rob Buis <[email protected]>
+
+ Reduce parameter list of the FrameLoadRequest constructor
+ https://bugs.webkit.org/show_bug.cgi?id=210668
+
+ Reviewed by Darin Adler.
+
+ Adapt to API change.
+
+ * WebProcess/Inspector/WebInspector.cpp:
+ (WebKit::WebInspector::openInNewTab):
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performFrameLoadURLRequest):
+ (WebKit::PluginView::loadURL):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadURLInFrame):
+ (WebKit::WebPage::loadDataInFrame):
+ (WebKit::WebPage::loadRequest):
+ (WebKit::WebPage::loadDataImpl):
+
2020-04-18 David Kilzer <[email protected]>
[IPC hardening] Use MESSAGE_CHECK in WebPasteboardProxy
Modified: trunk/Source/WebKit/WebProcess/Inspector/WebInspector.cpp (260316 => 260317)
--- trunk/Source/WebKit/WebProcess/Inspector/WebInspector.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKit/WebProcess/Inspector/WebInspector.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -167,7 +167,7 @@
return;
Frame& inspectedMainFrame = inspectedPage->mainFrame();
- FrameLoadRequest frameLoadRequest { *inspectedMainFrame.document(), inspectedMainFrame.document()->securityOrigin(), ResourceRequest { urlString }, "_blank"_s, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *inspectedMainFrame.document(), inspectedMainFrame.document()->securityOrigin(), ResourceRequest { urlString }, "_blank"_s, InitiatedByMainFrame::Unknown };
NavigationAction action { *inspectedMainFrame.document(), frameLoadRequest.resourceRequest(), frameLoadRequest.initiatedByMainFrame(), NavigationType::LinkClicked };
Page* newPage = inspectedPage->chrome().createWindow(inspectedMainFrame, { }, action);
Modified: trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp (260316 => 260317)
--- trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -1204,7 +1204,7 @@
Frame* targetFrame = frame->loader().findFrameForNavigation(request->target());
if (!targetFrame) {
// We did not find a target frame. Ask our frame to load the page. This may or may not create a popup window.
- FrameLoadRequest frameLoadRequest { *frame, request->request(), ShouldOpenExternalURLsPolicy::ShouldNotAllow };
+ FrameLoadRequest frameLoadRequest { *frame, request->request() };
frameLoadRequest.setFrameName(request->target());
frameLoadRequest.setShouldCheckNewWindowPolicy(true);
frame->loader().load(WTFMove(frameLoadRequest));
@@ -1216,7 +1216,7 @@
}
// Now ask the frame to load the request.
- targetFrame->loader().load(FrameLoadRequest(*targetFrame, request->request(), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
+ targetFrame->loader().load(FrameLoadRequest(*targetFrame, request->request() ));
auto* targetWebFrame = WebFrame::fromCoreFrame(*targetFrame);
ASSERT(targetWebFrame);
@@ -1390,7 +1390,7 @@
void PluginView::loadURL(uint64_t requestID, const String& method, const String& urlString, const String& target, const HTTPHeaderMap& headerFields, const Vector<uint8_t>& httpBody, bool allowPopups)
{
- FrameLoadRequest frameLoadRequest { m_pluginElement->document(), m_pluginElement->document().securityOrigin(), { }, target, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { m_pluginElement->document(), m_pluginElement->document().securityOrigin(), { }, target, InitiatedByMainFrame::Unknown };
frameLoadRequest.resourceRequest().setHTTPMethod(method);
frameLoadRequest.resourceRequest().setURL(m_pluginElement->document().completeURL(urlString));
frameLoadRequest.resourceRequest().setHTTPHeaderFields(headerFields);
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (260316 => 260317)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -1498,7 +1498,7 @@
if (!frame)
return;
- frame->coreFrame()->loader().load(FrameLoadRequest(*frame->coreFrame(), ResourceRequest(url, referrer), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
+ frame->coreFrame()->loader().load(FrameLoadRequest(*frame->coreFrame(), ResourceRequest(url, referrer)));
}
void WebPage::loadDataInFrame(IPC::DataReference&& data, String&& MIMEType, String&& encodingName, URL&& baseURL, FrameIdentifier frameID)
@@ -1511,7 +1511,7 @@
auto sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(data.data()), data.size());
ResourceResponse response(baseURL, MIMEType, sharedBuffer->size(), encodingName);
SubstituteData substituteData(WTFMove(sharedBuffer), baseURL, WTFMove(response), SubstituteData::SessionHistoryVisibility::Hidden);
- frame->coreFrame()->loader().load(FrameLoadRequest(*frame->coreFrame(), ResourceRequest(baseURL), ShouldOpenExternalURLsPolicy::ShouldNotAllow, WTFMove(substituteData)));
+ frame->coreFrame()->loader().load(FrameLoadRequest(*frame->coreFrame(), ResourceRequest(baseURL), WTFMove(substituteData)));
}
#if !PLATFORM(COCOA)
@@ -1539,11 +1539,11 @@
platformDidReceiveLoadParameters(loadParameters);
// Initate the load in WebCore.
- FrameLoadRequest frameLoadRequest { *m_mainFrame->coreFrame(), loadParameters.request, ShouldOpenExternalURLsPolicy::ShouldNotAllow };
+ FrameLoadRequest frameLoadRequest { *m_mainFrame->coreFrame(), loadParameters.request };
frameLoadRequest.setShouldOpenExternalURLsPolicy(loadParameters.shouldOpenExternalURLsPolicy);
frameLoadRequest.setShouldTreatAsContinuingLoad(loadParameters.shouldTreatAsContinuingLoad);
frameLoadRequest.setLockHistory(loadParameters.lockHistory);
- frameLoadRequest.setlockBackForwardList(loadParameters.lockBackForwardList);
+ frameLoadRequest.setLockBackForwardList(loadParameters.lockBackForwardList);
frameLoadRequest.setClientRedirectSourceForHistory(loadParameters.clientRedirectSourceForHistory);
frameLoadRequest.setIsRequestFromClientOrUserInput();
@@ -1578,7 +1578,8 @@
m_loaderClient->willLoadDataRequest(*this, request, const_cast<SharedBuffer*>(substituteData.content()), substituteData.mimeType(), substituteData.textEncoding(), substituteData.failingURL(), WebProcess::singleton().transformHandlesToObjects(userData.object()).get());
// Initate the load in WebCore.
- FrameLoadRequest frameLoadRequest(*m_mainFrame->coreFrame(), request, shouldOpenExternalURLsPolicy, substituteData);
+ FrameLoadRequest frameLoadRequest(*m_mainFrame->coreFrame(), request, substituteData);
+ frameLoadRequest.setShouldOpenExternalURLsPolicy(shouldOpenExternalURLsPolicy);
frameLoadRequest.setShouldTreatAsContinuingLoad(shouldTreatAsContinuingLoad);
frameLoadRequest.setIsRequestFromClientOrUserInput();
m_mainFrame->coreFrame()->loader().load(WTFMove(frameLoadRequest));
Modified: trunk/Source/WebKitLegacy/ios/ChangeLog (260316 => 260317)
--- trunk/Source/WebKitLegacy/ios/ChangeLog 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKitLegacy/ios/ChangeLog 2020-04-18 17:04:07 UTC (rev 260317)
@@ -1,3 +1,15 @@
+2020-04-18 Rob Buis <[email protected]>
+
+ Reduce parameter list of the FrameLoadRequest constructor
+ https://bugs.webkit.org/show_bug.cgi?id=210668
+
+ Reviewed by Darin Adler.
+
+ Adapt to API change.
+
+ * WebView/WebPDFViewPlaceholder.mm:
+ (-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
+
2020-04-12 Darin Adler <[email protected]>
Fix some strange uses of start/endOfDocument
Modified: trunk/Source/WebKitLegacy/ios/WebView/WebPDFViewPlaceholder.mm (260316 => 260317)
--- trunk/Source/WebKitLegacy/ios/WebView/WebPDFViewPlaceholder.mm 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKitLegacy/ios/WebView/WebPDFViewPlaceholder.mm 2020-04-18 17:04:07 UTC (rev 260317)
@@ -471,7 +471,8 @@
// Call to the frame loader because this is where our security checks are made.
Frame* frame = core([_dataSource webFrame]);
- FrameLoadRequest frameLoadRequest { *frame->document(), frame->document()->securityOrigin(), { URL }, { }, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::NoReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *frame->document(), frame->document()->securityOrigin(), { URL }, { }, InitiatedByMainFrame::Unknown };
+frameLoadRequest.setReferrerPolicy(ReferrerPolicy::NoReferrer);
frame->loader().loadFrameRequest(WTFMove(frameLoadRequest), event.ptr(), nullptr);
}
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (260316 => 260317)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2020-04-18 17:04:07 UTC (rev 260317)
@@ -1,3 +1,20 @@
+2020-04-18 Rob Buis <[email protected]>
+
+ Reduce parameter list of the FrameLoadRequest constructor
+ https://bugs.webkit.org/show_bug.cgi?id=210668
+
+ Reviewed by Darin Adler.
+
+ Adapt to API change.
+
+ * Plugins/WebPluginController.mm:
+ (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
+ * WebView/WebFrame.mm:
+ (-[WebFrame loadRequest:]):
+ (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
+ * WebView/WebPDFView.mm:
+ (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
+
2020-04-18 David Kilzer <[email protected]>
-[WebPreferences initWithCoder:] should use -[NSCoder decodeValueOfObjCType:at:size:]
Modified: trunk/Source/WebKitLegacy/mac/Plugins/WebPluginController.mm (260316 => 260317)
--- trunk/Source/WebKitLegacy/mac/Plugins/WebPluginController.mm 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKitLegacy/mac/Plugins/WebPluginController.mm 2020-04-18 17:04:07 UTC (rev 260317)
@@ -496,7 +496,7 @@
LOG_ERROR("could not load URL %@", [request URL]);
return;
}
- WebCore::FrameLoadRequest frameLoadRequest { *core(frame), request, WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow };
+ WebCore::FrameLoadRequest frameLoadRequest { *core(frame), request };
frameLoadRequest.setFrameName(target);
frameLoadRequest.setShouldCheckNewWindowPolicy(true);
core(frame)->loader().load(WTFMove(frameLoadRequest));
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm (260316 => 260317)
--- trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm 2020-04-18 17:04:07 UTC (rev 260317)
@@ -2484,7 +2484,7 @@
if (!resourceRequest.url().isValid() && !resourceRequest.url().isEmpty())
resourceRequest.setURL([NSURL URLWithString:[@"file:" stringByAppendingString:[[request URL] absoluteString]]]);
- coreFrame->loader().load(WebCore::FrameLoadRequest(*coreFrame, resourceRequest, WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow));
+ coreFrame->loader().load(WebCore::FrameLoadRequest(*coreFrame, resourceRequest));
}
static NSURL *createUniqueWebDataURL()
@@ -2516,7 +2516,7 @@
if (WebCore::shouldUseQuickLookForMIMEType(MIMEType)) {
NSURL *quickLookURL = responseURL ? responseURL : baseURL;
if (auto request = WebCore::registerQLPreviewConverterIfNeeded(quickLookURL, MIMEType, data)) {
- _private->coreFrame->loader().load(WebCore::FrameLoadRequest(*_private->coreFrame, request.get(), WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow));
+ _private->coreFrame->loader().load(WebCore::FrameLoadRequest(*_private->coreFrame, request.get()));
return;
}
}
@@ -2527,7 +2527,7 @@
WebCore::ResourceResponse response(responseURL, MIMEType, [data length], encodingName);
WebCore::SubstituteData substituteData(WebCore::SharedBuffer::create(data), [unreachableURL absoluteURL], response, WebCore::SubstituteData::SessionHistoryVisibility::Hidden);
- _private->coreFrame->loader().load(WebCore::FrameLoadRequest(*_private->coreFrame, request, WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
+ _private->coreFrame->loader().load(WebCore::FrameLoadRequest(*_private->coreFrame, request, substituteData));
}
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPDFView.mm (260316 => 260317)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPDFView.mm 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPDFView.mm 2020-04-18 17:04:07 UTC (rev 260317)
@@ -987,7 +987,8 @@
// Call to the frame loader because this is where our security checks are made.
auto* frame = core([dataSource webFrame]);
- WebCore::FrameLoadRequest frameLoadRequest { *frame->document(), frame->document()->securityOrigin(), { URL }, { }, WebCore::LockHistory::No, WebCore::LockBackForwardList::No, WebCore::ReferrerPolicy::NoReferrer, WebCore::AllowNavigationToInvalidURL::Yes, WebCore::NewFrameOpenerPolicy::Allow, WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow, WebCore::InitiatedByMainFrame::Unknown };
+ WebCore::FrameLoadRequest frameLoadRequest { *frame->document(), frame->document()->securityOrigin(), { URL }, { }, WebCore::InitiatedByMainFrame::Unknown };
+ frameLoadRequest.setReferrerPolicy(WebCore::ReferrerPolicy::NoReferrer);
frame->loader().loadFrameRequest(WTFMove(frameLoadRequest), event.get(), nullptr);
}
Modified: trunk/Source/WebKitLegacy/win/ChangeLog (260316 => 260317)
--- trunk/Source/WebKitLegacy/win/ChangeLog 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKitLegacy/win/ChangeLog 2020-04-18 17:04:07 UTC (rev 260317)
@@ -1,3 +1,22 @@
+2020-04-18 Rob Buis <[email protected]>
+
+ Reduce parameter list of the FrameLoadRequest constructor
+ https://bugs.webkit.org/show_bug.cgi?id=210668
+
+ Reviewed by Darin Adler.
+
+ Adapt to API change.
+
+ * Plugins/PluginView.cpp:
+ (WebCore::PluginView::start):
+ (WebCore::PluginView::performRequest):
+ (WebCore::PluginView::getURLNotify):
+ (WebCore::PluginView::getURL):
+ (WebCore::PluginView::handlePost):
+ * WebFrame.cpp:
+ (WebFrame::loadRequest):
+ (WebFrame::loadData):
+
2020-04-17 Rob Buis <[email protected]>
Move allowPlugins to FrameLoader
Modified: trunk/Source/WebKitLegacy/win/Plugins/PluginView.cpp (260316 => 260317)
--- trunk/Source/WebKitLegacy/win/Plugins/PluginView.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKitLegacy/win/Plugins/PluginView.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -248,7 +248,7 @@
m_isStarted = true;
if (!m_url.isEmpty() && !m_loadManually) {
- FrameLoadRequest frameLoadRequest { *m_parentFrame->document(), m_parentFrame->document()->securityOrigin(), { }, { }, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *m_parentFrame->document(), m_parentFrame->document()->securityOrigin(), { }, { }, InitiatedByMainFrame::Unknown };
frameLoadRequest.resourceRequest().setHTTPMethod("GET");
frameLoadRequest.resourceRequest().setURL(m_url);
load(WTFMove(frameLoadRequest), false, nullptr);
@@ -415,7 +415,7 @@
// PluginView, so we protect it. <rdar://problem/6991251>
RefPtr<PluginView> protect(this);
- FrameLoadRequest frameLoadRequest { *m_parentFrame.get(), request->frameLoadRequest().resourceRequest(), ShouldOpenExternalURLsPolicy::ShouldNotAllow };
+ FrameLoadRequest frameLoadRequest { *m_parentFrame.get(), request->frameLoadRequest().resourceRequest() };
frameLoadRequest.setFrameName(targetFrameName);
frameLoadRequest.setShouldCheckNewWindowPolicy(true);
m_parentFrame->loader().load(WTFMove(frameLoadRequest));
@@ -527,7 +527,7 @@
NPError PluginView::getURLNotify(const char* url, const char* target, void* notifyData)
{
- FrameLoadRequest frameLoadRequest { *m_parentFrame->document(), m_parentFrame->document()->securityOrigin(), { }, target, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *m_parentFrame->document(), m_parentFrame->document()->securityOrigin(), { }, target, InitiatedByMainFrame::Unknown };
frameLoadRequest.resourceRequest().setHTTPMethod("GET");
frameLoadRequest.resourceRequest().setURL(makeURL(m_parentFrame->document()->baseURL(), url));
@@ -537,7 +537,7 @@
NPError PluginView::getURL(const char* url, const char* target)
{
- FrameLoadRequest frameLoadRequest { *m_parentFrame->document(), m_parentFrame->document()->securityOrigin(), { }, target, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *m_parentFrame->document(), m_parentFrame->document()->securityOrigin(), { }, target, InitiatedByMainFrame::Unknown };
frameLoadRequest.resourceRequest().setHTTPMethod("GET");
frameLoadRequest.resourceRequest().setURL(makeURL(m_parentFrame->document()->baseURL(), url));
@@ -1080,7 +1080,7 @@
}
}
- FrameLoadRequest frameLoadRequest { *m_parentFrame->document(), m_parentFrame->document()->securityOrigin(), { }, target, LockHistory::No, LockBackForwardList::No, ReferrerPolicy::EmptyString, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow, InitiatedByMainFrame::Unknown };
+ FrameLoadRequest frameLoadRequest { *m_parentFrame->document(), m_parentFrame->document()->securityOrigin(), { }, target, InitiatedByMainFrame::Unknown };
frameLoadRequest.resourceRequest().setHTTPMethod("POST");
frameLoadRequest.resourceRequest().setURL(makeURL(m_parentFrame->document()->baseURL(), url));
frameLoadRequest.resourceRequest().setHTTPHeaderFields(WTFMove(headerFields));
Modified: trunk/Source/WebKitLegacy/win/WebFrame.cpp (260316 => 260317)
--- trunk/Source/WebKitLegacy/win/WebFrame.cpp 2020-04-18 16:35:05 UTC (rev 260316)
+++ trunk/Source/WebKitLegacy/win/WebFrame.cpp 2020-04-18 17:04:07 UTC (rev 260317)
@@ -559,7 +559,7 @@
if (!coreFrame)
return E_UNEXPECTED;
- coreFrame->loader().load(FrameLoadRequest(*coreFrame, requestImpl->resourceRequest(), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
+ coreFrame->loader().load(FrameLoadRequest(*coreFrame, requestImpl->resourceRequest()));
return S_OK;
}
@@ -584,7 +584,7 @@
// This method is only called from IWebFrame methods, so don't ASSERT that the Frame pointer isn't null.
if (Frame* coreFrame = core(this))
- coreFrame->loader().load(FrameLoadRequest(*coreFrame, request, ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
+ coreFrame->loader().load(FrameLoadRequest(*coreFrame, request, substituteData));
}
HRESULT WebFrame::loadData(_In_opt_ IStream* data, _In_ BSTR mimeType, _In_ BSTR textEncodingName, _In_ BSTR url)