diff -r 4f2f89ce4247 -r 303757a437d3 WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h --- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h Fri Sep 17 09:02:29 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,260 +0,0 @@ -/* - * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) - * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef LayoutTestControllerQt_h -#define LayoutTestControllerQt_h - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -class QWebFrame; -class DumpRenderTreeSupportQt; -namespace WebCore { - class DumpRenderTree; -} -class LayoutTestController : public QObject { - Q_OBJECT - Q_PROPERTY(int webHistoryItemCount READ webHistoryItemCount) - Q_PROPERTY(int workerThreadCount READ workerThreadCount) - Q_PROPERTY(bool globalFlag READ globalFlag WRITE setGlobalFlag) -public: - LayoutTestController(WebCore::DumpRenderTree* drt); - - bool shouldDumpAsText() const { return m_textDump; } - bool shouldDumpBackForwardList() const { return m_dumpBackForwardList; } - bool shouldDumpChildrenAsText() const { return m_dumpChildrenAsText; } - bool shouldDumpChildFrameScrollPositions() const { return m_dumpChildFrameScrollPositions; } - bool shouldDumpDatabaseCallbacks() const { return m_dumpDatabaseCallbacks; } - bool shouldDumpStatusCallbacks() const { return m_dumpStatusCallbacks; } - bool shouldWaitUntilDone() const { return m_waitForDone; } - bool shouldHandleErrorPages() const { return m_handleErrorPages; } - bool canOpenWindows() const { return m_canOpenWindows; } - bool shouldDumpTitleChanges() const { return m_dumpTitleChanges; } - bool waitForPolicy() const { return m_waitForPolicy; } - bool ignoreReqestForPermission() const { return m_ignoreDesktopNotification; } - - void reset(); - - static const unsigned int maxViewWidth; - static const unsigned int maxViewHeight; - -protected: - void timerEvent(QTimerEvent*); - -signals: - void done(); - - void showPage(); - void hidePage(); - -public slots: - void maybeDump(bool ok); - void dumpAsText() { m_textDump = true; } - void dumpChildFramesAsText() { m_dumpChildrenAsText = true; } - void dumpChildFrameScrollPositions() { m_dumpChildFrameScrollPositions = true; } - void dumpDatabaseCallbacks() { m_dumpDatabaseCallbacks = true; } - void dumpStatusCallbacks() { m_dumpStatusCallbacks = true; } - void setCanOpenWindows() { m_canOpenWindows = true; } - void waitUntilDone(); - QString counterValueForElementById(const QString& id); - int webHistoryItemCount(); - void keepWebHistory(); - void notifyDone(); - void dumpBackForwardList() { m_dumpBackForwardList = true; } - bool globalFlag() const { return m_globalFlag; } - void setGlobalFlag(bool flag) { m_globalFlag = flag; } - void handleErrorPages() { m_handleErrorPages = true; } - void dumpEditingCallbacks(); - void dumpFrameLoadCallbacks(); - void dumpResourceLoadCallbacks(); - void dumpResourceResponseMIMETypes(); - void setWillSendRequestReturnsNullOnRedirect(bool enabled); - void setWillSendRequestReturnsNull(bool enabled); - void setWillSendRequestClearHeader(const QStringList& headers); - void queueBackNavigation(int howFarBackward); - void queueForwardNavigation(int howFarForward); - void queueLoad(const QString& url, const QString& target = QString()); - void queueLoadHTMLString(const QString& content, const QString& baseURL = QString()); - void queueReload(); - void queueLoadingScript(const QString& script); - void queueNonLoadingScript(const QString& script); - void provisionalLoad(); - void setCloseRemainingWindowsWhenComplete(bool = false) {} - int windowCount(); - void grantDesktopNotificationPermission(const QString& origin); - void ignoreDesktopNotificationPermissionRequests(); - bool checkDesktopNotificationPermission(const QString& origin); - void display(); - void clearBackForwardList(); - QString pathToLocalResource(const QString& url); - void dumpTitleChanges() { m_dumpTitleChanges = true; } - QString encodeHostName(const QString& host); - QString decodeHostName(const QString& host); - void dumpSelectionRect() const {} - void setDeveloperExtrasEnabled(bool); - void showWebInspector(); - void closeWebInspector(); - void evaluateInWebInspector(long callId, const QString& script); - - void setMediaType(const QString& type); - void setFrameFlatteningEnabled(bool enable); - void setAllowUniversalAccessFromFileURLs(bool enable); - void setAllowFileAccessFromFileURLs(bool enable); - void setAppCacheMaximumSize(unsigned long long quota); - void setJavaScriptProfilingEnabled(bool enable); - void setTimelineProfilingEnabled(bool enable); - void setFixedContentsSize(int width, int height); - void setPrivateBrowsingEnabled(bool enable); - void setSpatialNavigationEnabled(bool enabled); - void setPluginsEnabled(bool flag); - void setPopupBlockingEnabled(bool enable); - void setPOSIXLocale(const QString& locale); - void resetLoadFinished() { m_loadFinished = false; } - void setWindowIsKey(bool isKey); - void setMainFrameIsFirstResponder(bool isFirst); - void setDeferMainResourceDataLoad(bool); - void setJavaScriptCanAccessClipboard(bool enable); - void setXSSAuditorEnabled(bool enable); - void setCaretBrowsingEnabled(bool enable); - void setViewModeMediaFeature(const QString& mode); - void setSmartInsertDeleteEnabled(bool enable); - void setSelectTrailingWhitespaceEnabled(bool enable); - void execCommand(const QString& name, const QString& value = QString()); - bool isCommandEnabled(const QString& name) const; - - bool pauseAnimationAtTimeOnElementWithId(const QString& animationName, double time, const QString& elementId); - bool pauseTransitionAtTimeOnElementWithId(const QString& propertyName, double time, const QString& elementId); - bool sampleSVGAnimationForElementAtTime(const QString& animationId, double time, const QString& elementId); - bool elementDoesAutoCompleteForElementWithId(const QString& elementId); - - unsigned numberOfActiveAnimations() const; - - void addOriginAccessWhitelistEntry(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains); - void removeOriginAccessWhitelistEntry(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains); - - void dispatchPendingLoadRequests(); - void disableImageLoading(); - - void setDatabaseQuota(int size); - void clearAllDatabases(); - void setIconDatabaseEnabled(bool enable); - - void setCustomPolicyDelegate(bool enabled, bool permissive = true); - void waitForPolicyDelegate(); - - void overridePreference(const QString& name, const QVariant& value); - void setUserStyleSheetLocation(const QString& url); - void setUserStyleSheetEnabled(bool enabled); - void setDomainRelaxationForbiddenForURLScheme(bool forbidden, const QString& scheme); - int workerThreadCount(); - int pageNumberForElementById(const QString& id, float width = 0, float height = 0); - int numberOfPages(float width = maxViewWidth, float height = maxViewHeight); - bool callShouldCloseOnWebView(); - // For now, this is a no-op. This may change depending on outcome of - // https://bugs.webkit.org/show_bug.cgi?id=33333 - void setCallCloseOnWebViews() {} - // This is a no-op - it allows us to pass - // plugins/get-url-that-the-resource-load-delegate-will-disallow.html - // which is a Mac-specific test. - void addDisallowedURL(const QString&) {} - - void setMockGeolocationError(int code, const QString& message); - void setMockGeolocationPosition(double latitude, double longitude, double accuracy); - void setGeolocationPermission(bool allow); - bool isGeolocationPermissionSet() const { return m_isGeolocationPermissionSet; } - bool geolocationPermission() const { return m_geolocationPermission; } - - // Empty stub method to keep parity with object model exposed by global LayoutTestController. - void abortModal() {} - - /* - Policy values: 'on', 'auto' or 'off'. - Orientation values: 'vertical' or 'horizontal'. - */ - void setScrollbarPolicy(const QString& orientation, const QString& policy); - - QString markerTextForListItem(const QWebElement& listItem); - QVariantMap computedStyleIncludingVisitedInfo(const QWebElement& element) const; - - // Simulate a request an embedding application could make, populating per-session credential storage. - void authenticateSession(const QString& url, const QString& username, const QString& password); - - void setEditingBehavior(const QString& editingBehavior); - - void evaluateScriptInIsolatedWorld(int worldID, const QString& script); - bool isPageBoxVisible(int pageIndex); - QString pageSizeAndMarginsInPixels(int pageIndex, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft); - QString pageProperty(const QString& propertyName, int pageNumber); - void addUserStyleSheet(const QString& sourceCode); - -private slots: - void processWork(); - -private: - bool m_hasDumped; - bool m_textDump; - bool m_dumpBackForwardList; - bool m_dumpChildrenAsText; - bool m_dumpChildFrameScrollPositions; - bool m_canOpenWindows; - bool m_waitForDone; - bool m_dumpTitleChanges; - bool m_dumpDatabaseCallbacks; - bool m_dumpStatusCallbacks; - bool m_waitForPolicy; - bool m_handleErrorPages; - bool m_loadFinished; - bool m_globalFlag; - bool m_userStyleSheetEnabled; - bool m_isGeolocationPermissionSet; - bool m_geolocationPermission; - - QUrl m_userStyleSheetLocation; - QBasicTimer m_timeoutTimer; - QWebFrame* m_topLoadingFrame; - WebCore::DumpRenderTree* m_drt; - QWebHistory* m_webHistory; - QStringList m_desktopNotificationAllowedOrigins; - bool m_ignoreDesktopNotification; -}; - -#endif // LayoutTestControllerQt_h