Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
No new tests. (no code affected, just exporting a method for DumpRenderTree use)
* WebCore.exp.in:
2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener method to WebFrame.
* public/WebFrame.h:
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::clearOpener):
* src/WebFrameImpl.h:
2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener method to DumpRenderTreeSupportGTK.
* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::clearOpener):
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener method to WebFramePrivate.
* WebView/WebFrame.mm:
(-[WebFrame _clearOpener]):
* WebView/WebFramePrivate.h:
2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener method to DumpRenderTreeSupportQT.
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::clearOpener):
* WebCoreSupport/DumpRenderTreeSupportQt.h:
2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener method to IWebFramePrivate.
Touched WebKit.idl to trigger build scripts.
* Interfaces/IWebFramePrivate.idl:
* Interfaces/WebKit.idl:
* WebFrame.cpp:
(WebFrame::clearOpener):
* WebFrame.h:
2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener method to WKBundleWebFramePrivate.
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameClearOpener):
* WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener() calls between tests.
Some tests are using window.open() to change current window location.
This changes window.opener property whose nullity is checked before
showing xml viewer.
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::resetTestController):
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::reset):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@79764
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
+
+ No new tests. (no code affected, just exporting a method for DumpRenderTree use)
+
+ * WebCore.exp.in:
+
2011-02-26 Chang Shu <chang.shu@nokia.com>
Reviewed by Antonio Gomes.
__ZN7WebCore11FrameLoader4loadERKNS_15ResourceRequestERKNS_14SubstituteDataEb
__ZN7WebCore11FrameLoader4loadERKNS_15ResourceRequestEb
__ZN7WebCore11FrameLoader6reloadEb
+__ZN7WebCore11FrameLoader9setOpenerEPNS_5FrameE
__ZN7WebCore11Geolocation12setIsAllowedEb
__ZN7WebCore11GeolocationD1Ev
__ZN7WebCore11HistoryItem10targetItemEv
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
+
+ Added clearOpener method to WebFrame.
+
+ * public/WebFrame.h:
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::clearOpener):
+ * src/WebFrameImpl.h:
+
2011-02-25 Tony Chang <tony@chromium.org>
Roll chromium deps to include RBGToHSL fix and ICU update.
// Returns the frame that opened this frame or 0 if there is none.
virtual WebFrame* opener() const = 0;
+ // Reset the frame that opened this frame to 0.
+ // This is executed between layout tests runs
+ virtual void clearOpener() = 0;
+
// Returns the parent frame or 0 if this is a top-most frame.
virtual WebFrame* parent() const = 0;
return viewImpl();
}
+void WebFrameImpl::clearOpener()
+{
+ m_frame->loader()->setOpener(0);
+}
+
WebFrame* WebFrameImpl::opener() const
{
Frame* opener = 0;
virtual bool hasVisibleContent() const;
virtual WebView* view() const;
virtual WebFrame* opener() const;
+ virtual void clearOpener();
virtual WebFrame* parent() const;
virtual WebFrame* top() const;
virtual WebFrame* firstChild() const;
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
+
+ Added clearOpener method to DumpRenderTreeSupportGTK.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::clearOpener):
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+
2011-02-24 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
fprintf(stdout, "viewport size %dx%d scale %f with limits [%f, %f]\n", attrs.layoutSize.width(), attrs.layoutSize.height(), attrs.initialScale, attrs.minimumScale, attrs.maximumScale);
}
+void DumpRenderTreeSupportGtk::clearOpener(WebKitWebFrame* frame)
+{
+ Frame* coreFrame = core(frame);
+ if (coreFrame)
+ coreFrame->loader()->setOpener(0);
+}
+
unsigned int DumpRenderTreeSupportGtk::workerThreadCount()
{
#if ENABLE(WORKERS)
static JSValueRef nodesFromRect(JSContextRef context, JSValueRef value, int x, int y, unsigned top, unsigned right, unsigned bottom, unsigned left, bool ignoreClipping);
static void dumpConfigurationForViewport(WebKitWebView* webView, gint availableWidth, gint availableHeight);
+ static void clearOpener(WebKitWebFrame*);
+
// FIXME: Move these to webkitwebframe.h once their API has been discussed.
static GSList* getFrameChildren(WebKitWebFrame*);
static WTF::CString getInnerText(WebKitWebFrame*);
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
+
+ Added clearOpener method to WebFramePrivate.
+
+ * WebView/WebFrame.mm:
+ (-[WebFrame _clearOpener]):
+ * WebView/WebFramePrivate.h:
+
2011-02-25 Mark Rowe <mrowe@apple.com>
<rdar://problem/8902546> Build fix.
#endif
}
+- (void)_clearOpener
+{
+ Frame* coreFrame = _private->coreFrame;
+ if (coreFrame)
+ coreFrame->loader()->setOpener(0);
+}
+
@end
@implementation WebFrame
// The top of the accessibility tree.
- (id)accessibilityRoot;
+// Clears frame opener. This is executed between layout tests runs
+- (void)_clearOpener;
+
+
@end
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
+
+ Added clearOpener method to DumpRenderTreeSupportQT.
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::clearOpener):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
2011-02-25 Andras Becsi <abecsi@webkit.org>
Reviewed by Csaba Osztrogonác.
return docLoader->responseMIMEType();
}
+void DumpRenderTreeSupportQt::clearOpener(QWebFrame* frame)
+{
+ WebCore::Frame* coreFrame = QWebFramePrivate::core(frame);
+ coreFrame->loader()->setOpener(0);
+}
+
void DumpRenderTreeSupportQt::addURLToRedirect(const QString& origin, const QString& destination)
{
FrameLoaderClientQt::URLsToRedirect[origin] = destination;
static QVariantList nodesFromRect(const QWebElement& document, int x, int y, unsigned top, unsigned right, unsigned bottom, unsigned left, bool ignoreClipping);
static QString responseMimeType(QWebFrame*);
+ static void clearOpener(QWebFrame*);
static void addURLToRedirect(const QString& origin, const QString& destination);
static QStringList contextMenu(QWebPage*);
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
+
+ Added clearOpener method to IWebFramePrivate.
+ Touched WebKit.idl to trigger build scripts.
+
+ * Interfaces/IWebFramePrivate.idl:
+ * Interfaces/WebKit.idl:
+ * WebFrame.cpp:
+ (WebFrame::clearOpener):
+ * WebFrame.h:
+
2011-02-24 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
HRESULT loadPlainTextString([in] BSTR string, [in] BSTR url);
HRESULT hasSpellingMarker([in] UINT from, [in] UINT length, [out, retval] BOOL* result);
+
+ HRESULT clearOpener();
}
[default] interface IWebUserContentURLPattern;
}
}
+
return S_OK;
}
+HRESULT STDMETHODCALLTYPE WebFrame::clearOpener()
+{
+ HRESULT hr = S_OK;
+ if (Frame* coreFrame = core(this))
+ coreFrame->loader()->setOpener(0);
+
+ return hr;
+}
+
// IWebDocumentText -----------------------------------------------------------
HRESULT STDMETHODCALLTYPE WebFrame::supportsTextEncoding(
/* [in] */ UINT length,
/* [retval][out] */ BOOL *result);
+ virtual HRESULT STDMETHODCALLTYPE clearOpener();
+
// IWebDocumentText
virtual HRESULT STDMETHODCALLTYPE supportsTextEncoding(
/* [retval][out] */ BOOL* result);
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
+
+ Added clearOpener method to WKBundleWebFramePrivate.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameClearOpener):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+
2011-02-25 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
return toAPI(toImpl(frameRef)->page());
}
+void WKBundleFrameClearOpener(WKBundleFrameRef frameRef)
+{
+ Frame* coreFrame = toImpl(frameRef)->coreFrame();
+ if (coreFrame)
+ coreFrame->loader()->setOpener(0);
+}
+
WKStringRef WKBundleFrameCopyLayerTreeAsText(WKBundleFrameRef frameRef)
{
return toCopiedAPI(toImpl(frameRef)->layerTreeAsText());
WK_EXPORT void WKBundleFrameResumeAnimations(WKBundleFrameRef frame);
WK_EXPORT unsigned WKBundleFrameGetPendingUnloadCount(WKBundleFrameRef frame);
WK_EXPORT WKStringRef WKBundleFrameCopyLayerTreeAsText(WKBundleFrameRef frame);
+WK_EXPORT void WKBundleFrameClearOpener(WKBundleFrameRef frame);
#ifdef __cplusplus
}
+2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ DumpRenderTree should reset frame opener between tests.
+ https://bugs.webkit.org/show_bug.cgi?id=54874
+
+ Added clearOpener() calls between tests.
+ Some tests are using window.open() to change current window location.
+ This changes window.opener property whose nullity is checked before
+ showing xml viewer.
+
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::resetTestController):
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
+ (WTR::InjectedBundlePage::reset):
+
2011-02-25 Lukasz Slachciak <l.slachciak@samsung.com>
Reviewed by Kenneth Rohde Christiansen.
m_drtDevToolsAgent->reset();
if (m_drtDevToolsClient)
m_drtDevToolsClient->reset();
+ webView()->mainFrame()->clearOpener();
}
void TestShell::loadURL(const WebURL& url)
if (axController)
axController->resetToConsistentState();
+
+ DumpRenderTreeSupportGtk::clearOpener(mainFrame);
}
static bool useLongRunningServerMode(int argc, char *argv[])
// Clear the contents of the general pasteboard
[[NSPasteboard generalPasteboard] declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
+
+ [mainFrame _clearOpener];
}
static void runTest(const string& testPathOrURL)
#ifndef Q_OS_WINCE
setlocale(LC_ALL, "");
#endif
+
+ DumpRenderTreeSupportQt::clearOpener(m_page->mainFrame());
}
static bool isGlobalHistoryTest(const QUrl& url)
sharedUIDelegate->resetUndoManager();
sharedFrameLoadDelegate->resetToConsistentState();
+
+ COMPtr<IWebFramePrivate> framePrivate;
+ if (SUCCEEDED(frame->QueryInterface(&framePrivate)))
+ framePrivate->clearOpener();
}
static void runTest(const string& testPathOrURL)
WKBundlePageSetTextZoomFactor(m_page, 1);
m_previousTestBackForwardListItem = adoptWK(WKBundleBackForwardListCopyItemAtIndex(WKBundlePageGetBackForwardList(m_page), 0));
+
+ WKBundleFrameClearOpener(WKBundlePageGetMainFrame(m_page));
}
// Loader Client Callbacks