Bug 1335895 - part 5: update PUiCompositorController to contain methods needed to support compositor based dynamic toolbar r=dvander draft
authorRandall Barker <rbarker@mozilla.com>
Wed, 05 Apr 2017 15:50:28 -0700
changeset 565554 11c4c83c0bb46f7aa68d295a60004e6ba6552868
parent 565553 3ff32722a231b6451c8fdaea8e0474d7488707c4
child 565555 a492379b275b15fcea7bc4e881745fd3c076f867
push id54904
push userbmo:rbarker@mozilla.com
push dateThu, 20 Apr 2017 02:39:58 +0000
reviewersdvander
bugs1335895
milestone55.0a1
Bug 1335895 - part 5: update PUiCompositorController to contain methods needed to support compositor based dynamic toolbar r=dvander
gfx/layers/ipc/PUiCompositorController.ipdl
--- a/gfx/layers/ipc/PUiCompositorController.ipdl
+++ b/gfx/layers/ipc/PUiCompositorController.ipdl
@@ -1,29 +1,46 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  * vim: sw=2 ts=8 et :
  */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
+using CSSRect from "Units.h";
+using CSSToScreenScale from "Units.h";
+using ScreenIntSize from "Units.h";
+using ScreenPoint from "Units.h";
+
 namespace mozilla {
 namespace layers {
 
 /**
  * The PUiCompositorController protocol is used to pause and resume the
  * compositor from the UI thread. Primarily used on Android to coordinate registering and
  * releasing the surface with the compositor.
  */
 sync protocol PUiCompositorController
 {
 
 parent:
   // Pause/resume the compositor. These are intended to be used on mobile, when
   // the compositor needs to pause/resume in lockstep with the application.
-  sync Pause(uint64_t layersId);
-  sync Resume(uint64_t layersId);
-  sync ResumeAndResize(uint64_t layersId, int32_t height, int32_t width);
-  async InvalidateAndRender(uint64_t layersId);
+  sync Pause();
+  sync Resume();
+  sync ResumeAndResize(int32_t aWidth, int32_t aHeight);
+
+  async InvalidateAndRender();
+  async MaxToolbarHeight(int32_t aHeight);
+  async Pinned(bool aPinned, int32_t aReason);
+  async ToolbarAnimatorMessageFromUI(int32_t aMessage);
+  async DefaultClearColor(uint32_t aColor);
+  async RequestScreenPixels();
+  async EnableLayerUpdateNotifications(bool aEnable);
+  async ToolbarPixelsToCompositor(Shmem aMem, ScreenIntSize aSize);
+child:
+  async ToolbarAnimatorMessageFromCompositor(int32_t aMessage);
+  async RootFrameMetrics(ScreenPoint aScrollOffset, CSSToScreenScale aZoom, CSSRect aPage);
+  async ScreenPixels(Shmem aMem, ScreenIntSize aSize);
 };
 
 } // layers
 } // mozilla