Diff
Modified: trunk/Source/WebCore/ChangeLog (183497 => 183498)
--- trunk/Source/WebCore/ChangeLog 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/ChangeLog 2015-04-28 19:38:13 UTC (rev 183498)
@@ -1,3 +1,60 @@
+2015-04-28 Brady Eidson <beid...@apple.com>
+
+ Consolidate most "frame load" arguments into FrameLoadRequest.
+ https://bugs.webkit.org/show_bug.cgi?id=144276
+
+ Reviewed by Alexey Proskuryakov.
+
+ No new tests (No change in behavior).
+
+ This patch starts the long overdue process of wrangling the insane load methods in FrameLoader.
+
+ Humble beginnings of this long process:
+ - Put most of the various "frame load" arguments that are passed around within FrameLoader on FrameLoadRequest.
+ - Get rid of the "easy" constructors of FrameLoadRequest, forcing users to actually think about what they're doing.
+ - Change a private FrameLoader load method (urlSelected) to take a FrameLoadRequest instead of argument gobbledygook.
+ - Change a public FrameLoader load methods (changeLocation) to take a FrameLoadRequest instead of gobbledygook.
+
+ These cover the straightforward changes where it was easy to figure out what the values of the FrameLoadRequest
+ arguments were from these various call sites.
+
+ Further refactoring can be done in much smaller patches, handling fewer cases at a time. Little by little we will be
+ able to reduce the number of "load" methods on FrameLoader and make sure that they mainly only take a FrameLoadRequest
+ as an argument.
+
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::openInNewTab):
+
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::navigate):
+
+ * loader/FrameLoadRequest.cpp:
+ (WebCore::FrameLoadRequest::FrameLoadRequest):
+ * loader/FrameLoadRequest.h:
+ (WebCore::FrameLoadRequest::FrameLoadRequest):
+ (WebCore::FrameLoadRequest::lockHistory):
+ (WebCore::FrameLoadRequest::lockBackForwardList):
+ (WebCore::FrameLoadRequest::shouldSendReferrer):
+ (WebCore::FrameLoadRequest::allowNavigationToInvalidURL):
+ (WebCore::FrameLoadRequest::newFrameOpenerPolicy):
+ (WebCore::FrameLoadRequest::shouldReplaceDocumentIfJavaScriptURL):
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::changeLocation):
+ (WebCore::FrameLoader::urlSelected):
+ (WebCore::FrameLoader::loadFrameRequest):
+ * loader/FrameLoader.h:
+
+ * loader/NavigationScheduler.cpp:
+ (WebCore::NavigationScheduler::scheduleLocationChange):
+
+ * page/ContextMenuController.cpp:
+ (WebCore::openNewWindow):
+ (WebCore::ContextMenuController::contextMenuItemSelected):
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::createWindow):
+
2015-04-27 Myles C. Maxfield <mmaxfi...@apple.com>
[Mac] [iOS] Implement font-synthesis CSS property
Modified: trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp (183497 => 183498)
--- trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -210,7 +210,7 @@
{
UserGestureIndicator indicator(DefinitelyProcessingUserGesture);
Frame& mainFrame = m_inspectorController->inspectedPage().mainFrame();
- FrameLoadRequest request(mainFrame.document()->securityOrigin(), ResourceRequest(), "_blank");
+ FrameLoadRequest request(mainFrame.document()->securityOrigin(), ResourceRequest(), "_blank", LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ReplaceDocumentIfJavaScriptURL);
bool created;
WindowFeatures windowFeatures;
@@ -222,7 +222,9 @@
frame->page()->setOpenedByDOM();
// FIXME: Why does one use mainFrame and the other frame?
- frame->loader().changeLocation(mainFrame.document()->securityOrigin(), frame->document()->completeURL(url), "", LockHistory::No, LockBackForwardList::No);
+ ResourceRequest resourceRequest(frame->document()->completeURL(url));
+ FrameLoadRequest frameRequest(mainFrame.document()->securityOrigin(), resourceRequest, emptyString(), LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ReplaceDocumentIfJavaScriptURL);
+ frame->loader().changeLocation(frameRequest);
}
void InspectorFrontendClientLocal::moveWindowBy(float x, float y)
Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.cpp (183497 => 183498)
--- trunk/Source/WebCore/inspector/InspectorPageAgent.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -45,6 +45,7 @@
#include "Document.h"
#include "DocumentLoader.h"
#include "Frame.h"
+#include "FrameLoadRequest.h"
#include "FrameLoader.h"
#include "FrameSnapshotting.h"
#include "FrameView.h"
@@ -416,7 +417,10 @@
{
UserGestureIndicator indicator(DefinitelyProcessingUserGesture);
Frame& frame = m_page->mainFrame();
- frame.loader().changeLocation(frame.document()->securityOrigin(), frame.document()->completeURL(url), "", LockHistory::No, LockBackForwardList::No);
+
+ ResourceRequest resourceRequest(frame.document()->completeURL(url));
+ FrameLoadRequest frameRequest(frame.document()->securityOrigin(), resourceRequest, emptyString(), LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow, ShouldReplaceDocumentIfJavaScriptURL::ReplaceDocumentIfJavaScriptURL);
+ frame.loader().changeLocation(frameRequest);
}
static Ref<Inspector::Protocol::Page::Cookie> buildObjectForCookie(const Cookie& cookie)
Modified: trunk/Source/WebCore/loader/FrameLoadRequest.cpp (183497 => 183498)
--- trunk/Source/WebCore/loader/FrameLoadRequest.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/loader/FrameLoadRequest.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -41,6 +41,12 @@
, m_resourceRequest(resourceRequest)
, m_shouldCheckNewWindowPolicy(false)
, m_substituteData(substituteData)
+ , m_lockHistory(LockHistory::No)
+ , m_lockBackForwardList(LockBackForwardList::No)
+ , m_shouldSendReferrer(MaybeSendReferrer)
+ , m_allowNavigationToInvalidURL(AllowNavigationToInvalidURL::Yes)
+ , m_newFrameOpenerPolicy(NewFrameOpenerPolicy::Allow)
+ , m_shouldReplaceDocumentIfJavaScriptURL(ReplaceDocumentIfJavaScriptURL)
{
}
Modified: trunk/Source/WebCore/loader/FrameLoadRequest.h (183497 => 183498)
--- trunk/Source/WebCore/loader/FrameLoadRequest.h 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/loader/FrameLoadRequest.h 2015-04-28 19:38:13 UTC (rev 183498)
@@ -26,6 +26,7 @@
#ifndef FrameLoadRequest_h
#define FrameLoadRequest_h
+#include "FrameLoaderTypes.h"
#include "ResourceRequest.h"
#include "SecurityOrigin.h"
#include "SubstituteData.h"
@@ -35,24 +36,42 @@
struct FrameLoadRequest {
public:
- explicit FrameLoadRequest(SecurityOrigin* requester)
+ FrameLoadRequest(SecurityOrigin* requester, LockHistory lockHistory, LockBackForwardList lockBackForwardList, ShouldSendReferrer shouldSendReferrer, AllowNavigationToInvalidURL allowNavigationToInvalidURL, NewFrameOpenerPolicy newFrameOpenerPolicy)
: m_requester(requester)
, m_shouldCheckNewWindowPolicy(false)
+ , m_lockHistory(lockHistory)
+ , m_lockBackForwardList(lockBackForwardList)
+ , m_shouldSendReferrer(shouldSendReferrer)
+ , m_allowNavigationToInvalidURL(allowNavigationToInvalidURL)
+ , m_newFrameOpenerPolicy(newFrameOpenerPolicy)
+ , m_shouldReplaceDocumentIfJavaScriptURL(ReplaceDocumentIfJavaScriptURL)
{
}
- FrameLoadRequest(SecurityOrigin* requester, const ResourceRequest& resourceRequest)
+ FrameLoadRequest(SecurityOrigin* requester, const ResourceRequest& resourceRequest, LockHistory lockHistory, LockBackForwardList lockBackForwardList, ShouldSendReferrer shouldSendReferrer, AllowNavigationToInvalidURL allowNavigationToInvalidURL, NewFrameOpenerPolicy newFrameOpenerPolicy)
: m_requester(requester)
, m_resourceRequest(resourceRequest)
, m_shouldCheckNewWindowPolicy(false)
+ , m_lockHistory(lockHistory)
+ , m_lockBackForwardList(lockBackForwardList)
+ , m_shouldSendReferrer(shouldSendReferrer)
+ , m_allowNavigationToInvalidURL(allowNavigationToInvalidURL)
+ , m_newFrameOpenerPolicy(newFrameOpenerPolicy)
+ , m_shouldReplaceDocumentIfJavaScriptURL(ReplaceDocumentIfJavaScriptURL)
{
}
- FrameLoadRequest(SecurityOrigin* requester, const ResourceRequest& resourceRequest, const String& frameName)
+ FrameLoadRequest(SecurityOrigin* requester, const ResourceRequest& resourceRequest, const String& frameName, LockHistory lockHistory, LockBackForwardList lockBackForwardList, ShouldSendReferrer shouldSendReferrer, AllowNavigationToInvalidURL allowNavigationToInvalidURL, NewFrameOpenerPolicy newFrameOpenerPolicy, ShouldReplaceDocumentIfJavaScriptURL shouldReplaceDocumentIfJavaScriptURL)
: m_requester(requester)
, m_resourceRequest(resourceRequest)
, m_frameName(frameName)
, m_shouldCheckNewWindowPolicy(false)
+ , m_lockHistory(lockHistory)
+ , m_lockBackForwardList(lockBackForwardList)
+ , m_shouldSendReferrer(shouldSendReferrer)
+ , m_allowNavigationToInvalidURL(allowNavigationToInvalidURL)
+ , m_newFrameOpenerPolicy(newFrameOpenerPolicy)
+ , m_shouldReplaceDocumentIfJavaScriptURL(shouldReplaceDocumentIfJavaScriptURL)
{
}
@@ -75,12 +94,29 @@
void setSubstituteData(const SubstituteData& data) { m_substituteData = data; }
bool hasSubstituteData() { return m_substituteData.isValid(); }
+ LockHistory lockHistory() const { return m_lockHistory; }
+ LockBackForwardList lockBackForwardList() const { return m_lockBackForwardList; }
+ ShouldSendReferrer shouldSendReferrer() const { return m_shouldSendReferrer; }
+ AllowNavigationToInvalidURL allowNavigationToInvalidURL() const { return m_allowNavigationToInvalidURL; }
+ NewFrameOpenerPolicy newFrameOpenerPolicy() const { return m_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; }
+
private:
RefPtr<SecurityOrigin> m_requester;
ResourceRequest m_resourceRequest;
String m_frameName;
bool m_shouldCheckNewWindowPolicy;
SubstituteData m_substituteData;
+
+ LockHistory m_lockHistory;
+ LockBackForwardList m_lockBackForwardList;
+ ShouldSendReferrer m_shouldSendReferrer;
+ AllowNavigationToInvalidURL m_allowNavigationToInvalidURL;
+ NewFrameOpenerPolicy m_newFrameOpenerPolicy;
+ ShouldReplaceDocumentIfJavaScriptURL m_shouldReplaceDocumentIfJavaScriptURL;
};
}
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (183497 => 183498)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -313,26 +313,24 @@
}
}
-void FrameLoader::changeLocation(SecurityOrigin* securityOrigin, const URL& url, const String& referrer, LockHistory lockHistory, LockBackForwardList lockBackForwardList, bool refresh, AllowNavigationToInvalidURL allowNavigationToInvalidURL)
+void FrameLoader::changeLocation(const FrameLoadRequest& request)
{
- urlSelected(FrameLoadRequest(securityOrigin, ResourceRequest(url, referrer, refresh ? ReloadIgnoringCacheData : UseProtocolCachePolicy), "_self"),
- 0, lockHistory, lockBackForwardList, MaybeSendReferrer, ReplaceDocumentIfJavaScriptURL, allowNavigationToInvalidURL);
+ urlSelected(request, nullptr);
}
void FrameLoader::urlSelected(const URL& url, const String& passedTarget, PassRefPtr<Event> triggeringEvent, LockHistory lockHistory, LockBackForwardList lockBackForwardList, ShouldSendReferrer shouldSendReferrer)
{
- urlSelected(FrameLoadRequest(m_frame.document()->securityOrigin(), ResourceRequest(url), passedTarget),
- triggeringEvent, lockHistory, lockBackForwardList, shouldSendReferrer, DoNotReplaceDocumentIfJavaScriptURL, AllowNavigationToInvalidURL::Yes);
+ NewFrameOpenerPolicy newFrameOpenerPolicy = shouldSendReferrer == NeverSendReferrer ? NewFrameOpenerPolicy::Suppress : NewFrameOpenerPolicy::Allow;
+
+ urlSelected(FrameLoadRequest(m_frame.document()->securityOrigin(), ResourceRequest(url), passedTarget, lockHistory, lockBackForwardList, shouldSendReferrer, AllowNavigationToInvalidURL::Yes, newFrameOpenerPolicy, DoNotReplaceDocumentIfJavaScriptURL), triggeringEvent);
}
-// The shouldReplaceDocumentIfJavaScriptURL parameter will go away when the FIXME to eliminate the
-// corresponding parameter from ScriptController::executeIfJavaScriptURL() is addressed.
-void FrameLoader::urlSelected(const FrameLoadRequest& passedRequest, PassRefPtr<Event> triggeringEvent, LockHistory lockHistory, LockBackForwardList lockBackForwardList, ShouldSendReferrer shouldSendReferrer, ShouldReplaceDocumentIfJavaScriptURL shouldReplaceDocumentIfJavaScriptURL, AllowNavigationToInvalidURL allowNavigationToInvalidURL)
+void FrameLoader::urlSelected(const FrameLoadRequest& passedRequest, PassRefPtr<Event> triggeringEvent)
{
Ref<Frame> protect(m_frame);
FrameLoadRequest frameRequest(passedRequest);
- if (m_frame.script().executeIfJavaScriptURL(frameRequest.resourceRequest().url(), shouldReplaceDocumentIfJavaScriptURL))
+ if (m_frame.script().executeIfJavaScriptURL(frameRequest.resourceRequest().url(), frameRequest.shouldReplaceDocumentIfJavaScriptURL()))
return;
if (frameRequest.frameName().isEmpty())
@@ -340,9 +338,7 @@
addHTTPOriginIfNeeded(frameRequest.resourceRequest(), outgoingOrigin());
- NewFrameOpenerPolicy openerPolicy = (shouldSendReferrer == NeverSendReferrer) ? NewFrameOpenerPolicy::Suppress : NewFrameOpenerPolicy::Allow;
-
- loadFrameRequest(frameRequest, lockHistory, lockBackForwardList, triggeringEvent, 0, shouldSendReferrer, allowNavigationToInvalidURL, openerPolicy);
+ loadFrameRequest(frameRequest, triggeringEvent, nullptr);
}
void FrameLoader::submitForm(PassRefPtr<FormSubmission> submission)
@@ -1144,8 +1140,7 @@
detachChildren();
}
-void FrameLoader::loadFrameRequest(const FrameLoadRequest& request, LockHistory lockHistory, LockBackForwardList lockBackForwardList,
- PassRefPtr<Event> event, PassRefPtr<FormState> formState, ShouldSendReferrer shouldSendReferrer, AllowNavigationToInvalidURL allowNavigationToInvalidURL, NewFrameOpenerPolicy openerPolicy)
+void FrameLoader::loadFrameRequest(const FrameLoadRequest& request, PassRefPtr<Event> event, PassRefPtr<FormState> formState)
{
// Protect frame from getting blown away inside dispatchBeforeLoadEvent in loadWithDocumentLoader.
Ref<Frame> protect(m_frame);
@@ -1163,21 +1158,21 @@
argsReferrer = outgoingReferrer();
String referrer = SecurityPolicy::generateReferrerHeader(m_frame.document()->referrerPolicy(), url, argsReferrer);
- if (shouldSendReferrer == NeverSendReferrer)
+ if (request.shouldSendReferrer() == NeverSendReferrer)
referrer = String();
-
+
FrameLoadType loadType;
if (request.resourceRequest().cachePolicy() == ReloadIgnoringCacheData)
loadType = FrameLoadType::Reload;
- else if (lockBackForwardList == LockBackForwardList::Yes)
+ else if (request.lockBackForwardList() == LockBackForwardList::Yes)
loadType = FrameLoadType::RedirectWithLockedBackForwardList;
else
loadType = FrameLoadType::Standard;
if (request.resourceRequest().httpMethod() == "POST")
- loadPostRequest(request.resourceRequest(), referrer, request.frameName(), lockHistory, loadType, event, formState.get(), allowNavigationToInvalidURL, openerPolicy);
+ loadPostRequest(request.resourceRequest(), referrer, request.frameName(), request.lockHistory(), loadType, event, formState.get(), request.allowNavigationToInvalidURL(), request.newFrameOpenerPolicy());
else
- loadURL(request.resourceRequest().url(), referrer, request.frameName(), lockHistory, loadType, event, formState.get(), allowNavigationToInvalidURL, openerPolicy);
+ loadURL(request.resourceRequest().url(), referrer, request.frameName(), request.lockHistory(), loadType, event, formState.get(), request.allowNavigationToInvalidURL(), request.newFrameOpenerPolicy());
// FIXME: It's possible this targetFrame will not be the same frame that was targeted by the actual
// load if frame names have changed.
Modified: trunk/Source/WebCore/loader/FrameLoader.h (183497 => 183498)
--- trunk/Source/WebCore/loader/FrameLoader.h 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/loader/FrameLoader.h 2015-04-28 19:38:13 UTC (rev 183498)
@@ -108,8 +108,7 @@
// FIXME: These are all functions which start loads. We have too many.
WEBCORE_EXPORT void loadURLIntoChildFrame(const URL&, const String& referer, Frame*);
- WEBCORE_EXPORT void loadFrameRequest(const FrameLoadRequest&, LockHistory, LockBackForwardList, // Called by submitForm, calls loadPostRequest and loadURL.
- PassRefPtr<Event>, PassRefPtr<FormState>, ShouldSendReferrer, AllowNavigationToInvalidURL, NewFrameOpenerPolicy);
+ WEBCORE_EXPORT void loadFrameRequest(const FrameLoadRequest&, PassRefPtr<Event>, PassRefPtr<FormState>); // Called by submitForm, calls loadPostRequest and loadURL.
WEBCORE_EXPORT void load(const FrameLoadRequest&);
@@ -118,8 +117,7 @@
#endif
unsigned long loadResourceSynchronously(const ResourceRequest&, StoredCredentials, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data);
- void changeLocation(SecurityOrigin*, const URL&, const String& referrer, LockHistory = LockHistory::Yes,
- LockBackForwardList = LockBackForwardList::Yes, bool refresh = false, AllowNavigationToInvalidURL = AllowNavigationToInvalidURL::Yes);
+ void changeLocation(const FrameLoadRequest&);
WEBCORE_EXPORT void urlSelected(const URL&, const String& target, PassRefPtr<Event>, LockHistory, LockBackForwardList, ShouldSendReferrer);
void submitForm(PassRefPtr<FormSubmission>);
@@ -342,7 +340,7 @@
void dispatchDidCommitLoad();
- WEBCORE_EXPORT void urlSelected(const FrameLoadRequest&, PassRefPtr<Event>, LockHistory, LockBackForwardList, ShouldSendReferrer, ShouldReplaceDocumentIfJavaScriptURL, AllowNavigationToInvalidURL);
+ void urlSelected(const FrameLoadRequest&, PassRefPtr<Event>);
void loadWithDocumentLoader(DocumentLoader*, FrameLoadType, PassRefPtr<FormState>, AllowNavigationToInvalidURL); // Calls continueLoadAfterNavigationPolicy
void load(DocumentLoader*); // Calls loadWithDocumentLoader
Modified: trunk/Source/WebCore/loader/NavigationScheduler.cpp (183497 => 183498)
--- trunk/Source/WebCore/loader/NavigationScheduler.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/loader/NavigationScheduler.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -110,7 +110,11 @@
virtual void fire(Frame& frame) override
{
UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture);
- frame.loader().changeLocation(m_securityOrigin.get(), m_url, m_referrer, lockHistory(), lockBackForwardList(), false);
+
+ ResourceRequest resourceRequest(m_url, m_referrer, UseProtocolCachePolicy);
+ FrameLoadRequest frameRequest(m_securityOrigin.get(), resourceRequest, lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
+
+ frame.loader().changeLocation(frameRequest);
}
virtual void didStartTimer(Frame& frame, Timer& timer) override
@@ -165,7 +169,10 @@
{
UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture);
bool refresh = equalIgnoringFragmentIdentifier(frame.document()->url(), url());
- frame.loader().changeLocation(securityOrigin(), url(), referrer(), lockHistory(), lockBackForwardList(), refresh, AllowNavigationToInvalidURL::No);
+ ResourceRequest resourceRequest(url(), referrer(), refresh ? ReloadIgnoringCacheData : UseProtocolCachePolicy);
+ FrameLoadRequest frameRequest(securityOrigin(), resourceRequest, lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow);
+
+ frame.loader().changeLocation(frameRequest);
}
};
@@ -177,7 +184,10 @@
virtual void fire(Frame& frame) override
{
UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture);
- frame.loader().changeLocation(securityOrigin(), url(), referrer(), lockHistory(), lockBackForwardList(), false, AllowNavigationToInvalidURL::No);
+
+ ResourceRequest resourceRequest(url(), referrer(), UseProtocolCachePolicy);
+ FrameLoadRequest frameRequest(securityOrigin(), resourceRequest, lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow);
+ frame.loader().changeLocation(frameRequest);
}
};
@@ -191,7 +201,10 @@
virtual void fire(Frame& frame) override
{
UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture);
- frame.loader().changeLocation(securityOrigin(), url(), referrer(), lockHistory(), lockBackForwardList(), true);
+
+ ResourceRequest resourceRequest(url(), referrer(), ReloadIgnoringCacheData);
+ FrameLoadRequest frameRequest(securityOrigin(), resourceRequest, lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
+ frame.loader().changeLocation(frameRequest);
}
};
@@ -244,9 +257,9 @@
Document* requestingDocument = m_submission->state()->sourceDocument();
if (!requestingDocument->canNavigate(&frame))
return;
- FrameLoadRequest frameRequest(requestingDocument->securityOrigin());
+ FrameLoadRequest frameRequest(requestingDocument->securityOrigin(), lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
m_submission->populateFrameLoadRequest(frameRequest);
- frame.loader().loadFrameRequest(frameRequest, lockHistory(), lockBackForwardList(), m_submission->event(), m_submission->state(), MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
+ frame.loader().loadFrameRequest(frameRequest, m_submission->event(), m_submission->state());
}
virtual void didStartTimer(Frame& frame, Timer& timer) override
@@ -387,7 +400,9 @@
// If the URL we're going to navigate to is the same as the current one, except for the
// fragment part, we don't need to schedule the location change.
if (url.hasFragmentIdentifier() && equalIgnoringFragmentIdentifier(m_frame.document()->url(), url)) {
- loader.changeLocation(securityOrigin, m_frame.document()->completeURL(url), referrer, lockHistory, lockBackForwardList, false, AllowNavigationToInvalidURL::No);
+ ResourceRequest resourceRequest(m_frame.document()->completeURL(url), referrer, UseProtocolCachePolicy);
+ FrameLoadRequest frameRequest(securityOrigin, resourceRequest, emptyString(), lockHistory, lockBackForwardList, MaybeSendReferrer, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow, ReplaceDocumentIfJavaScriptURL);
+ loader.changeLocation(frameRequest);
return;
}
Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (183497 => 183498)
--- trunk/Source/WebCore/page/ContextMenuController.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -196,13 +196,13 @@
if (!oldPage)
return;
- FrameLoadRequest request(frame->document()->securityOrigin(), ResourceRequest(urlToLoad, frame->loader().outgoingReferrer()));
+ FrameLoadRequest request(frame->document()->securityOrigin(), ResourceRequest(urlToLoad, frame->loader().outgoingReferrer()), LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Suppress);
Page* newPage = oldPage->chrome().createWindow(frame, request, WindowFeatures(), NavigationAction(request.resourceRequest()));
if (!newPage)
return;
newPage->chrome().show();
- newPage->mainFrame().loader().loadFrameRequest(request, LockHistory::No, LockBackForwardList::No, 0, 0, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Suppress);
+ newPage->mainFrame().loader().loadFrameRequest(request, nullptr, nullptr);
}
#if PLATFORM(GTK)
@@ -401,12 +401,12 @@
break;
case ContextMenuItemTagOpenLink:
if (Frame* targetFrame = m_context.hitTestResult().targetFrame())
- targetFrame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(m_context.hitTestResult().absoluteLinkURL(), frame->loader().outgoingReferrer())), LockHistory::No, LockBackForwardList::No, 0, 0, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Suppress);
+ targetFrame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(m_context.hitTestResult().absoluteLinkURL(), frame->loader().outgoingReferrer()), LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Suppress), nullptr, nullptr);
else
openNewWindow(m_context.hitTestResult().absoluteLinkURL(), frame);
break;
case ContextMenuItemTagOpenLinkInThisWindow:
- frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(m_context.hitTestResult().absoluteLinkURL(), frame->loader().outgoingReferrer())), LockHistory::No, LockBackForwardList::No, 0, 0, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Suppress);
+ frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(m_context.hitTestResult().absoluteLinkURL(), frame->loader().outgoingReferrer()), LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Suppress), nullptr, nullptr);
break;
case ContextMenuItemTagBold:
frame->editor().command("ToggleBold").execute();
Modified: trunk/Source/WebCore/page/DOMWindow.cpp (183497 => 183498)
--- trunk/Source/WebCore/page/DOMWindow.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebCore/page/DOMWindow.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -2088,7 +2088,7 @@
ResourceRequest request(completedURL, referrer);
FrameLoader::addHTTPOriginIfNeeded(request, firstFrame->loader().outgoingOrigin());
- FrameLoadRequest frameRequest(activeWindow.document()->securityOrigin(), request, frameName);
+ FrameLoadRequest frameRequest(activeWindow.document()->securityOrigin(), request, frameName, LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ReplaceDocumentIfJavaScriptURL);
// 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.
@@ -2106,9 +2106,11 @@
if (prepareDialogFunction)
prepareDialogFunction(*newFrame->document()->domWindow());
- if (created)
- newFrame->loader().changeLocation(activeWindow.document()->securityOrigin(), completedURL, referrer, LockHistory::No, LockBackForwardList::No);
- else if (!urlString.isEmpty()) {
+ if (created) {
+ ResourceRequest resourceRequest(completedURL, referrer, UseProtocolCachePolicy);
+ FrameLoadRequest frameRequest(activeWindow.document()->securityOrigin(), resourceRequest, LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
+ newFrame->loader().changeLocation(frameRequest);
+ } else if (!urlString.isEmpty()) {
LockHistory lockHistory = ScriptController::processingUserGesture() ? LockHistory::No : LockHistory::Yes;
newFrame->navigationScheduler().scheduleLocationChange(activeWindow.document()->securityOrigin(), completedURL, referrer, lockHistory, LockBackForwardList::No);
}
Modified: trunk/Source/WebKit/ios/ChangeLog (183497 => 183498)
--- trunk/Source/WebKit/ios/ChangeLog 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit/ios/ChangeLog 2015-04-28 19:38:13 UTC (rev 183498)
@@ -1,3 +1,13 @@
+2015-04-28 Brady Eidson <beid...@apple.com>
+
+ Consolidate most "frame load" arguments into FrameLoadRequest.
+ https://bugs.webkit.org/show_bug.cgi?id=144276
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebView/WebPDFViewPlaceholder.mm:
+ (-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
+
2015-04-13 Beth Dakin <bda...@apple.com>
Add force property to MouseEvents
Modified: trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm (183497 => 183498)
--- trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm 2015-04-28 19:38:13 UTC (rev 183498)
@@ -475,7 +475,7 @@
// Call to the frame loader because this is where our security checks are made.
Frame* frame = core([_dataSource webFrame]);
- frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), LockHistory::No, LockBackForwardList::No, event.get(), 0, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
+ frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL), LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow), event.get(), nullptr);
}
@end
Modified: trunk/Source/WebKit/mac/ChangeLog (183497 => 183498)
--- trunk/Source/WebKit/mac/ChangeLog 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit/mac/ChangeLog 2015-04-28 19:38:13 UTC (rev 183498)
@@ -1,3 +1,13 @@
+2015-04-28 Brady Eidson <beid...@apple.com>
+
+ Consolidate most "frame load" arguments into FrameLoadRequest.
+ https://bugs.webkit.org/show_bug.cgi?id=144276
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebView/WebPDFView.mm:
+ (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
+
2015-04-27 Dan Bernstein <m...@apple.com>
<rdar://problem/20721931> REGRESSION (r178753): All legacy framework headers are missing availability annotations
Modified: trunk/Source/WebKit/mac/WebView/WebPDFView.mm (183497 => 183498)
--- trunk/Source/WebKit/mac/WebView/WebPDFView.mm 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit/mac/WebView/WebPDFView.mm 2015-04-28 19:38:13 UTC (rev 183498)
@@ -1037,7 +1037,7 @@
// Call to the frame loader because this is where our security checks are made.
Frame* frame = core([dataSource webFrame]);
- frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), LockHistory::No, LockBackForwardList::No, event.get(), 0, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
+ frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL), LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow), event.get(), nullptr);
}
- (void)PDFViewOpenPDFInNativeApplication:(PDFView *)sender
Modified: trunk/Source/WebKit/win/ChangeLog (183497 => 183498)
--- trunk/Source/WebKit/win/ChangeLog 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit/win/ChangeLog 2015-04-28 19:38:13 UTC (rev 183498)
@@ -1,3 +1,16 @@
+2015-04-28 Brady Eidson <beid...@apple.com>
+
+ Consolidate most "frame load" arguments into FrameLoadRequest.
+ https://bugs.webkit.org/show_bug.cgi?id=144276
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Plugins/PluginView.cpp:
+ (WebCore::PluginView::start):
+ (WebCore::PluginView::getURLNotify):
+ (WebCore::PluginView::getURL):
+ (WebCore::PluginView::handlePost):
+
2015-04-27 Brady Eidson <beid...@apple.com>
Unreviewed build fix after r183405
Modified: trunk/Source/WebKit/win/Plugins/PluginView.cpp (183497 => 183498)
--- trunk/Source/WebKit/win/Plugins/PluginView.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit/win/Plugins/PluginView.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -249,7 +249,7 @@
m_isStarted = true;
if (!m_url.isEmpty() && !m_loadManually) {
- FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin());
+ FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin(), LockHistory::No, LockBackForwardList::No, ShouldSendReferrer::MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
frameLoadRequest.resourceRequest().setHTTPMethod("GET");
frameLoadRequest.resourceRequest().setURL(m_url);
load(frameLoadRequest, false, 0);
@@ -523,7 +523,7 @@
NPError PluginView::getURLNotify(const char* url, const char* target, void* notifyData)
{
- FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin());
+ FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin(), LockHistory::No, LockBackForwardList::No, ShouldSendReferrer::MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
frameLoadRequest.setFrameName(target);
frameLoadRequest.resourceRequest().setHTTPMethod("GET");
@@ -534,7 +534,7 @@
NPError PluginView::getURL(const char* url, const char* target)
{
- FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin());
+ FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin(), LockHistory::No, LockBackForwardList::No, ShouldSendReferrer::MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
frameLoadRequest.setFrameName(target);
frameLoadRequest.resourceRequest().setHTTPMethod("GET");
@@ -1036,7 +1036,7 @@
if (!url || !len || !buf)
return NPERR_INVALID_PARAM;
- FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin());
+ FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin(), LockHistory::No, LockBackForwardList::No, ShouldSendReferrer::MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
HTTPHeaderMap headerFields;
Vector<char> buffer;
Modified: trunk/Source/WebKit2/ChangeLog (183497 => 183498)
--- trunk/Source/WebKit2/ChangeLog 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit2/ChangeLog 2015-04-28 19:38:13 UTC (rev 183498)
@@ -1,3 +1,19 @@
+2015-04-28 Brady Eidson <beid...@apple.com>
+
+ Consolidate most "frame load" arguments into FrameLoadRequest.
+ https://bugs.webkit.org/show_bug.cgi?id=144276
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::loadURL):
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchCreatePage):
+
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::openInNewTab):
+
2015-04-28 Chris Dumez <cdu...@apple.com>
[WK2][Mac] Update WebContent process' sandbox profile for AWD
Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (183497 => 183498)
--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -1367,7 +1367,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().securityOrigin());
+ FrameLoadRequest frameLoadRequest(m_pluginElement->document().securityOrigin(), LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
frameLoadRequest.resourceRequest().setHTTPMethod(method);
frameLoadRequest.resourceRequest().setURL(m_pluginElement->document().completeURL(urlString));
frameLoadRequest.resourceRequest().setHTTPHeaderFields(headerFields);
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (183497 => 183498)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -640,7 +640,8 @@
return 0;
// Just call through to the chrome client.
- Page* newPage = webPage->corePage()->chrome().createWindow(m_frame->coreFrame(), FrameLoadRequest(m_frame->coreFrame()->document()->securityOrigin(), navigationAction.resourceRequest()), WindowFeatures(), navigationAction);
+ FrameLoadRequest request(m_frame->coreFrame()->document()->securityOrigin(), navigationAction.resourceRequest(), LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow);
+ Page* newPage = webPage->corePage()->chrome().createWindow(m_frame->coreFrame(), request, WindowFeatures(), navigationAction);
if (!newPage)
return 0;
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebInspector.cpp (183497 => 183498)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebInspector.cpp 2015-04-28 19:27:23 UTC (rev 183497)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebInspector.cpp 2015-04-28 19:38:13 UTC (rev 183498)
@@ -135,7 +135,7 @@
return;
Frame& inspectedMainFrame = inspectedPage->mainFrame();
- FrameLoadRequest request(inspectedMainFrame.document()->securityOrigin(), ResourceRequest(urlString), "_blank");
+ FrameLoadRequest request(inspectedMainFrame.document()->securityOrigin(), ResourceRequest(urlString), "_blank", LockHistory::No, LockBackForwardList::No, MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ReplaceDocumentIfJavaScriptURL);
Page* newPage = inspectedPage->chrome().createWindow(&inspectedMainFrame, request, WindowFeatures(), NavigationAction(request.resourceRequest(), NavigationType::LinkClicked));
if (!newPage)