Bug 1273949 - CompositorBridgeParent::CompositorLoop to CompositorThreadHolder::Loop r?dvander draft
authorAlexandre Lissy <lissyx@lissyx.dyndns.org>
Wed, 18 May 2016 18:47:58 +0200
changeset 368386 5cb7d82a30871a247bc7613decbca0dc4300d9ff
parent 368365 c4449eab07d39e20ea315603f1b1863eeed7dcfe
child 521258 219af0b61ad4bafd0bdc3ed2e098d003c1f89c9c
push id18520
push userbmo:lissyx+mozillians@lissyx.dyndns.org
push dateWed, 18 May 2016 17:30:21 +0000
reviewersdvander
bugs1273949
milestone49.0a1
Bug 1273949 - CompositorBridgeParent::CompositorLoop to CompositorThreadHolder::Loop r?dvander MozReview-Commit-ID: 3goE5H8JAGk
widget/gonk/nativewindow/FakeSurfaceComposer.cpp
widget/gonk/nsScreenManagerGonk.cpp
widget/gonk/nsWindow.cpp
--- a/widget/gonk/nativewindow/FakeSurfaceComposer.cpp
+++ b/widget/gonk/nativewindow/FakeSurfaceComposer.cpp
@@ -37,16 +37,17 @@
 
 #include "../libdisplay/GonkDisplay.h"
 #include "../nsScreenManagerGonk.h"
 #include "FakeSurfaceComposer.h"
 #include "gfxPrefs.h"
 #include "MainThreadUtils.h"
 #include "mozilla/Assertions.h"
 #include "mozilla/layers/CompositorBridgeParent.h"
+#include "mozilla/layers/CompositorThread.h"
 #include "nsProxyRelease.h"
 #include "nsThreadUtils.h"
 
 using namespace mozilla;
 
 namespace android {
 
 /* static */
@@ -520,17 +521,17 @@ FakeSurfaceComposer::captureScreenImp(co
             } else {
                 result = BAD_VALUE;
             }
             native_window_api_disconnect(window, NATIVE_WINDOW_API_EGL);
             static_cast<GraphicProducerWrapper*>(producer->asBinder().get())->exit(result);
             NS_ReleaseOnMainThread(screenAlias.forget());
         });
 
-    mozilla::layers::CompositorBridgeParent::CompositorLoop()->PostTask(
+    layers::CompositorThreadHolder::Loop()->PostTask(
         MakeAndAddRef<RunnableCallTask>(runnable));
 }
 
 #if ANDROID_VERSION >= 21
 void
 FakeSurfaceComposer::setPowerMode(const sp<IBinder>& display, int mode)
 {
 }
--- a/widget/gonk/nsScreenManagerGonk.cpp
+++ b/widget/gonk/nsScreenManagerGonk.cpp
@@ -24,16 +24,17 @@
 #include "libdisplay/GonkDisplay.h"
 #include "nsScreenManagerGonk.h"
 #include "nsThreadUtils.h"
 #include "HwcComposer2D.h"
 #include "VsyncSource.h"
 #include "nsWindow.h"
 #include "mozilla/ClearOnShutdown.h"
 #include "mozilla/layers/CompositorBridgeParent.h"
+#include "mozilla/layers/CompositorThread.h"
 #include "mozilla/Services.h"
 #include "mozilla/ProcessPriorityManager.h"
 #include "nsIdleService.h"
 #include "nsIObserverService.h"
 #include "nsAppShell.h"
 #include "nsProxyRelease.h"
 #include "nsTArray.h"
 #include "pixelflinger/format.h"
