mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 17:31:47 +09:00
Vim control lines were re-introduced or not entirely cleaned up. This nukes them again. Removing from embedding, extensions, gfx, hal, ipc, layout, mailnews, media and memory. More to come.
69 lines
2.6 KiB
Text
69 lines
2.6 KiB
Text
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
* 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/. */
|
|
|
|
include "mozilla/GfxMessageUtils.h";
|
|
|
|
include protocol PCompositorBridge;
|
|
|
|
using CSSRect from "Units.h";
|
|
using struct mozilla::layers::FrameMetrics from "FrameMetrics.h";
|
|
using struct mozilla::layers::ScrollableLayerGuid from "FrameMetrics.h";
|
|
using mozilla::layers::FrameMetrics::ViewID from "FrameMetrics.h";
|
|
using mozilla::layers::MaybeZoomConstraints from "FrameMetrics.h";
|
|
using mozilla::layers::TouchBehaviorFlags from "mozilla/layers/APZUtils.h";
|
|
using mozilla::layers::GeckoContentController::APZStateChange from "mozilla/layers/GeckoContentController.h";
|
|
using mozilla::dom::TabId from "mozilla/dom/ipc/IdType.h";
|
|
using mozilla::dom::ContentParentId from "mozilla/dom/ipc/IdType.h";
|
|
using mozilla::layers::AsyncDragMetrics from "mozilla/layers/AsyncDragMetrics.h";
|
|
using class nsRegion from "nsRegion.h";
|
|
|
|
namespace mozilla {
|
|
namespace layers {
|
|
|
|
|
|
/**
|
|
* PAPZ is a protocol for remoting a GeckoContentController. PAPZ lives on the
|
|
* PCompositorBridge protocol which either connects to the compositor thread
|
|
* in the main process, or to the compositor thread in the gpu processs.
|
|
*
|
|
* PAPZParent lives in the compositor thread, while PAPZChild lives wherever the remoted
|
|
* GeckoContentController lives (generally the main thread of the main or content process).
|
|
* RemoteContentController implements PAPZParent, while APZChild implements PAPZChild.
|
|
*
|
|
* PAPZ is always used for ContentProcessController and only used for ChromeProcessController
|
|
* when there is a gpu process, otherwhise ChromeProcessController is used directly on the
|
|
* compositor thread. Only the methods that are used by the [Chrome,Content]ProcessController
|
|
* are implemented. If a new method is needed then PAPZ, APZChild, and RemoteContentController
|
|
* must be updated to handle it.
|
|
*/
|
|
sync protocol PAPZ
|
|
{
|
|
manager PCompositorBridge;
|
|
|
|
parent:
|
|
|
|
async __delete__();
|
|
|
|
child:
|
|
|
|
async RequestContentRepaint(FrameMetrics frame);
|
|
|
|
async UpdateOverscrollVelocity(float aX, float aY, bool aIsRootContent);
|
|
|
|
async UpdateOverscrollOffset(float aX, float aY, bool aIsRootContent);
|
|
|
|
async SetScrollingRootContent(bool aIsRootContent);
|
|
|
|
async NotifyMozMouseScrollEvent(ViewID aScrollId, nsString aEvent);
|
|
|
|
async NotifyAPZStateChange(ScrollableLayerGuid aGuid, APZStateChange aChange, int aArg);
|
|
|
|
async NotifyFlushComplete();
|
|
|
|
async Destroy();
|
|
};
|
|
|
|
} // layers
|
|
} // mozilla
|