mirror of
https://github.com/microsoft/playwright.git
synced 2025-01-04 17:35:48 +03:00
browser(webkit): flag to disable accelerated compositing on win (#10024)
This commit is contained in:
parent
bce9a8187d
commit
bf515205b6
@ -1,2 +1,2 @@
|
|||||||
1571
|
1572
|
||||||
Changed: yurys@chromium.org Wed 03 Nov 2021 08:42:54 AM PDT
|
Changed: yurys@chromium.org Wed, Nov 3, 2021 10:07:22 PM
|
||||||
|
@ -197,6 +197,8 @@ CommandLineOptions parseCommandLine()
|
|||||||
options.headless = true;
|
options.headless = true;
|
||||||
else if (!wcsicmp(argv[i], L"--no-startup-window"))
|
else if (!wcsicmp(argv[i], L"--no-startup-window"))
|
||||||
options.noStartupWindow = true;
|
options.noStartupWindow = true;
|
||||||
|
else if (!wcsicmp(argv[i], L"--disable-accelerated-compositing"))
|
||||||
|
options.disableAcceleratedCompositing = true;
|
||||||
else if (!options.requestedURL)
|
else if (!options.requestedURL)
|
||||||
options.requestedURL = argv[i];
|
options.requestedURL = argv[i];
|
||||||
}
|
}
|
||||||
|
@ -36,6 +36,7 @@ struct CommandLineOptions {
|
|||||||
bool inspectorPipe { };
|
bool inspectorPipe { };
|
||||||
bool headless { };
|
bool headless { };
|
||||||
bool noStartupWindow { };
|
bool noStartupWindow { };
|
||||||
|
bool disableAcceleratedCompositing { };
|
||||||
_bstr_t requestedURL;
|
_bstr_t requestedURL;
|
||||||
_bstr_t userDataDir;
|
_bstr_t userDataDir;
|
||||||
_bstr_t curloptProxy;
|
_bstr_t curloptProxy;
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "MainWindow.h"
|
#include "MainWindow.h"
|
||||||
#include "PlaywrightLibResource.h"
|
#include "PlaywrightLibResource.h"
|
||||||
#include "WebKitBrowserWindow.h"
|
#include "WebKitBrowserWindow.h"
|
||||||
|
#include <WebKit/WKPreferencesRefPrivate.h>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
namespace WebCore {
|
namespace WebCore {
|
||||||
@ -49,10 +50,12 @@ size_t MainWindow::s_numInstances;
|
|||||||
|
|
||||||
bool MainWindow::s_headless = false;
|
bool MainWindow::s_headless = false;
|
||||||
bool MainWindow::s_controlledRemotely = false;
|
bool MainWindow::s_controlledRemotely = false;
|
||||||
|
bool MainWindow::s_disableAcceleratedCompositing = false;
|
||||||
|
|
||||||
void MainWindow::configure(bool headless, bool controlledRemotely) {
|
void MainWindow::configure(bool headless, bool controlledRemotely, bool disableAcceleratedCompositing) {
|
||||||
s_headless = headless;
|
s_headless = headless;
|
||||||
s_controlledRemotely = controlledRemotely;
|
s_controlledRemotely = controlledRemotely;
|
||||||
|
s_disableAcceleratedCompositing = disableAcceleratedCompositing;
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::wstring loadString(int id)
|
static std::wstring loadString(int id)
|
||||||
@ -180,6 +183,8 @@ bool MainWindow::init(HINSTANCE hInstance, WKPageConfigurationRef conf)
|
|||||||
WKPageConfigurationSetPreferences(conf, prefs.get());
|
WKPageConfigurationSetPreferences(conf, prefs.get());
|
||||||
WKPreferencesSetMediaCapabilitiesEnabled(prefs.get(), false);
|
WKPreferencesSetMediaCapabilitiesEnabled(prefs.get(), false);
|
||||||
WKPreferencesSetDeveloperExtrasEnabled(prefs.get(), true);
|
WKPreferencesSetDeveloperExtrasEnabled(prefs.get(), true);
|
||||||
|
if (s_disableAcceleratedCompositing)
|
||||||
|
WKPreferencesSetAcceleratedCompositingEnabled(prefs.get(), false);
|
||||||
|
|
||||||
m_configuration = conf;
|
m_configuration = conf;
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
class MainWindow : public BrowserWindowClient {
|
class MainWindow : public BrowserWindowClient {
|
||||||
public:
|
public:
|
||||||
static void configure(bool headless, bool controlledRemotely);
|
static void configure(bool headless, bool controlledRemotely, bool disableAcceleratedCompositing);
|
||||||
|
|
||||||
MainWindow();
|
MainWindow();
|
||||||
|
|
||||||
@ -57,6 +57,7 @@ private:
|
|||||||
static size_t s_numInstances;
|
static size_t s_numInstances;
|
||||||
static bool s_headless;
|
static bool s_headless;
|
||||||
static bool s_controlledRemotely;
|
static bool s_controlledRemotely;
|
||||||
|
static bool s_disableAcceleratedCompositing;
|
||||||
|
|
||||||
bool toggleMenuItem(UINT menuID);
|
bool toggleMenuItem(UINT menuID);
|
||||||
void onURLBarEnter();
|
void onURLBarEnter();
|
||||||
|
@ -101,7 +101,7 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance,
|
|||||||
if (SetProcessDpiAwarenessContextPtr())
|
if (SetProcessDpiAwarenessContextPtr())
|
||||||
SetProcessDpiAwarenessContextPtr()(DPI_AWARENESS_CONTEXT_UNAWARE);
|
SetProcessDpiAwarenessContextPtr()(DPI_AWARENESS_CONTEXT_UNAWARE);
|
||||||
|
|
||||||
MainWindow::configure(g_options.headless, g_options.inspectorPipe);
|
MainWindow::configure(g_options.headless, g_options.inspectorPipe, g_options.disableAcceleratedCompositing);
|
||||||
|
|
||||||
if (!g_options.noStartupWindow) {
|
if (!g_options.noStartupWindow) {
|
||||||
auto configuration = adoptWK(WKWebsiteDataStoreConfigurationCreate());
|
auto configuration = adoptWK(WKWebsiteDataStoreConfigurationCreate());
|
||||||
|
Loading…
Reference in New Issue
Block a user