@@ -156,17 +157,17 @@ ReleaseGLContextSync(mozilla::gl::GLCont
     MOZ_ASSERT(CompositorBridgeParent::IsInCompositorThread());
     aGLContext->Release();
 }
 
 nsScreenGonk::~nsScreenGonk()
 {
     // Release GLContext on compositor thread
     if (mGLContext) {
-        CompositorBridgeParent::CompositorLoop()->PostTask(
+        CompositorThreadHolder::Loop()->PostTask(
             NewRunnableFunction(&ReleaseGLContextSync,
                                 mGLContext.forget().take()));
         mGLContext = nullptr;
     }
 }
 
 bool
 nsScreenGonk::IsPrimaryScreen()
@@ -662,17 +663,17 @@ nsScreenGonk::EnableMirroring()
     initData.mScreenId = mId;
     RefPtr<nsWindow> window = new nsWindow();
     window->Create(nullptr, nullptr, mNaturalBounds, &initData);
     MOZ_ASSERT(static_cast<nsWindow*>(window)->GetScreen() == this);
 
     // Update mMirroringWidget on compositor thread
     nsMainThreadPtrHandle<nsScreenGonk> primary =
       nsMainThreadPtrHandle<nsScreenGonk>(new nsMainThreadPtrHolder<nsScreenGonk>(primaryScreen, false));
-    CompositorBridgeParent::CompositorLoop()->PostTask(
+    CompositorThreadHolder::Loop()->PostTask(
         NewRunnableFunction(&UpdateMirroringWidgetSync,
                             primary,
                             window.forget().take()));
 
     mIsMirroring = true;
     return true;
 }
 
@@ -687,17 +688,17 @@ nsScreenGonk::DisableMirroring()
     NS_ENSURE_TRUE(primaryScreen, false);
 
     bool ret = primaryScreen->ClearMirroringScreen(this);
     NS_ENSURE_TRUE(ret, false);
 
     // Update mMirroringWidget on compositor thread
     nsMainThreadPtrHandle<nsScreenGonk> primary =
       nsMainThreadPtrHandle<nsScreenGonk>(new nsMainThreadPtrHolder<nsScreenGonk>(primaryScreen, false));
-    CompositorBridgeParent::CompositorLoop()->PostTask(
+    CompositorThreadHolder::Loop()->PostTask(
         NewRunnableFunction(&UpdateMirroringWidgetSync,
                             primary,
                             nullptr));
     return true;
 }
 
 bool
 nsScreenGonk::SetMirroringScreen(nsScreenGonk* aScreen)
--- a/widget/gonk/nsWindow.cpp
+++ b/widget/gonk/nsWindow.cpp
@@ -39,16 +39,17 @@
 #include "BasicLayers.h"
 #include "libdisplay/GonkDisplay.h"
 #include "mozilla/TextEvents.h"
 #include "mozilla/gfx/2D.h"
 #include "mozilla/gfx/Logging.h"
 #include "mozilla/layers/APZCTreeManager.h"
 #include "mozilla/layers/APZThreadUtils.h"
 #include "mozilla/layers/CompositorBridgeParent.h"
+#include "mozilla/layers/CompositorThread.h"
 #include "mozilla/layers/CompositorSession.h"
 #include "mozilla/TouchEvents.h"
 #include "HwcComposer2D.h"
 
 #define LOG(args...)  __android_log_print(ANDROID_LOG_INFO, "Gonk" , ## args)
 #define LOGW(args...) __android_log_print(ANDROID_LOG_WARN, "Gonk", ## args)
 #define LOGE(args...) __android_log_print(ANDROID_LOG_ERROR, "Gonk", ## args)
 
@@ -127,17 +128,17 @@ nsWindow::DoDraw(void)
 
         listener->DidPaintWindow();
     }
 }
 
 void
 nsWindow::ConfigureAPZControllerThread()
 {
-    APZThreadUtils::SetControllerThread(CompositorBridgeParent::CompositorLoop());
+    APZThreadUtils::SetControllerThread(CompositorThreadHolder::Loop());
 }
 
 /*static*/ nsEventStatus
 nsWindow::DispatchKeyInput(WidgetKeyboardEvent& aEvent)
 {
     if (!gFocusedWindow) {
         return nsEventStatus_eIgnore;
     }