mirror of
https://github.com/microsoft/playwright.git
synced 2024-12-14 21:53:35 +03:00
browser(webkit): pass dialog tests on windows (#515)
This commit is contained in:
parent
a446d919fd
commit
9c88649c6b
@ -1 +1 @@
|
||||
1094
|
||||
1095
|
||||
|
@ -5133,19 +5133,24 @@ index 026121d114c5fcad84c1396be8d692625beaa3bd..1f707641766b51e3bddcdde0c49ee8cf
|
||||
}
|
||||
#endif
|
||||
diff --git a/Source/WebKit/UIProcess/API/C/WKPage.cpp b/Source/WebKit/UIProcess/API/C/WKPage.cpp
|
||||
index dd796b8332359e1c3b1e5575fd7a03353cb1fac2..283682a495e5bd114beec3e8351817465d39caab 100644
|
||||
index dd796b8332359e1c3b1e5575fd7a03353cb1fac2..08a3d67c2a2abba978ef597dbc7a8d3b72fdfb88 100644
|
||||
--- a/Source/WebKit/UIProcess/API/C/WKPage.cpp
|
||||
+++ b/Source/WebKit/UIProcess/API/C/WKPage.cpp
|
||||
@@ -1675,6 +1675,8 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient
|
||||
@@ -1675,6 +1675,13 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient
|
||||
completionHandler(String());
|
||||
}
|
||||
|
||||
+ void handleJavaScriptDialog(WebPageProxy&, bool, const String&) final { }
|
||||
+ void handleJavaScriptDialog(WebPageProxy& page, bool accept, const String& value) final {
|
||||
+ if (m_client.handleJavaScriptDialog) {
|
||||
+ m_client.handleJavaScriptDialog(toAPI(&page), accept, toAPI(value.impl()), m_client.base.clientInfo);
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
void setStatusText(WebPageProxy* page, const String& text) final
|
||||
{
|
||||
if (!m_client.setStatusText)
|
||||
@@ -1735,6 +1737,8 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient
|
||||
@@ -1735,6 +1742,8 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient
|
||||
{
|
||||
if (!m_client.didNotHandleKeyEvent)
|
||||
return;
|
||||
@ -5154,6 +5159,26 @@ index dd796b8332359e1c3b1e5575fd7a03353cb1fac2..283682a495e5bd114beec3e835181746
|
||||
m_client.didNotHandleKeyEvent(toAPI(page), event.nativeEvent(), m_client.base.clientInfo);
|
||||
}
|
||||
|
||||
diff --git a/Source/WebKit/UIProcess/API/C/WKPageUIClient.h b/Source/WebKit/UIProcess/API/C/WKPageUIClient.h
|
||||
index 1d2febfba8833912f72216aa53c8c20090ee2d8b..1b2c3d84b15b12f1a187c0b7622db43cbbcd5996 100644
|
||||
--- a/Source/WebKit/UIProcess/API/C/WKPageUIClient.h
|
||||
+++ b/Source/WebKit/UIProcess/API/C/WKPageUIClient.h
|
||||
@@ -90,6 +90,7 @@ typedef void (*WKPageRunBeforeUnloadConfirmPanelCallback)(WKPageRef page, WKStri
|
||||
typedef void (*WKPageRunJavaScriptAlertCallback)(WKPageRef page, WKStringRef alertText, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptAlertResultListenerRef listener, const void *clientInfo);
|
||||
typedef void (*WKPageRunJavaScriptConfirmCallback)(WKPageRef page, WKStringRef message, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptConfirmResultListenerRef listener, const void *clientInfo);
|
||||
typedef void (*WKPageRunJavaScriptPromptCallback)(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptPromptResultListenerRef listener, const void *clientInfo);
|
||||
+typedef void (*WKPageHandleJavaScriptDialogCallback)(WKPageRef page, bool accept, WKStringRef value, const void *clientInfo);
|
||||
typedef void (*WKPageRequestStorageAccessConfirmCallback)(WKPageRef page, WKFrameRef frame, WKStringRef requestingDomain, WKStringRef currentDomain, WKPageRequestStorageAccessConfirmResultListenerRef listener, const void *clientInfo);
|
||||
typedef void (*WKPageTakeFocusCallback)(WKPageRef page, WKFocusDirection direction, const void *clientInfo);
|
||||
typedef void (*WKPageFocusCallback)(WKPageRef page, const void *clientInfo);
|
||||
@@ -1352,6 +1353,7 @@ typedef struct WKPageUIClientV14 {
|
||||
|
||||
// Version 14.
|
||||
WKPageRunWebAuthenticationPanelCallback runWebAuthenticationPanel;
|
||||
+ WKPageHandleJavaScriptDialogCallback handleJavaScriptDialog;
|
||||
} WKPageUIClientV14;
|
||||
|
||||
#ifdef __cplusplus
|
||||
diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegate.h b/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegate.h
|
||||
index cad87f3ef2ab93d93a74cec0c34b47c695de6bc6..66145a384638b97ee08516e56e1e86a83713c634 100644
|
||||
--- a/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegate.h
|
||||
@ -6556,7 +6581,7 @@ index 4896c404bc8b25d69360de7d1c509383282b2317..14bdebf732e929ea367c961f9d0bec85
|
||||
static constexpr Seconds didUpdateBackingStoreStateTimeout() { return Seconds::fromMilliseconds(500); }
|
||||
diff --git a/Source/WebKit/UIProcess/InspectorBrowserAgent.cpp b/Source/WebKit/UIProcess/InspectorBrowserAgent.cpp
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..cd718da46713a8414b90e6768f65d7c90e5207dd
|
||||
index 0000000000000000000000000000000000000000..7e60481e8a85d3b4a18f95970dd86577b851bcda
|
||||
--- /dev/null
|
||||
+++ b/Source/WebKit/UIProcess/InspectorBrowserAgent.cpp
|
||||
@@ -0,0 +1,482 @@
|
||||
@ -6990,10 +7015,10 @@ index 0000000000000000000000000000000000000000..cd718da46713a8414b90e6768f65d7c9
|
||||
+ return;
|
||||
+ }
|
||||
+ if (geolocation) {
|
||||
+ double timestamp;
|
||||
+ double latitude;
|
||||
+ double longitude;
|
||||
+ double accuracy;
|
||||
+ double timestamp = 0;
|
||||
+ double latitude = 0;
|
||||
+ double longitude = 0;
|
||||
+ double accuracy = 0;
|
||||
+ if (!geolocation->getDouble("timestamp", timestamp) ||
|
||||
+ !geolocation->getDouble("latitude", latitude) ||
|
||||
+ !geolocation->getDouble("longitude", longitude) ||
|
||||
@ -11161,28 +11186,30 @@ index 1570d65effb5d601ee3c44a2a7461436f4691c2c..456f96cf589320efa70a76f76e230b67
|
||||
|
||||
typedef struct _BrowserWindow BrowserWindow;
|
||||
diff --git a/Tools/MiniBrowser/gtk/main.c b/Tools/MiniBrowser/gtk/main.c
|
||||
index 4c5147dcd38a53e2feaeaae0fce38f92dc60eba6..85d98782b2beef897221659631384ef379dfe87f 100644
|
||||
index 4c5147dcd38a53e2feaeaae0fce38f92dc60eba6..17854dbfb1a3223e091ab90c0ca1bfc1e1f13d44 100644
|
||||
--- a/Tools/MiniBrowser/gtk/main.c
|
||||
+++ b/Tools/MiniBrowser/gtk/main.c
|
||||
@@ -53,6 +53,8 @@ static const char *cookiesFile;
|
||||
@@ -53,6 +53,9 @@ static const char *cookiesFile;
|
||||
static const char *cookiesPolicy;
|
||||
static const char *proxy;
|
||||
static gboolean darkMode;
|
||||
+static gboolean inspectorPipe;
|
||||
+static gboolean headless;
|
||||
+static const char *userDataDir;
|
||||
static gboolean printVersion;
|
||||
|
||||
typedef enum {
|
||||
@@ -121,6 +123,8 @@ static const GOptionEntry commandLineOptions[] =
|
||||
@@ -121,6 +124,9 @@ static const GOptionEntry commandLineOptions[] =
|
||||
{ "ignore-tls-errors", 0, 0, G_OPTION_ARG_NONE, &ignoreTLSErrors, "Ignore TLS errors", NULL },
|
||||
{ "content-filter", 0, 0, G_OPTION_ARG_FILENAME, &contentFilter, "JSON with content filtering rules", "FILE" },
|
||||
{ "version", 'v', 0, G_OPTION_ARG_NONE, &printVersion, "Print the WebKitGTK version", NULL },
|
||||
+ { "inspector-pipe", 0, 0, G_OPTION_ARG_NONE, &inspectorPipe, "Open pipe connection to the remote inspector", NULL },
|
||||
+ { "user-data-dir", 0, 0, G_OPTION_ARG_STRING, &userDataDir, "Default profile persistence folder location", NULL },
|
||||
+ { "headless", 0, 0, G_OPTION_ARG_NONE, &headless, "Noop headless operation", NULL },
|
||||
{ G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &uriArguments, 0, "[URL…]" },
|
||||
{ 0, 0, 0, 0, 0, 0, 0 }
|
||||
};
|
||||
@@ -498,6 +502,29 @@ static void filterSavedCallback(WebKitUserContentFilterStore *store, GAsyncResul
|
||||
@@ -498,6 +504,29 @@ static void filterSavedCallback(WebKitUserContentFilterStore *store, GAsyncResul
|
||||
g_main_loop_quit(data->mainLoop);
|
||||
}
|
||||
|
||||
@ -11212,7 +11239,7 @@ index 4c5147dcd38a53e2feaeaae0fce38f92dc60eba6..85d98782b2beef897221659631384ef3
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#if ENABLE_DEVELOPER_MODE
|
||||
@@ -541,10 +568,22 @@ int main(int argc, char *argv[])
|
||||
@@ -541,10 +570,22 @@ int main(int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -11800,7 +11827,7 @@ index d996feb64e02d7399f2ed0b34d3d0dd03133f824..474caddaafa1fd464acd9117e3260fe3
|
||||
_bstr_t requestedURL;
|
||||
|
||||
diff --git a/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp b/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp
|
||||
index 71c43e6691395b787140ca0603550aac1c8513d5..82fd4b084931a87ba34f390ccd26737e0c787ebb 100644
|
||||
index 71c43e6691395b787140ca0603550aac1c8513d5..fbcf0036e3778fb7c2eb6edd8ada08bd49d8b643 100644
|
||||
--- a/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp
|
||||
+++ b/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp
|
||||
@@ -39,6 +39,8 @@
|
||||
@ -11812,15 +11839,57 @@ index 71c43e6691395b787140ca0603550aac1c8513d5..82fd4b084931a87ba34f390ccd26737e
|
||||
std::wstring createString(WKStringRef wkString)
|
||||
{
|
||||
size_t maxSize = WKStringGetLength(wkString);
|
||||
@@ -148,6 +150,7 @@ WebKitBrowserWindow::WebKitBrowserWindow(BrowserWindowClient& client, WKPageConf
|
||||
@@ -143,11 +145,17 @@ WebKitBrowserWindow::WebKitBrowserWindow(BrowserWindowClient& client, WKPageConf
|
||||
navigationClient.didReceiveAuthenticationChallenge = didReceiveAuthenticationChallenge;
|
||||
WKPageSetPageNavigationClient(page, &navigationClient.base);
|
||||
|
||||
- WKPageUIClientV13 uiClient = { };
|
||||
- uiClient.base.version = 13;
|
||||
+ WKPageUIClientV14 uiClient = { };
|
||||
+ uiClient.base.version = 14;
|
||||
uiClient.base.clientInfo = this;
|
||||
uiClient.createNewPage = createNewPage;
|
||||
uiClient.didNotHandleKeyEvent = didNotHandleKeyEvent;
|
||||
+ uiClient.close = closeWindow;
|
||||
+ uiClient.runJavaScriptAlert = runJavaScriptAlert;
|
||||
+ uiClient.runJavaScriptConfirm = runJavaScriptConfirm;
|
||||
+ uiClient.runJavaScriptPrompt = runJavaScriptPrompt;
|
||||
+ uiClient.runBeforeUnloadConfirmPanel = runBeforeUnloadConfirmPanel;
|
||||
+ uiClient.handleJavaScriptDialog = handleJavaScriptDialog;
|
||||
WKPageSetPageUIClient(page, &uiClient.base);
|
||||
|
||||
WKPageStateClientV0 stateClient = { };
|
||||
@@ -381,21 +384,41 @@ bool WebKitBrowserWindow::canTrustServerCertificate(WKProtectionSpaceRef protect
|
||||
@@ -163,6 +171,29 @@ WebKitBrowserWindow::WebKitBrowserWindow(BrowserWindowClient& client, WKPageConf
|
||||
resetZoom();
|
||||
}
|
||||
|
||||
+WebKitBrowserWindow::~WebKitBrowserWindow()
|
||||
+{
|
||||
+ if (m_alertDialog) {
|
||||
+ WKRelease(m_alertDialog);
|
||||
+ m_alertDialog = NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (m_confirmDialog) {
|
||||
+ WKRelease(m_confirmDialog);
|
||||
+ m_confirmDialog = NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (m_promptDialog) {
|
||||
+ WKRelease(m_promptDialog);
|
||||
+ m_promptDialog = NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (m_beforeUnloadDialog) {
|
||||
+ WKRelease(m_beforeUnloadDialog);
|
||||
+ m_beforeUnloadDialog = NULL;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void WebKitBrowserWindow::updateProxySettings()
|
||||
{
|
||||
auto context = WKPageGetContext(WKViewGetPage(m_view.get()));
|
||||
@@ -381,21 +412,97 @@ bool WebKitBrowserWindow::canTrustServerCertificate(WKProtectionSpaceRef protect
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -11837,6 +11906,62 @@ index 71c43e6691395b787140ca0603550aac1c8513d5..82fd4b084931a87ba34f390ccd26737e
|
||||
+ PostMessage(thisWindow.m_hMainWnd, WM_CLOSE, 0, 0);
|
||||
+}
|
||||
+
|
||||
+void WebKitBrowserWindow::runJavaScriptAlert(WKPageRef page, WKStringRef alertText, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptAlertResultListenerRef listener, const void *clientInfo)
|
||||
+{
|
||||
+ auto& thisWindow = toWebKitBrowserWindow(clientInfo);
|
||||
+ WKRetain(listener);
|
||||
+ thisWindow.m_alertDialog = listener;
|
||||
+}
|
||||
+
|
||||
+void WebKitBrowserWindow::runJavaScriptConfirm(WKPageRef page, WKStringRef message, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptConfirmResultListenerRef listener, const void *clientInfo)
|
||||
+{
|
||||
+ auto& thisWindow = toWebKitBrowserWindow(clientInfo);
|
||||
+ WKRetain(listener);
|
||||
+ thisWindow.m_confirmDialog = listener;
|
||||
+}
|
||||
+
|
||||
+void WebKitBrowserWindow::runJavaScriptPrompt(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptPromptResultListenerRef listener, const void *clientInfo)
|
||||
+{
|
||||
+ auto& thisWindow = toWebKitBrowserWindow(clientInfo);
|
||||
+ WKRetain(listener);
|
||||
+ thisWindow.m_promptDialog = listener;
|
||||
+}
|
||||
+
|
||||
+void WebKitBrowserWindow::runBeforeUnloadConfirmPanel(WKPageRef page, WKStringRef message, WKFrameRef frame, WKPageRunBeforeUnloadConfirmPanelResultListenerRef listener, const void *clientInfo)
|
||||
+{
|
||||
+ auto& thisWindow = toWebKitBrowserWindow(clientInfo);
|
||||
+ WKRetain(listener);
|
||||
+ thisWindow.m_beforeUnloadDialog = listener;
|
||||
+}
|
||||
+
|
||||
+void WebKitBrowserWindow::handleJavaScriptDialog(WKPageRef page, bool accept, WKStringRef value, const void *clientInfo)
|
||||
+{
|
||||
+ auto& thisWindow = toWebKitBrowserWindow(clientInfo);
|
||||
+ if (thisWindow.m_alertDialog) {
|
||||
+ WKPageRunJavaScriptAlertResultListenerCall(thisWindow.m_alertDialog);
|
||||
+ WKRelease(thisWindow.m_alertDialog);
|
||||
+ thisWindow.m_alertDialog = NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (thisWindow.m_confirmDialog) {
|
||||
+ WKPageRunJavaScriptConfirmResultListenerCall(thisWindow.m_confirmDialog, accept);
|
||||
+ WKRelease(thisWindow.m_confirmDialog);
|
||||
+ thisWindow.m_confirmDialog = NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (thisWindow.m_promptDialog) {
|
||||
+ WKPageRunJavaScriptPromptResultListenerCall(thisWindow.m_promptDialog, accept ? value : NULL);
|
||||
+ WKRelease(thisWindow.m_promptDialog);
|
||||
+ thisWindow.m_promptDialog = NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (thisWindow.m_beforeUnloadDialog) {
|
||||
+ WKPageRunBeforeUnloadConfirmPanelResultListenerCall(thisWindow.m_beforeUnloadDialog, accept);
|
||||
+ WKRelease(thisWindow.m_beforeUnloadDialog);
|
||||
+ thisWindow.m_beforeUnloadDialog = NULL;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+WKPageRef WebKitBrowserWindow::createPageCallback(WKPageConfigurationRef configuration)
|
||||
{
|
||||
auto& newWindow = MainWindow::create().leakRef();
|
||||
@ -11867,10 +11992,10 @@ index 71c43e6691395b787140ca0603550aac1c8513d5..82fd4b084931a87ba34f390ccd26737e
|
||||
{
|
||||
auto& thisWindow = toWebKitBrowserWindow(clientInfo);
|
||||
diff --git a/Tools/MiniBrowser/win/WebKitBrowserWindow.h b/Tools/MiniBrowser/win/WebKitBrowserWindow.h
|
||||
index e8efe3c2838a9bb553a1c59ff6c1fb25d2f96500..67f629637fad2da465025248af328f80e6ee7068 100644
|
||||
index e8efe3c2838a9bb553a1c59ff6c1fb25d2f96500..adebbe537e72d3e3708c9fb66a408a1e400e9ff5 100644
|
||||
--- a/Tools/MiniBrowser/win/WebKitBrowserWindow.h
|
||||
+++ b/Tools/MiniBrowser/win/WebKitBrowserWindow.h
|
||||
@@ -34,6 +34,8 @@
|
||||
@@ -34,9 +34,12 @@
|
||||
class WebKitBrowserWindow : public BrowserWindow {
|
||||
public:
|
||||
static Ref<BrowserWindow> create(BrowserWindowClient&, HWND mainWnd, bool useLayeredWebView = false);
|
||||
@ -11879,14 +12004,32 @@ index e8efe3c2838a9bb553a1c59ff6c1fb25d2f96500..67f629637fad2da465025248af328f80
|
||||
|
||||
private:
|
||||
WebKitBrowserWindow(BrowserWindowClient&, WKPageConfigurationRef, HWND mainWnd);
|
||||
@@ -71,6 +73,7 @@ private:
|
||||
+ ~WebKitBrowserWindow() override;
|
||||
|
||||
HRESULT init() override;
|
||||
HWND hwnd() override;
|
||||
@@ -71,6 +74,12 @@ private:
|
||||
static void didChangeActiveURL(const void*);
|
||||
static void didReceiveAuthenticationChallenge(WKPageRef, WKAuthenticationChallengeRef, const void*);
|
||||
static WKPageRef createNewPage(WKPageRef, WKPageConfigurationRef, WKNavigationActionRef, WKWindowFeaturesRef, const void *);
|
||||
+ static void closeWindow(WKPageRef, const void*);
|
||||
+ static void runJavaScriptAlert(WKPageRef page, WKStringRef alertText, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptAlertResultListenerRef listener, const void *clientInfo);
|
||||
+ static void runJavaScriptConfirm(WKPageRef page, WKStringRef message, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptConfirmResultListenerRef listener, const void *clientInfo);
|
||||
+ static void runJavaScriptPrompt(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptPromptResultListenerRef listener, const void *clientInfo);
|
||||
+ static void runBeforeUnloadConfirmPanel(WKPageRef page, WKStringRef message, WKFrameRef frame, WKPageRunBeforeUnloadConfirmPanelResultListenerRef listener, const void *clientInfo);
|
||||
+ static void handleJavaScriptDialog(WKPageRef page, bool accept, WKStringRef value, const void *clientInfo);
|
||||
static void didNotHandleKeyEvent(WKPageRef, WKNativeEventPtr, const void*);
|
||||
|
||||
BrowserWindowClient& m_client;
|
||||
@@ -78,4 +87,8 @@ private:
|
||||
HWND m_hMainWnd { nullptr };
|
||||
ProxySettings m_proxy { };
|
||||
std::unordered_map<std::wstring, std::wstring> m_acceptedServerTrustCerts;
|
||||
+ WKPageRunJavaScriptAlertResultListenerRef m_alertDialog = { };
|
||||
+ WKPageRunJavaScriptConfirmResultListenerRef m_confirmDialog = { };
|
||||
+ WKPageRunJavaScriptPromptResultListenerRef m_promptDialog = { };
|
||||
+ WKPageRunBeforeUnloadConfirmPanelResultListenerRef m_beforeUnloadDialog = { };
|
||||
};
|
||||
diff --git a/Tools/MiniBrowser/win/WinMain.cpp b/Tools/MiniBrowser/win/WinMain.cpp
|
||||
index b1d17e88de61a6f196830f62604e4174564506bd..eb5b63e75be20ffbe390c0b084314c3542b6b5b2 100644
|
||||
--- a/Tools/MiniBrowser/win/WinMain.cpp
|
||||
@ -11956,7 +12099,7 @@ index 245f319abf2595e154d03e1ee8b3250d7f46aafd..9cae87b23deade7c163f34aade2b2aed
|
||||
${WPEBACKEND_FDO_INCLUDE_DIRS}
|
||||
)
|
||||
diff --git a/Tools/MiniBrowser/wpe/main.cpp b/Tools/MiniBrowser/wpe/main.cpp
|
||||
index 2d183d394123bd84545dc51f53eb9be796fb8873..359c0f3275f5a22560349c445f086958b8edc356 100644
|
||||
index 2d183d394123bd84545dc51f53eb9be796fb8873..867e7d08fd5f922e32e09550ac19a21d0c8fb7d1 100644
|
||||
--- a/Tools/MiniBrowser/wpe/main.cpp
|
||||
+++ b/Tools/MiniBrowser/wpe/main.cpp
|
||||
@@ -25,7 +25,7 @@
|
||||
@ -11968,23 +12111,25 @@ index 2d183d394123bd84545dc51f53eb9be796fb8873..359c0f3275f5a22560349c445f086958
|
||||
#include "WindowViewBackend.h"
|
||||
#if ENABLE_WEB_AUDIO || ENABLE_VIDEO
|
||||
#include <gst/gst.h>
|
||||
@@ -43,6 +43,7 @@ static gboolean headlessMode;
|
||||
@@ -43,6 +43,8 @@ static gboolean headlessMode;
|
||||
static gboolean privateMode;
|
||||
static gboolean automationMode;
|
||||
static gboolean ignoreTLSErrors;
|
||||
+static gboolean inspectorPipe;
|
||||
+static const char* userDataDir;
|
||||
static const char* contentFilter;
|
||||
static const char* cookiesFile;
|
||||
static const char* cookiesPolicy;
|
||||
@@ -63,6 +64,7 @@ static const GOptionEntry commandLineOptions[] =
|
||||
@@ -63,6 +65,8 @@ static const GOptionEntry commandLineOptions[] =
|
||||
{ "content-filter", 0, 0, G_OPTION_ARG_FILENAME, &contentFilter, "JSON with content filtering rules", "FILE" },
|
||||
{ "bg-color", 0, 0, G_OPTION_ARG_STRING, &bgColor, "Window background color. Default: white", "COLOR" },
|
||||
{ "version", 'v', 0, G_OPTION_ARG_NONE, &printVersion, "Print the WPE version", nullptr },
|
||||
+ { "inspector-pipe", 'v', 0, G_OPTION_ARG_NONE, &inspectorPipe, "Expose remote debugging protocol over pipe", nullptr },
|
||||
+ { "user-data-dir", 0, 0, G_OPTION_ARG_STRING, &userDataDir, "Default profile persistence folder location", "FILE" },
|
||||
{ G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &uriArguments, nullptr, "[URL]" },
|
||||
{ nullptr, 0, 0, G_OPTION_ARG_NONE, nullptr, nullptr, nullptr }
|
||||
};
|
||||
@@ -131,7 +133,7 @@ static gboolean decidePermissionRequest(WebKitWebView *, WebKitPermissionRequest
|
||||
@@ -131,7 +135,7 @@ static gboolean decidePermissionRequest(WebKitWebView *, WebKitPermissionRequest
|
||||
static std::unique_ptr<WPEToolingBackends::ViewBackend> createViewBackend(uint32_t width, uint32_t height)
|
||||
{
|
||||
if (headlessMode)
|
||||
@ -11993,7 +12138,7 @@ index 2d183d394123bd84545dc51f53eb9be796fb8873..359c0f3275f5a22560349c445f086958
|
||||
return std::make_unique<WPEToolingBackends::WindowViewBackend>(width, height);
|
||||
}
|
||||
|
||||
@@ -152,7 +154,23 @@ static void webViewClose(WebKitWebView* webView, gpointer)
|
||||
@@ -152,7 +156,23 @@ static void webViewClose(WebKitWebView* webView, gpointer)
|
||||
g_object_unref(webView);
|
||||
}
|
||||
|
||||
@ -12018,7 +12163,7 @@ index 2d183d394123bd84545dc51f53eb9be796fb8873..359c0f3275f5a22560349c445f086958
|
||||
{
|
||||
auto backend = createViewBackend(1280, 720);
|
||||
struct wpe_view_backend* wpeBackend = backend->backend();
|
||||
@@ -164,14 +182,48 @@ static WebKitWebView* createWebView(WebKitWebView* webView, WebKitNavigationActi
|
||||
@@ -164,14 +184,48 @@ static WebKitWebView* createWebView(WebKitWebView* webView, WebKitNavigationActi
|
||||
delete static_cast<WPEToolingBackends::ViewBackend*>(data);
|
||||
}, backend.release());
|
||||
|
||||
@ -12070,7 +12215,7 @@ index 2d183d394123bd84545dc51f53eb9be796fb8873..359c0f3275f5a22560349c445f086958
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#if ENABLE_DEVELOPER_MODE
|
||||
@@ -280,6 +332,9 @@ int main(int argc, char *argv[])
|
||||
@@ -280,6 +334,9 @@ int main(int argc, char *argv[])
|
||||
delete static_cast<WPEToolingBackends::ViewBackend*>(data);
|
||||
}, backend.release());
|
||||
|
||||
@ -12080,7 +12225,7 @@ index 2d183d394123bd84545dc51f53eb9be796fb8873..359c0f3275f5a22560349c445f086958
|
||||
auto* webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW,
|
||||
"backend", viewBackend,
|
||||
"web-context", webContext,
|
||||
@@ -318,7 +373,7 @@ int main(int argc, char *argv[])
|
||||
@@ -318,7 +375,7 @@ int main(int argc, char *argv[])
|
||||
g_object_unref(file);
|
||||
webkit_web_view_load_uri(webView, url);
|
||||
g_free(url);
|
||||
|
Loading…
Reference in New Issue
Block a user