1 /* 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 14 * its contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 #ifndef DumpRenderTreeWin_h 30 #define DumpRenderTreeWin_h 31 32 struct IWebFrame; 33 struct IWebScriptWorld; 34 struct IWebView; 35 struct FrameLoadDelegate; 36 struct PolicyDelegate; 37 typedef const struct __CFString* CFStringRef; 38 typedef struct HWND__* HWND; 39 40 extern IWebFrame* topLoadingFrame; 41 extern IWebFrame* frame; 42 extern PolicyDelegate* policyDelegate; 43 44 extern HWND webViewWindow; 45 46 #include <WebCore/COMPtr.h> 47 #include <string> 48 #include <wtf/HashMap.h> 49 #include <wtf/Vector.h> 50 51 std::wstring urlSuitableForTestResult(const std::wstring& url); 52 std::wstring lastPathComponent(const std::wstring&); 53 std::string toUTF8(BSTR); 54 std::string toUTF8(const std::wstring&); 55 std::wstring cfStringRefToWString(CFStringRef); 56 57 IWebView* createWebViewAndOffscreenWindow(HWND* webViewWindow = 0); 58 Vector<HWND>& openWindows(); 59 typedef HashMap<HWND, COMPtr<IWebView> > WindowToWebViewMap; 60 WindowToWebViewMap& windowToWebViewMap(); 61 62 void setPersistentUserStyleSheetLocation(CFStringRef); 63 bool setAlwaysAcceptCookies(bool alwaysAcceptCookies); 64 65 unsigned worldIDForWorld(IWebScriptWorld*); 66 67 extern UINT_PTR waitToDumpWatchdog; 68 69 extern COMPtr<FrameLoadDelegate> sharedFrameLoadDelegate; 70 71 #endif // DumpRenderTreeWin_h 72