Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[gecko] Create EmbedLiteCompositorBridgeParent in CompositorBridgeChi…
…ld::InitSameProcess (part 2). JB#49551

Compositor parent is created through following path:
- nsWindow::CreateCompositor (is nsBaseWidget)
- gfx::GPUProcessManager::CreateTopLevelCompositor
- InProcessCompositorSession::Create
- CompositorBridgeChild::InitSameProcess
  • Loading branch information
rainemak committed Apr 17, 2020
1 parent cbdce10 commit e48bbbe
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 0 deletions.
@@ -0,0 +1,54 @@
From 58bcd34b2eca7b9779d3c1febc4718df44090f86 Mon Sep 17 00:00:00 2001
From: Raine Makelainen <raine.makelainen@jolla.com>
Date: Fri, 17 Apr 2020 21:01:29 +0300
Subject: [PATCH 2/2] [gecko] Create EmbedLiteCompositorBridgeParent in
CompositorBridgeChild::InitSameProcess (part 2). JB#49551

Compositor parent is created through following path:
- nsWindow::CreateCompositor (is nsBaseWidget)
- gfx::GPUProcessManager::CreateTopLevelCompositor
- InProcessCompositorSession::Create
- CompositorBridgeChild::InitSameProcess

Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
gfx/layers/ipc/CompositorBridgeChild.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/gfx/layers/ipc/CompositorBridgeChild.cpp b/gfx/layers/ipc/CompositorBridgeChild.cpp
index f623b10b8706..1d785d0851be 100644
--- a/gfx/layers/ipc/CompositorBridgeChild.cpp
+++ b/gfx/layers/ipc/CompositorBridgeChild.cpp
@@ -36,6 +36,12 @@
#include "mozilla/dom/ContentChild.h"
#include "mozilla/Unused.h"
#include "mozilla/DebugOnly.h"
+
+#if defined(MOZ_EMBEDLITE)
+#include "mozilla/embedlite/nsWindow.h"
+#include "mozilla/embedlite/EmbedLiteCompositorBridgeParent.h"
+#endif
+
#if defined(XP_WIN)
#include "WinUtils.h"
#endif
@@ -241,8 +247,16 @@ CompositorBridgeChild::InitSameProcess(widget::CompositorWidget* aWidget,
TimeDuration vsyncRate =
gfxPlatform::GetPlatform()->GetHardwareVsync()->GetGlobalDisplay().GetVsyncRate();

+#ifdef MOZ_EMBEDLITE
+ auto window = static_cast<mozilla::embedlite::nsWindow *>(aWidget->RealWidget());
+ mCompositorBridgeParent =
+ new mozilla::embedlite::EmbedLiteCompositorBridgeParent(window->GetUniqueID(),
+ aScale, vsyncRate,
+ aUseExternalSurface, aSurfaceSize);
+#else
mCompositorBridgeParent =
new CompositorBridgeParent(aScale, vsyncRate, aUseExternalSurface, aSurfaceSize);
+#endif

bool ok = Open(mCompositorBridgeParent->GetIPCChannel(),
CompositorThreadHolder::Loop(),
--
2.25.2

1 change: 1 addition & 0 deletions rpm/xulrunner-qt5.spec
Expand Up @@ -67,6 +67,7 @@ Patch21: 0021-Disable-loading-extensions-and-assume-memory-constra.patch
Patch22: 0022-Enable-gstreamer-pipeline-debug-graph-generati.patch
Patch23: 0023-media-Require-interleaved-audio-layout-Fixes-JB49532.patch
Patch24: 0024-gecko-Use-MOZ_EMBEDLITE-for-embedlite-integration.patch
Patch25: 0025-gecko-Create-EmbedLiteCompositorBridgeParent-in-Comp.patch

BuildRequires: pkgconfig(Qt5Quick)
BuildRequires: pkgconfig(Qt5Network)
Expand Down

0 comments on commit e48bbbe

Please sign in to comment.