Diff
Modified: trunk/Source/WebCore/ChangeLog (218610 => 218611)
--- trunk/Source/WebCore/ChangeLog 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebCore/ChangeLog 2017-06-20 22:45:18 UTC (rev 218611)
@@ -1,5 +1,21 @@
2017-06-20 Daniel Bates <[email protected]>
+ Have FrameLoadRequest takes a Frame& instead of a Frame*
+ https://bugs.webkit.org/show_bug.cgi?id=173614
+ <rdar://problem/32884890>
+
+ Reviewed by Brent Fulgham.
+
+ * loader/ContentFilter.cpp:
+ (WebCore::ContentFilter::handleProvisionalLoadFailure):
+ * loader/FrameLoadRequest.cpp:
+ (WebCore::FrameLoadRequest::FrameLoadRequest):
+ * loader/FrameLoadRequest.h:
+ * page/DragController.cpp:
+ (WebCore::DragController::performDragOperation):
+
+2017-06-20 Daniel Bates <[email protected]>
+
Skip Content Security Policy check for a media request using standard schemes initiated from
an element in user agent shadow tree
https://bugs.webkit.org/show_bug.cgi?id=155505
Modified: trunk/Source/WebCore/loader/ContentFilter.cpp (218610 => 218611)
--- trunk/Source/WebCore/loader/ContentFilter.cpp 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebCore/loader/ContentFilter.cpp 2017-06-20 22:45:18 UTC (rev 218611)
@@ -293,7 +293,7 @@
ResourceResponse response { URL(), ASCIILiteral("text/html"), replacementData->size(), ASCIILiteral("UTF-8") };
SubstituteData substituteData { WTFMove(replacementData), error.failingURL(), response, SubstituteData::SessionHistoryVisibility::Hidden };
SetForScope<bool> loadingBlockedPage { m_isLoadingBlockedPage, true };
- m_documentLoader.frameLoader()->load(FrameLoadRequest(m_documentLoader.frame(), blockedPageURL(), ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
+ m_documentLoader.frameLoader()->load(FrameLoadRequest(*m_documentLoader.frame(), blockedPageURL(), ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
}
} // namespace WebCore
Modified: trunk/Source/WebCore/loader/FrameLoadRequest.cpp (218610 => 218611)
--- trunk/Source/WebCore/loader/FrameLoadRequest.cpp 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebCore/loader/FrameLoadRequest.cpp 2017-06-20 22:45:18 UTC (rev 218611)
@@ -36,18 +36,18 @@
namespace WebCore {
-FrameLoadRequest::FrameLoadRequest(Frame* frame, const ResourceRequest& resourceRequest, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, const SubstituteData& substituteData)
- : m_requester(&frame->document()->securityOrigin())
- , 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)
- , m_shouldOpenExternalURLsPolicy(shouldOpenExternalURLsPolicy)
+FrameLoadRequest::FrameLoadRequest(Frame& frame, const ResourceRequest& resourceRequest, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, const SubstituteData& substituteData)
+ : m_requester { &frame.document()->securityOrigin() }
+ , 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 }
+ , m_shouldOpenExternalURLsPolicy { shouldOpenExternalURLsPolicy }
{
}
Modified: trunk/Source/WebCore/loader/FrameLoadRequest.h (218610 => 218611)
--- trunk/Source/WebCore/loader/FrameLoadRequest.h 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebCore/loader/FrameLoadRequest.h 2017-06-20 22:45:18 UTC (rev 218611)
@@ -103,7 +103,7 @@
{
}
- WEBCORE_EXPORT FrameLoadRequest(Frame*, const ResourceRequest&, ShouldOpenExternalURLsPolicy, const SubstituteData& = SubstituteData());
+ WEBCORE_EXPORT FrameLoadRequest(Frame&, const ResourceRequest&, ShouldOpenExternalURLsPolicy, const SubstituteData& = SubstituteData());
bool isEmpty() const { return m_resourceRequest.isEmpty(); }
Modified: trunk/Source/WebCore/page/DragController.cpp (218610 => 218611)
--- trunk/Source/WebCore/page/DragController.cpp 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebCore/page/DragController.cpp 2017-06-20 22:45:18 UTC (rev 218611)
@@ -290,7 +290,7 @@
return false;
m_client.willPerformDragDestinationAction(DragDestinationActionLoad, dragData);
- m_page.mainFrame().loader().load(FrameLoadRequest(&m_page.mainFrame(), { urlString }, shouldOpenExternalURLsPolicy));
+ m_page.mainFrame().loader().load(FrameLoadRequest(m_page.mainFrame(), { urlString }, shouldOpenExternalURLsPolicy));
return true;
}
Modified: trunk/Source/WebKit/mac/ChangeLog (218610 => 218611)
--- trunk/Source/WebKit/mac/ChangeLog 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebKit/mac/ChangeLog 2017-06-20 22:45:18 UTC (rev 218611)
@@ -1,3 +1,17 @@
+2017-06-20 Daniel Bates <[email protected]>
+
+ Have FrameLoadRequest takes a Frame& instead of a Frame*
+ https://bugs.webkit.org/show_bug.cgi?id=173614
+ <rdar://problem/32884890>
+
+ Reviewed by Brent Fulgham.
+
+ * Plugins/WebPluginController.mm:
+ (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
+ * WebView/WebFrame.mm:
+ (-[WebFrame loadRequest:]):
+ (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
+
2017-06-19 Frederic Wang <[email protected]>
[Mac] Add an experimental feature setting for async frame scrolling
Modified: trunk/Source/WebKit/mac/Plugins/WebPluginController.mm (218610 => 218611)
--- trunk/Source/WebKit/mac/Plugins/WebPluginController.mm 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebKit/mac/Plugins/WebPluginController.mm 2017-06-20 22:45:18 UTC (rev 218611)
@@ -498,10 +498,10 @@
LOG_ERROR("could not load URL %@", [request URL]);
return;
}
- FrameLoadRequest frameRequest(core(frame), request, ShouldOpenExternalURLsPolicy::ShouldNotAllow);
- frameRequest.setFrameName(target);
- frameRequest.setShouldCheckNewWindowPolicy(true);
- core(frame)->loader().load(frameRequest);
+ FrameLoadRequest frameLoadRequest { *core(frame), request, ShouldOpenExternalURLsPolicy::ShouldNotAllow };
+ frameLoadRequest.setFrameName(target);
+ frameLoadRequest.setShouldCheckNewWindowPolicy(true);
+ core(frame)->loader().load(frameLoadRequest);
}
}
Modified: trunk/Source/WebKit/mac/WebView/WebFrame.mm (218610 => 218611)
--- trunk/Source/WebKit/mac/WebView/WebFrame.mm 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebKit/mac/WebView/WebFrame.mm 2017-06-20 22:45:18 UTC (rev 218611)
@@ -2472,7 +2472,7 @@
if (!resourceRequest.url().isValid() && !resourceRequest.url().isEmpty())
resourceRequest.setURL([NSURL URLWithString:[@"file:" stringByAppendingString:[[request URL] absoluteString]]]);
- coreFrame->loader().load(FrameLoadRequest(coreFrame, resourceRequest, ShouldOpenExternalURLsPolicy::ShouldNotAllow));
+ coreFrame->loader().load(FrameLoadRequest(*coreFrame, resourceRequest, ShouldOpenExternalURLsPolicy::ShouldNotAllow));
}
static NSURL *createUniqueWebDataURL()
@@ -2504,7 +2504,7 @@
if (shouldUseQuickLookForMIMEType(MIMEType)) {
NSURL *quickLookURL = responseURL ? responseURL : baseURL;
if (auto request = registerQLPreviewConverterIfNeeded(quickLookURL, MIMEType, data)) {
- _private->coreFrame->loader().load(FrameLoadRequest(_private->coreFrame, request.get(), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
+ _private->coreFrame->loader().load(FrameLoadRequest(*_private->coreFrame, request.get(), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
return;
}
}
@@ -2515,7 +2515,7 @@
ResourceResponse response(responseURL, MIMEType, [data length], encodingName);
SubstituteData substituteData(WebCore::SharedBuffer::create(data), [unreachableURL absoluteURL], response, SubstituteData::SessionHistoryVisibility::Hidden);
- _private->coreFrame->loader().load(FrameLoadRequest(_private->coreFrame, request, ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
+ _private->coreFrame->loader().load(FrameLoadRequest(*_private->coreFrame, request, ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
}
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
Modified: trunk/Source/WebKit/win/ChangeLog (218610 => 218611)
--- trunk/Source/WebKit/win/ChangeLog 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebKit/win/ChangeLog 2017-06-20 22:45:18 UTC (rev 218611)
@@ -1,3 +1,16 @@
+2017-06-20 Daniel Bates <[email protected]>
+
+ Have FrameLoadRequest takes a Frame& instead of a Frame*
+ https://bugs.webkit.org/show_bug.cgi?id=173614
+ <rdar://problem/32884890>
+
+ Reviewed by Brent Fulgham.
+
+ * Plugins/PluginView.cpp:
+ (WebCore::PluginView::performRequest):
+ * WebFrame.cpp:
+ (WebFrame::loadRequest):
+
2017-06-19 Chris Dumez <[email protected]>
Use WTF::Function instead of std::function in more places in WebCore/
Modified: trunk/Source/WebKit/win/Plugins/PluginView.cpp (218610 => 218611)
--- trunk/Source/WebKit/win/Plugins/PluginView.cpp 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebKit/win/Plugins/PluginView.cpp 2017-06-20 22:45:18 UTC (rev 218611)
@@ -422,10 +422,10 @@
// PluginView, so we protect it. <rdar://problem/6991251>
RefPtr<PluginView> protect(this);
- FrameLoadRequest frameRequest(m_parentFrame.get(), request->frameLoadRequest().resourceRequest(), ShouldOpenExternalURLsPolicy::ShouldNotAllow);
- frameRequest.setFrameName(targetFrameName);
- frameRequest.setShouldCheckNewWindowPolicy(true);
- m_parentFrame->loader().load(frameRequest);
+ FrameLoadRequest frameLoadRequest { *m_parentFrame.get(), request->frameLoadRequest().resourceRequest(), ShouldOpenExternalURLsPolicy::ShouldNotAllow };
+ frameLoadRequest.setFrameName(targetFrameName);
+ frameLoadRequest.setShouldCheckNewWindowPolicy(true);
+ m_parentFrame->loader().load(frameLoadRequest);
// FIXME: <rdar://problem/4807469> This should be sent when the document has finished loading
if (request->sendNotification()) {
Modified: trunk/Source/WebKit/win/WebFrame.cpp (218610 => 218611)
--- trunk/Source/WebKit/win/WebFrame.cpp 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebKit/win/WebFrame.cpp 2017-06-20 22:45:18 UTC (rev 218611)
@@ -561,7 +561,7 @@
if (!coreFrame)
return E_UNEXPECTED;
- coreFrame->loader().load(FrameLoadRequest(coreFrame, requestImpl->resourceRequest(), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
+ coreFrame->loader().load(FrameLoadRequest(*coreFrame, requestImpl->resourceRequest(), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
return S_OK;
}
@@ -586,7 +586,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, ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
}
HRESULT WebFrame::loadData(_In_opt_ IStream* data, _In_ BSTR mimeType, _In_ BSTR textEncodingName, _In_ BSTR url)
Modified: trunk/Source/WebKit2/ChangeLog (218610 => 218611)
--- trunk/Source/WebKit2/ChangeLog 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebKit2/ChangeLog 2017-06-20 22:45:18 UTC (rev 218611)
@@ -1,3 +1,18 @@
+2017-06-20 Daniel Bates <[email protected]>
+
+ Have FrameLoadRequest takes a Frame& instead of a Frame*
+ https://bugs.webkit.org/show_bug.cgi?id=173614
+ <rdar://problem/32884890>
+
+ Reviewed by Brent Fulgham.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performFrameLoadURLRequest):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadURLInFrame):
+ (WebKit::WebPage::loadRequest):
+ (WebKit::WebPage::loadDataImpl):
+
2017-06-20 Tim Horton <[email protected]>
Occasional deadlocks under ensurePositionInformationIsUpToDate (incoming sync message with waitForAndDispatchImmediately)
Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (218610 => 218611)
--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp 2017-06-20 22:45:18 UTC (rev 218611)
@@ -1199,10 +1199,10 @@
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 frameRequest(frame, request->request(), ShouldOpenExternalURLsPolicy::ShouldNotAllow);
- frameRequest.setFrameName(request->target());
- frameRequest.setShouldCheckNewWindowPolicy(true);
- frame->loader().load(frameRequest);
+ FrameLoadRequest frameLoadRequest { *frame, request->request(), ShouldOpenExternalURLsPolicy::ShouldNotAllow };
+ frameLoadRequest.setFrameName(request->target());
+ frameLoadRequest.setShouldCheckNewWindowPolicy(true);
+ frame->loader().load(frameLoadRequest);
// FIXME: We don't know whether the window was successfully created here so we just assume that it worked.
// It's better than not telling the plug-in anything.
@@ -1211,7 +1211,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(), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
auto* targetWebFrame = WebFrame::fromCoreFrame(*targetFrame);
ASSERT(targetWebFrame);
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (218610 => 218611)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2017-06-20 22:44:11 UTC (rev 218610)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2017-06-20 22:45:18 UTC (rev 218611)
@@ -1191,7 +1191,7 @@
if (!frame)
return;
- frame->coreFrame()->loader().load(FrameLoadRequest(frame->coreFrame(), ResourceRequest(URL(URL(), url)), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
+ frame->coreFrame()->loader().load(FrameLoadRequest(*frame->coreFrame(), ResourceRequest(URL(URL(), url)), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
}
#if !PLATFORM(COCOA)
@@ -1215,7 +1215,7 @@
platformDidReceiveLoadParameters(loadParameters);
// Initate the load in WebCore.
- FrameLoadRequest frameLoadRequest(m_mainFrame->coreFrame(), loadParameters.request, ShouldOpenExternalURLsPolicy::ShouldNotAllow);
+ FrameLoadRequest frameLoadRequest { *m_mainFrame->coreFrame(), loadParameters.request, ShouldOpenExternalURLsPolicy::ShouldNotAllow };
ShouldOpenExternalURLsPolicy externalURLsPolicy = static_cast<ShouldOpenExternalURLsPolicy>(loadParameters.shouldOpenExternalURLsPolicy);
frameLoadRequest.setShouldOpenExternalURLsPolicy(externalURLsPolicy);
@@ -1239,7 +1239,7 @@
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.
- m_mainFrame->coreFrame()->loader().load(FrameLoadRequest(m_mainFrame->coreFrame(), request, ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
+ m_mainFrame->coreFrame()->loader().load(FrameLoadRequest(*m_mainFrame->coreFrame(), request, ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
}
void WebPage::loadStringImpl(uint64_t navigationID, const String& htmlString, const String& MIMEType, const URL& baseURL, const URL& unreachableURL, const UserData& userData)