Modified: trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp (184371 => 184372)
--- trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp 2015-05-15 04:43:05 UTC (rev 184371)
+++ trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp 2015-05-15 05:07:22 UTC (rev 184372)
@@ -214,7 +214,7 @@
bool created;
WindowFeatures windowFeatures;
- RefPtr<Frame> frame = WebCore::createWindow(mainFrame, &mainFrame, request, windowFeatures, created);
+ RefPtr<Frame> frame = WebCore::createWindow(mainFrame, mainFrame, request, windowFeatures, created);
if (!frame)
return;
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (184371 => 184372)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2015-05-15 04:43:05 UTC (rev 184371)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2015-05-15 05:07:22 UTC (rev 184372)
@@ -3415,19 +3415,19 @@
return true;
}
-PassRefPtr<Frame> createWindow(Frame& openerFrame, Frame* lookupFrame, const FrameLoadRequest& request, const WindowFeatures& features, bool& created)
+RefPtr<Frame> createWindow(Frame& openerFrame, Frame& lookupFrame, const FrameLoadRequest& request, const WindowFeatures& features, bool& created)
{
ASSERT(!features.dialog || request.frameName().isEmpty());
created = false;
if (!request.frameName().isEmpty() && request.frameName() != "_blank") {
- if (RefPtr<Frame> frame = lookupFrame->loader().findFrameForNavigation(request.frameName(), openerFrame.document())) {
+ if (RefPtr<Frame> frame = lookupFrame.loader().findFrameForNavigation(request.frameName(), openerFrame.document())) {
if (request.frameName() != "_self") {
if (Page* page = frame->page())
page->chrome().focus();
}
- return frame.release();
+ return WTF::move(frame);
}
}
@@ -3518,7 +3518,7 @@
page->chrome().show();
created = true;
- return frame.release();
+ return WTF::move(frame);
}
} // namespace WebCore
Modified: trunk/Source/WebCore/loader/FrameLoader.h (184371 => 184372)
--- trunk/Source/WebCore/loader/FrameLoader.h 2015-05-15 04:43:05 UTC (rev 184371)
+++ trunk/Source/WebCore/loader/FrameLoader.h 2015-05-15 05:07:22 UTC (rev 184372)
@@ -458,7 +458,7 @@
//
// FIXME: Consider making this function part of an appropriate class (not FrameLoader)
// and moving it to a more appropriate location.
-PassRefPtr<Frame> createWindow(Frame& openerFrame, Frame* lookupFrame, const FrameLoadRequest&, const WindowFeatures&, bool& created);
+RefPtr<Frame> createWindow(Frame& openerFrame, Frame& lookupFrame, const FrameLoadRequest&, const WindowFeatures&, bool& created);
} // namespace WebCore
Modified: trunk/Source/WebCore/page/DOMWindow.cpp (184371 => 184372)
--- trunk/Source/WebCore/page/DOMWindow.cpp 2015-05-15 04:43:05 UTC (rev 184371)
+++ trunk/Source/WebCore/page/DOMWindow.cpp 2015-05-15 05:07:22 UTC (rev 184372)
@@ -2072,13 +2072,13 @@
return true;
}
-PassRefPtr<Frame> DOMWindow::createWindow(const String& urlString, const AtomicString& frameName, const WindowFeatures& windowFeatures, DOMWindow& activeWindow, Frame* firstFrame, Frame* openerFrame, std::function<void (DOMWindow&)> prepareDialogFunction)
+RefPtr<Frame> DOMWindow::createWindow(const String& urlString, const AtomicString& frameName, const WindowFeatures& windowFeatures, DOMWindow& activeWindow, Frame& firstFrame, Frame& openerFrame, std::function<void (DOMWindow&)> prepareDialogFunction)
{
Frame* activeFrame = activeWindow.frame();
if (!activeFrame)
return nullptr;
- URL completedURL = urlString.isEmpty() ? URL(ParsedURLString, emptyString()) : firstFrame->document()->completeURL(urlString);
+ URL completedURL = urlString.isEmpty() ? URL(ParsedURLString, emptyString()) : firstFrame.document()->completeURL(urlString);
if (!completedURL.isEmpty() && !completedURL.isValid()) {
// Don't expose client code to invalid URLs.
activeWindow.printErrorMessage("Unable to open a window with invalid URL '" + completedURL.string() + "'.\n");
@@ -2086,10 +2086,10 @@
}
// For whatever reason, Firefox uses the first frame to determine the outgoingReferrer. We replicate that behavior here.
- String referrer = SecurityPolicy::generateReferrerHeader(firstFrame->document()->referrerPolicy(), completedURL, firstFrame->loader().outgoingReferrer());
+ String referrer = SecurityPolicy::generateReferrerHeader(firstFrame.document()->referrerPolicy(), completedURL, firstFrame.loader().outgoingReferrer());
ResourceRequest request(completedURL, referrer);
- FrameLoader::addHTTPOriginIfNeeded(request, firstFrame->loader().outgoingOrigin());
+ FrameLoader::addHTTPOriginIfNeeded(request, firstFrame.loader().outgoingOrigin());
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
@@ -2099,11 +2099,11 @@
if (!newFrame)
return nullptr;
- newFrame->loader().setOpener(openerFrame);
+ newFrame->loader().setOpener(&openerFrame);
newFrame->page()->setOpenedByDOM();
if (newFrame->document()->domWindow()->isInsecureScriptAccess(activeWindow, completedURL))
- return newFrame.release();
+ return WTF::move(newFrame);
if (prepareDialogFunction)
prepareDialogFunction(*newFrame->document()->domWindow());
@@ -2121,7 +2121,7 @@
if (!newFrame->page())
return nullptr;
- return newFrame.release();
+ return WTF::move(newFrame);
}
PassRefPtr<DOMWindow> DOMWindow::open(const String& urlString, const AtomicString& frameName, const String& windowFeaturesString,
@@ -2137,8 +2137,7 @@
return nullptr;
#if ENABLE(CONTENT_EXTENSIONS)
- if (firstFrame
- && firstFrame->document()
+ if (firstFrame->document()
&& firstFrame->mainFrame().page()
&& firstFrame->mainFrame().page()->userContentController()
&& firstFrame->mainFrame().document()) {
@@ -2190,7 +2189,7 @@
}
WindowFeatures windowFeatures(windowFeaturesString);
- RefPtr<Frame> result = createWindow(urlString, frameName, windowFeatures, activeWindow, firstFrame, m_frame);
+ RefPtr<Frame> result = createWindow(urlString, frameName, windowFeatures, activeWindow, *firstFrame, *m_frame);
return result ? result->document()->domWindow() : nullptr;
}
@@ -2215,7 +2214,7 @@
return;
WindowFeatures windowFeatures(dialogFeaturesString, screenAvailableRect(m_frame->view()));
- RefPtr<Frame> dialogFrame = createWindow(urlString, emptyAtom, windowFeatures, activeWindow, firstFrame, m_frame, WTF::move(prepareDialogFunction));
+ RefPtr<Frame> dialogFrame = createWindow(urlString, emptyAtom, windowFeatures, activeWindow, *firstFrame, *m_frame, WTF::move(prepareDialogFunction));
if (!dialogFrame)
return;
dialogFrame->page()->chrome().runModal();
Modified: trunk/Source/WebCore/page/DOMWindow.h (184371 => 184372)
--- trunk/Source/WebCore/page/DOMWindow.h 2015-05-15 04:43:05 UTC (rev 184371)
+++ trunk/Source/WebCore/page/DOMWindow.h 2015-05-15 05:07:22 UTC (rev 184372)
@@ -353,7 +353,7 @@
virtual void refEventTarget() override { ref(); }
virtual void derefEventTarget() override { deref(); }
- static PassRefPtr<Frame> createWindow(const String& urlString, const AtomicString& frameName, const WindowFeatures&, DOMWindow& activeWindow, Frame* firstFrame, Frame* openerFrame, std::function<void (DOMWindow&)> prepareDialogFunction = nullptr);
+ static RefPtr<Frame> createWindow(const String& urlString, const AtomicString& frameName, const WindowFeatures&, DOMWindow& activeWindow, Frame& firstFrame, Frame& openerFrame, std::function<void (DOMWindow&)> prepareDialogFunction = nullptr);
bool isInsecureScriptAccess(DOMWindow& activeWindow, const String& urlString);
void resetDOMWindowProperties();