12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
- From: Milan Burda <[email protected]>
- Date: Thu, 11 Apr 2019 14:49:20 +0200
- Subject: add_contentgpuclient_precreatemessageloop_callback.patch
- This adds a ContentGpuClient::PreCreateMessageLoop() callback.
- Invoke in GpuMain after SetErrorMode, before starting the message loop.
- Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set.
- This should be upstreamed.
- diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
- index a044de5f13ef0f07f3aca582d706a4ffa9bc35a8..9543b18f3e7c524a8a56ffcfc02bb9b19f863035 100644
- --- a/content/gpu/gpu_main.cc
- +++ b/content/gpu/gpu_main.cc
- @@ -242,6 +242,10 @@ int GpuMain(MainFunctionParams parameters) {
- // to the GpuProcessHost once the GpuServiceImpl has started.
- viz::GpuServiceImpl::InstallPreInitializeLogHandler();
-
- + auto* client = GetContentClient()->gpu();
- + if (client)
- + client->PreCreateMessageLoop();
- +
- // We are experiencing what appear to be memory-stomp issues in the GPU
- // process. These issues seem to be impacting the task executor and listeners
- // registered to it. Create the task executor on the heap to guard against
- @@ -326,7 +330,6 @@ int GpuMain(MainFunctionParams parameters) {
- const_cast<base::CommandLine*>(&command_line), gpu_preferences);
- const bool dead_on_arrival = !init_success;
-
- - auto* client = GetContentClient()->gpu();
- if (client) {
- client->PostSandboxInitialized();
- }
- diff --git a/content/public/gpu/content_gpu_client.h b/content/public/gpu/content_gpu_client.h
- index 3020e59f491f95740983b01c16e2a5be01d60f67..b25140275ce636717ca60a3cb17eb2f35f50d8be 100644
- --- a/content/public/gpu/content_gpu_client.h
- +++ b/content/public/gpu/content_gpu_client.h
- @@ -30,6 +30,10 @@ class CONTENT_EXPORT ContentGpuClient {
- public:
- virtual ~ContentGpuClient() {}
-
- + // Allows the embedder to perform platform-specific initialization before
- + // creating the message loop.
- + virtual void PreCreateMessageLoop() {}
- +
- // Called during initialization once the GpuService has been initialized.
- virtual void GpuServiceInitialized() {}
-
|