mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00

Official WebKit no longer supports Mac 10.14. However, since this system is still very much in use, we want to be able to keep it running for a while. This patch adds a new browser that we would compile and maintain specifically for Mac 10.14: `deprecated-webkit-mac-10.14`. This browser is a clone of Webkit r1443 that is the last known revision to compile on Mac 10.14. As we move on, we're free to modify this browser however we want, backporting important patches. References #5833
74 lines
2.7 KiB
C++
74 lines
2.7 KiB
C++
/*
|
|
* Copyright (C) 2018 Sony Interactive Entertainment Inc.
|
|
*
|
|
* 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.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 INC. OR
|
|
* 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.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
#include <WebKit/WKRetainPtr.h>
|
|
#include <WebKit/WKString.h>
|
|
#include <WebKit/WKURL.h>
|
|
#include <wtf/Optional.h>
|
|
|
|
struct CommandLineOptions {
|
|
bool useFullDesktop { };
|
|
bool inspectorPipe { };
|
|
bool headless { };
|
|
bool noStartupWindow { };
|
|
_bstr_t requestedURL;
|
|
_bstr_t userDataDir;
|
|
_bstr_t curloptProxy;
|
|
_bstr_t curloptNoproxy;
|
|
|
|
CommandLineOptions()
|
|
{
|
|
}
|
|
};
|
|
|
|
struct Credential {
|
|
std::wstring username;
|
|
std::wstring password;
|
|
};
|
|
|
|
void computeFullDesktopFrame();
|
|
bool getAppDataFolder(_bstr_t& directory);
|
|
CommandLineOptions parseCommandLine();
|
|
void createCrashReport(EXCEPTION_POINTERS*);
|
|
Optional<Credential> askCredential(HWND, const std::wstring& realm);
|
|
|
|
bool askServerTrustEvaluation(HWND, const std::wstring& text);
|
|
std::wstring replaceString(std::wstring src, const std::wstring& oldValue, const std::wstring& newValue);
|
|
|
|
extern HINSTANCE hInst;
|
|
extern POINT s_windowPosition;
|
|
extern SIZE s_windowSize;
|
|
|
|
std::wstring createString(WKStringRef wkString);
|
|
std::wstring createString(WKURLRef wkURL);
|
|
std::string createUTF8String(const wchar_t* src, size_t srcLength);
|
|
WKRetainPtr<WKStringRef> createWKString(_bstr_t str);
|
|
WKRetainPtr<WKStringRef> createWKString(const std::wstring& str);
|
|
WKRetainPtr<WKURLRef> createWKURL(_bstr_t str);
|
|
WKRetainPtr<WKURLRef> createWKURL(const std::wstring& str);
|