1563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark/* 2563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. 3563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 4563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * Redistribution and use in source and binary forms, with or without 5563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * modification, are permitted provided that the following conditions 6563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * are met: 7563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 8563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 1. Redistributions of source code must retain the above copyright 9563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * notice, this list of conditions and the following disclaimer. 10563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 2. Redistributions in binary form must reproduce the above copyright 11563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * notice, this list of conditions and the following disclaimer in the 12563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * documentation and/or other materials provided with the distribution. 13563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 14563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * its contributors may be used to endorse or promote products derived 15563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * from this software without specific prior written permission. 16563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 17563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 18563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 21563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark */ 28563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 29563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#ifndef LayoutTestController_h 30563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#define LayoutTestController_h 31563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 32563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#include <JavaScriptCore/JSObjectRef.h> 33cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block#include <JavaScriptCore/JSRetainPtr.h> 3465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#include <map> 35dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include <set> 36563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#include <string> 37231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include <vector> 3806ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen#include <wtf/PassRefPtr.h> 39dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include <wtf/RefCounted.h> 40563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 41563af33bc48281d19dce701398dbb88cb54fd7ecCary Clarkclass LayoutTestController : public RefCounted<LayoutTestController> { 42563af33bc48281d19dce701398dbb88cb54fd7ecCary Clarkpublic: 4306ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen static PassRefPtr<LayoutTestController> create(const std::string& testPathOrURL, const std::string& expectedPixelHash); 44563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark ~LayoutTestController(); 45563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 46563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void makeWindowObject(JSContextRef context, JSObjectRef windowObject, JSValueRef* exception); 47563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 48563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void addDisallowedURL(JSStringRef url); 4965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void addURLToRedirect(std::string origin, std::string destination); 5065f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch const std::string& redirectionDestinationForURL(std::string); 51dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch void clearAllApplicationCaches(); 52563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void clearAllDatabases(); 532bde8e466a4451c7319e3a072d118917957d6554Steve Block void clearApplicationCacheForOrigin(JSStringRef name); 54563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void clearBackForwardList(); 550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void clearPersistentUserStyleSheet(); 56dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block bool callShouldCloseOnWebView(); 57563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark JSStringRef copyDecodedHostName(JSStringRef name); 58563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark JSStringRef copyEncodedHostName(JSStringRef name); 59f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch JSRetainPtr<JSStringRef> counterValueForElementById(JSStringRef id); 600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void disableImageLoading(); 610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void dispatchPendingLoadRequests(); 62563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void display(); 632fc2651226baac27029e38c9d6ef883fa32084dbSteve Block void displayInvalidatedRegion(); 640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void execCommand(JSStringRef name, JSStringRef value); 65f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch bool findString(JSContextRef, JSStringRef, JSObjectRef optionsArray); 662bde8e466a4451c7319e3a072d118917957d6554Steve Block JSValueRef originsWithApplicationCache(JSContextRef); 67563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool isCommandEnabled(JSStringRef name); 68563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void keepWebHistory(); 69dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block JSValueRef computedStyleIncludingVisitedInfo(JSContextRef, JSValueRef); 70bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen JSValueRef nodesFromRect(JSContextRef, JSValueRef, int x, int y, unsigned top, unsigned right, unsigned bottom, unsigned left, bool ignoreClipping); 71563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void notifyDone(); 728a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block int numberOfPages(float pageWidthInPixels, float pageHeightInPixels); 732bde8e466a4451c7319e3a072d118917957d6554Steve Block int numberOfPendingGeolocationPermissionRequests(); 74231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void overridePreference(JSStringRef key, JSStringRef value); 755e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block int pageNumberForElementById(JSStringRef id, float pageWidthInPixels, float pageHeightInPixels); 7606ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen JSRetainPtr<JSStringRef> pageProperty(const char* propertyName, int pageNumber) const; 77ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block JSRetainPtr<JSStringRef> pageSizeAndMarginsInPixels(int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft) const; 7806ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen bool isPageBoxVisible(int pageNumber) const; 79563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark JSStringRef pathToLocalResource(JSContextRef, JSStringRef url); 80563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void queueBackNavigation(int howFarBackward); 81563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void queueForwardNavigation(int howFarForward); 82563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void queueLoad(JSStringRef url, JSStringRef target); 83967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch void queueLoadHTMLString(JSStringRef content, JSStringRef baseURL); 8465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch void queueLoadAlternateHTMLString(JSStringRef content, JSStringRef baseURL, JSStringRef unreachableURL); 850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void queueLoadingScript(JSStringRef script); 860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void queueNonLoadingScript(JSStringRef script); 87563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void queueReload(); 88cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block void removeAllVisitedLinks(); 89563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setAcceptsEditing(bool acceptsEditing); 90643ca7872b450ea4efacab6188849e5aac2ba161Steve Block void setAllowUniversalAccessFromFileURLs(bool); 91692e5dbf12901edacf14812a6fae25462920af42Steve Block void setAllowFileAccessFromFileURLs(bool); 925e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block void setAppCacheMaximumSize(unsigned long long quota); 93dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch void setApplicationCacheOriginQuota(unsigned long long quota); 94563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setAuthorAndUserStylesEnabled(bool); 952bde8e466a4451c7319e3a072d118917957d6554Steve Block void setAutofilled(JSContextRef, JSValueRef nodeObject, bool autofilled); 960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setCacheModel(int); 97563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setCustomPolicyDelegate(bool setDelegate, bool permissive); 98563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setDatabaseQuota(unsigned long long quota); 99d0825bca7fe65beaee391d30da42e937db621564Steve Block void setDomainRelaxationForbiddenForURLScheme(bool forbidden, JSStringRef scheme); 100563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setIconDatabaseEnabled(bool iconDatabaseEnabled); 101563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setJavaScriptProfilingEnabled(bool profilingEnabled); 10221939df44de1705786c545cd1bf519d47250322dBen Murdoch void setJavaScriptCanAccessClipboard(bool flag); 103563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setMainFrameIsFirstResponder(bool flag); 104db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block void setMockDeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma); 1055e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block void setMockGeolocationError(int code, JSStringRef message); 1065e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block void setMockGeolocationPosition(double latitude, double longitude, double accuracy); 1074576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang void addMockSpeechInputResult(JSStringRef result, double confidence, JSStringRef language); 1080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setPersistentUserStyleSheetLocation(JSStringRef path); 10921939df44de1705786c545cd1bf519d47250322dBen Murdoch void setPluginsEnabled(bool flag); 110563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setPopupBlockingEnabled(bool flag); 1110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setPrivateBrowsingEnabled(bool flag); 112563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setSelectTrailingWhitespaceEnabled(bool flag); 1130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setSmartInsertDeleteEnabled(bool flag); 1140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setTabKeyCyclesThroughElements(bool cycles); 115563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setUseDashboardCompatibilityMode(bool flag); 116563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setUserStyleSheetEnabled(bool flag); 117563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setUserStyleSheetLocation(JSStringRef path); 11881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void setValueForUser(JSContextRef, JSValueRef nodeObject, JSStringRef value); 119e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block void setViewModeMediaFeature(JSStringRef mode); 1205e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block void setXSSAuditorEnabled(bool flag); 121dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void setFrameFlatteningEnabled(bool enable); 122dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void setSpatialNavigationEnabled(bool enable); 123dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void setScrollbarPolicy(JSStringRef orientation, JSStringRef policy); 124e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block void setEditingBehavior(const char* editingBehavior); 1252daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch JSValueRef shadowRoot(JSContextRef, JSValueRef); 1265e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block 1270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void waitForPolicyDelegate(); 1280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch size_t webHistoryItemCount(); 129231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block unsigned workerThreadCount() const; 130563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark int windowCount(); 131563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 132231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void grantDesktopNotificationPermission(JSStringRef origin); 133231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool checkDesktopNotificationPermission(JSStringRef origin); 134563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 135231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool elementDoesAutoCompleteForElementWithId(JSStringRef id); 136563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 1372daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch bool dumpAsAudio() const { return m_dumpAsAudio; } 1382daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void setDumpAsAudio(bool dumpAsAudio) { m_dumpAsAudio = dumpAsAudio; } 1392daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 140563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool dumpAsPDF() const { return m_dumpAsPDF; } 141563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setDumpAsPDF(bool dumpAsPDF) { m_dumpAsPDF = dumpAsPDF; } 142231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 143231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool dumpAsText() const { return m_dumpAsText; } 144231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setDumpAsText(bool dumpAsText) { m_dumpAsText = dumpAsText; } 145967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch 146967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch bool generatePixelResults() const { return m_generatePixelResults; } 147967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch void setGeneratePixelResults(bool generatePixelResults) { m_generatePixelResults = generatePixelResults; } 148967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch 149dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch bool dumpApplicationCacheDelegateCallbacks() const { return m_dumpApplicationCacheDelegateCallbacks; } 150dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch void setDumpApplicationCacheDelegateCallbacks(bool dumpCallbacks) { m_dumpApplicationCacheDelegateCallbacks = dumpCallbacks; } 151dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 152563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool dumpBackForwardList() const { return m_dumpBackForwardList; } 153563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setDumpBackForwardList(bool dumpBackForwardList) { m_dumpBackForwardList = dumpBackForwardList; } 154563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 155563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool dumpChildFrameScrollPositions() const { return m_dumpChildFrameScrollPositions; } 156563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setDumpChildFrameScrollPositions(bool dumpChildFrameScrollPositions) { m_dumpChildFrameScrollPositions = dumpChildFrameScrollPositions; } 157563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 158563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool dumpChildFramesAsText() const { return m_dumpChildFramesAsText; } 159563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setDumpChildFramesAsText(bool dumpChildFramesAsText) { m_dumpChildFramesAsText = dumpChildFramesAsText; } 160563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 161563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool dumpDatabaseCallbacks() const { return m_dumpDatabaseCallbacks; } 162563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setDumpDatabaseCallbacks(bool dumpDatabaseCallbacks) { m_dumpDatabaseCallbacks = dumpDatabaseCallbacks; } 163563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 164563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool dumpDOMAsWebArchive() const { return m_dumpDOMAsWebArchive; } 165563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setDumpDOMAsWebArchive(bool dumpDOMAsWebArchive) { m_dumpDOMAsWebArchive = dumpDOMAsWebArchive; } 166563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 167563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool dumpEditingCallbacks() const { return m_dumpEditingCallbacks; } 168563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setDumpEditingCallbacks(bool dumpEditingCallbacks) { m_dumpEditingCallbacks = dumpEditingCallbacks; } 169563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 170231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool dumpFrameLoadCallbacks() const { return m_dumpFrameLoadCallbacks; } 171231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setDumpFrameLoadCallbacks(bool dumpFrameLoadCallbacks) { m_dumpFrameLoadCallbacks = dumpFrameLoadCallbacks; } 172e14391e94c850b8bd03680c23b38978db68687a8John Reck 173e14391e94c850b8bd03680c23b38978db68687a8John Reck bool dumpUserGestureInFrameLoadCallbacks() const { return m_dumpUserGestureInFrameLoadCallbacks; } 174e14391e94c850b8bd03680c23b38978db68687a8John Reck void setDumpUserGestureInFrameLoadCallbacks(bool dumpUserGestureInFrameLoadCallbacks) { m_dumpUserGestureInFrameLoadCallbacks = dumpUserGestureInFrameLoadCallbacks; } 175231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 176cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block bool dumpHistoryDelegateCallbacks() const { return m_dumpHistoryDelegateCallbacks; } 177cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block void setDumpHistoryDelegateCallbacks(bool dumpHistoryDelegateCallbacks) { m_dumpHistoryDelegateCallbacks = dumpHistoryDelegateCallbacks; } 178cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block 179563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool dumpResourceLoadCallbacks() const { return m_dumpResourceLoadCallbacks; } 180563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setDumpResourceLoadCallbacks(bool dumpResourceLoadCallbacks) { m_dumpResourceLoadCallbacks = dumpResourceLoadCallbacks; } 1810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch bool dumpResourceResponseMIMETypes() const { return m_dumpResourceResponseMIMETypes; } 1830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setDumpResourceResponseMIMETypes(bool dumpResourceResponseMIMETypes) { m_dumpResourceResponseMIMETypes = dumpResourceResponseMIMETypes; } 1840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 185231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool dumpSelectionRect() const { return m_dumpSelectionRect; } 186231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setDumpSelectionRect(bool dumpSelectionRect) { m_dumpSelectionRect = dumpSelectionRect; } 187563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 188231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool dumpSourceAsWebArchive() const { return m_dumpSourceAsWebArchive; } 189231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setDumpSourceAsWebArchive(bool dumpSourceAsWebArchive) { m_dumpSourceAsWebArchive = dumpSourceAsWebArchive; } 190231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 191231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool dumpStatusCallbacks() const { return m_dumpStatusCallbacks; } 192231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setDumpStatusCallbacks(bool dumpStatusCallbacks) { m_dumpStatusCallbacks = dumpStatusCallbacks; } 193563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 194231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool dumpTitleChanges() const { return m_dumpTitleChanges; } 195231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setDumpTitleChanges(bool dumpTitleChanges) { m_dumpTitleChanges = dumpTitleChanges; } 196cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block 19721939df44de1705786c545cd1bf519d47250322dBen Murdoch bool dumpIconChanges() const { return m_dumpIconChanges; } 19821939df44de1705786c545cd1bf519d47250322dBen Murdoch void setDumpIconChanges(bool dumpIconChanges) { m_dumpIconChanges = dumpIconChanges; } 19921939df44de1705786c545cd1bf519d47250322dBen Murdoch 200cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block bool dumpVisitedLinksCallback() const { return m_dumpVisitedLinksCallback; } 201cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block void setDumpVisitedLinksCallback(bool dumpVisitedLinksCallback) { m_dumpVisitedLinksCallback = dumpVisitedLinksCallback; } 202231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 203231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool dumpWillCacheResponse() const { return m_dumpWillCacheResponse; } 204231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setDumpWillCacheResponse(bool dumpWillCacheResponse) { m_dumpWillCacheResponse = dumpWillCacheResponse; } 205231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 206563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool callCloseOnWebViews() const { return m_callCloseOnWebViews; } 207563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setCallCloseOnWebViews(bool callCloseOnWebViews) { m_callCloseOnWebViews = callCloseOnWebViews; } 208563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 209563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool canOpenWindows() const { return m_canOpenWindows; } 210563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setCanOpenWindows(bool canOpenWindows) { m_canOpenWindows = canOpenWindows; } 211563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 212563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool closeRemainingWindowsWhenComplete() const { return m_closeRemainingWindowsWhenComplete; } 213563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setCloseRemainingWindowsWhenComplete(bool closeRemainingWindowsWhenComplete) { m_closeRemainingWindowsWhenComplete = closeRemainingWindowsWhenComplete; } 214563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 2155e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block bool newWindowsCopyBackForwardList() const { return m_newWindowsCopyBackForwardList; } 2165e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block void setNewWindowsCopyBackForwardList(bool newWindowsCopyBackForwardList) { m_newWindowsCopyBackForwardList = newWindowsCopyBackForwardList; } 2175e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block 218563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool stopProvisionalFrameLoads() const { return m_stopProvisionalFrameLoads; } 219563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setStopProvisionalFrameLoads(bool stopProvisionalFrameLoads) { m_stopProvisionalFrameLoads = stopProvisionalFrameLoads; } 220563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 221563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool testOnscreen() const { return m_testOnscreen; } 222563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setTestOnscreen(bool testOnscreen) { m_testOnscreen = testOnscreen; } 223563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 224563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool testRepaint() const { return m_testRepaint; } 225563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setTestRepaint(bool testRepaint) { m_testRepaint = testRepaint; } 226563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 227563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool testRepaintSweepHorizontally() const { return m_testRepaintSweepHorizontally; } 228563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setTestRepaintSweepHorizontally(bool testRepaintSweepHorizontally) { m_testRepaintSweepHorizontally = testRepaintSweepHorizontally; } 229563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 230563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool waitToDump() const { return m_waitToDump; } 231563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setWaitToDump(bool waitToDump); 232231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void waitToDumpWatchdogTimerFired(); 233563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 234dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block const std::set<std::string>& willSendRequestClearHeaders() const { return m_willSendRequestClearHeaders; } 235dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void setWillSendRequestClearHeader(std::string header) { m_willSendRequestClearHeaders.insert(header); } 236dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 237d0825bca7fe65beaee391d30da42e937db621564Steve Block bool willSendRequestReturnsNull() const { return m_willSendRequestReturnsNull; } 238d0825bca7fe65beaee391d30da42e937db621564Steve Block void setWillSendRequestReturnsNull(bool returnsNull) { m_willSendRequestReturnsNull = returnsNull; } 239d0825bca7fe65beaee391d30da42e937db621564Steve Block 2400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch bool willSendRequestReturnsNullOnRedirect() const { return m_willSendRequestReturnsNullOnRedirect; } 2410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch void setWillSendRequestReturnsNullOnRedirect(bool returnsNull) { m_willSendRequestReturnsNullOnRedirect = returnsNull; } 2420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 243563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool windowIsKey() const { return m_windowIsKey; } 244563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setWindowIsKey(bool windowIsKey); 245563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 246231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool alwaysAcceptCookies() const { return m_alwaysAcceptCookies; } 247231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setAlwaysAcceptCookies(bool alwaysAcceptCookies); 248231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 249231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool handlesAuthenticationChallenges() const { return m_handlesAuthenticationChallenges; } 250231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setHandlesAuthenticationChallenges(bool handlesAuthenticationChallenges) { m_handlesAuthenticationChallenges = handlesAuthenticationChallenges; } 251231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 25221939df44de1705786c545cd1bf519d47250322dBen Murdoch bool isPrinting() const { return m_isPrinting; } 25321939df44de1705786c545cd1bf519d47250322dBen Murdoch void setIsPrinting(bool isPrinting) { m_isPrinting = isPrinting; } 25421939df44de1705786c545cd1bf519d47250322dBen Murdoch 255231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block const std::string& authenticationUsername() const { return m_authenticationUsername; } 256231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setAuthenticationUsername(std::string username) { m_authenticationUsername = username; } 257231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 258231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block const std::string& authenticationPassword() const { return m_authenticationPassword; } 259231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setAuthenticationPassword(std::string password) { m_authenticationPassword = password; } 260231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 261563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool globalFlag() const { return m_globalFlag; } 262563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark void setGlobalFlag(bool globalFlag) { m_globalFlag = globalFlag; } 263563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 264967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch bool deferMainResourceDataLoad() const { return m_deferMainResourceDataLoad; } 265967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch void setDeferMainResourceDataLoad(bool flag) { m_deferMainResourceDataLoad = flag; } 266967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch 267563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark const std::string& testPathOrURL() const { return m_testPathOrURL; } 268563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark const std::string& expectedPixelHash() const { return m_expectedPixelHash; } 2692daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 2702daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch const std::string& encodedAudioData() const { return m_encodedAudioData; } 2712daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void setEncodedAudioData(const std::string& encodedAudioData) { m_encodedAudioData = encodedAudioData; } 272563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 273563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool pauseAnimationAtTimeOnElementWithId(JSStringRef animationName, double time, JSStringRef elementId); 274563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool pauseTransitionAtTimeOnElementWithId(JSStringRef propertyName, double time, JSStringRef elementId); 275643ca7872b450ea4efacab6188849e5aac2ba161Steve Block bool sampleSVGAnimationForElementAtTime(JSStringRef animationId, double time, JSStringRef elementId); 276563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark unsigned numberOfActiveAnimations() const; 277f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick void suspendAnimations() const; 278f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick void resumeAnimations() const; 279231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 280dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void addOriginAccessWhitelistEntry(JSStringRef sourceOrigin, JSStringRef destinationProtocol, JSStringRef destinationHost, bool allowDestinationSubdomains); 281dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void removeOriginAccessWhitelistEntry(JSStringRef sourceOrigin, JSStringRef destinationProtocol, JSStringRef destinationHost, bool allowDestinationSubdomains); 282231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 283e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke void addUserScript(JSStringRef source, bool runAtStart, bool allFrames); 284e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke void addUserStyleSheet(JSStringRef source, bool allFrames); 285231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 286231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setGeolocationPermission(bool allow); 287231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool isGeolocationPermissionSet() const { return m_isGeolocationPermissionSet; } 288231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool geolocationPermission() const { return m_geolocationPermission; } 289231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 290dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void setDeveloperExtrasEnabled(bool); 291f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch void setAsynchronousSpellCheckingEnabled(bool); 292231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void showWebInspector(); 293231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void closeWebInspector(); 294643ca7872b450ea4efacab6188849e5aac2ba161Steve Block void setTimelineProfilingEnabled(bool enabled); 295231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void evaluateInWebInspector(long callId, JSStringRef script); 296cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block void evaluateScriptInIsolatedWorld(unsigned worldId, JSObjectRef globalObject, JSStringRef script); 297231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 298231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block void setPOSIXLocale(JSStringRef locale); 299dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 300dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void setWebViewEditable(bool); 301dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 30206ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen void abortModal(); 30306ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen 304a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch bool hasSpellingMarker(int from, int length); 3052bde8e466a4451c7319e3a072d118917957d6554Steve Block bool hasGrammarMarker(int from, int length); 306a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch 30781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void dumpConfigurationForViewport(int deviceDPI, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight); 30881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 309f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch static void setSerializeHTTPLoads(bool serialize); 310f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch 311692e5dbf12901edacf14812a6fae25462920af42Steve Block // The following API test functions should probably be moved to platform-specific 312692e5dbf12901edacf14812a6fae25462920af42Steve Block // unit tests outside of DRT once they exist. 313692e5dbf12901edacf14812a6fae25462920af42Steve Block void apiTestNewWindowDataLoadBaseURL(JSStringRef utf8Data, JSStringRef baseURL); 314dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void apiTestGoToCurrentBackForwardItem(); 315dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 316dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // Simulate a request an embedding application could make, populating per-session credential storage. 317dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void authenticateSession(JSStringRef url, JSStringRef username, JSStringRef password); 318dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 319dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block JSRetainPtr<JSStringRef> layerTreeAsText() const; 320dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 321dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block JSRetainPtr<JSStringRef> markerTextForListItem(JSContextRef context, JSValueRef nodeObject) const; 322692e5dbf12901edacf14812a6fae25462920af42Steve Block 3232bde8e466a4451c7319e3a072d118917957d6554Steve Block JSValueRef originsWithLocalStorage(JSContextRef); 3242bde8e466a4451c7319e3a072d118917957d6554Steve Block void deleteAllLocalStorage(); 3252bde8e466a4451c7319e3a072d118917957d6554Steve Block void deleteLocalStorageForOrigin(JSStringRef originIdentifier); 3262bde8e466a4451c7319e3a072d118917957d6554Steve Block void observeStorageTrackerNotifications(unsigned number); 3272bde8e466a4451c7319e3a072d118917957d6554Steve Block void syncLocalStorage(); 3282bde8e466a4451c7319e3a072d118917957d6554Steve Block 32981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void setShouldPaintBrokenImage(bool); 33081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch bool shouldPaintBrokenImage() const { return m_shouldPaintBrokenImage; } 33181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 332692e5dbf12901edacf14812a6fae25462920af42Steve Block static const unsigned maxViewWidth; 333692e5dbf12901edacf14812a6fae25462920af42Steve Block static const unsigned maxViewHeight; 334231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 33581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch void setMinimumTimerInterval(double); 33681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch 337563af33bc48281d19dce701398dbb88cb54fd7ecCary Clarkprivate: 33806ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen LayoutTestController(const std::string& testPathOrURL, const std::string& expectedPixelHash); 33906ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen 340dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch void setGeolocationPermissionCommon(bool allow); 341dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 342dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch bool m_dumpApplicationCacheDelegateCallbacks; 3432daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch bool m_dumpAsAudio; 344563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_dumpAsPDF; 345231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_dumpAsText; 346563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_dumpBackForwardList; 347563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_dumpChildFrameScrollPositions; 348563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_dumpChildFramesAsText; 349563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_dumpDOMAsWebArchive; 350231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_dumpDatabaseCallbacks; 351231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_dumpEditingCallbacks; 352231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_dumpFrameLoadCallbacks; 353e14391e94c850b8bd03680c23b38978db68687a8John Reck bool m_dumpUserGestureInFrameLoadCallbacks; 354cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block bool m_dumpHistoryDelegateCallbacks; 355231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_dumpResourceLoadCallbacks; 356231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_dumpResourceResponseMIMETypes; 357563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_dumpSelectionRect; 358563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_dumpSourceAsWebArchive; 359563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_dumpStatusCallbacks; 360563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_dumpTitleChanges; 36121939df44de1705786c545cd1bf519d47250322dBen Murdoch bool m_dumpIconChanges; 362cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block bool m_dumpVisitedLinksCallback; 3630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch bool m_dumpWillCacheResponse; 364967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch bool m_generatePixelResults; 365563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_callCloseOnWebViews; 366563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_canOpenWindows; 367563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_closeRemainingWindowsWhenComplete; 3685e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block bool m_newWindowsCopyBackForwardList; 369563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_stopProvisionalFrameLoads; 370563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_testOnscreen; 371563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_testRepaint; 372563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_testRepaintSweepHorizontally; 373563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_waitToDump; // True if waitUntilDone() has been called, but notifyDone() has not yet been called. 374d0825bca7fe65beaee391d30da42e937db621564Steve Block bool m_willSendRequestReturnsNull; 3750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch bool m_willSendRequestReturnsNullOnRedirect; 376563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_windowIsKey; 377231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_alwaysAcceptCookies; 378563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark bool m_globalFlag; 379231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_isGeolocationPermissionSet; 380231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_geolocationPermission; 381231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block bool m_handlesAuthenticationChallenges; 38221939df44de1705786c545cd1bf519d47250322dBen Murdoch bool m_isPrinting; 383967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch bool m_deferMainResourceDataLoad; 38481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch bool m_shouldPaintBrokenImage; 385563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 386231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block std::string m_authenticationUsername; 387231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block std::string m_authenticationPassword; 388563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark std::string m_testPathOrURL; 389563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark std::string m_expectedPixelHash; // empty string if no hash 390dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 391dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block std::set<std::string> m_willSendRequestClearHeaders; 392563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 3932daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch // base64 encoded WAV audio data is stored here. 3942daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch std::string m_encodedAudioData; 3952daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 396231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block // origins which have been granted desktop notification access 397231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block std::vector<JSStringRef> m_desktopNotificationAllowedOrigins; 39865f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch 39965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch std::map<std::string, std::string> m_URLsToRedirect; 400231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 401563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark static JSClassRef getJSClass(); 402563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark static JSStaticValue* staticValues(); 403563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark static JSStaticFunction* staticFunctions(); 404563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark}; 405563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 406563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#endif // LayoutTestController_h 407