mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 10:45:42 +00:00
d6673c9aad
The APZUpdater class holds the methods that are to be run on the updater thread. Note that there are a few differences between the APZSampler and APZUpdater classes - most notably, APZSampler no longer has a "RunOnSamplerThread" function because there should never be any need to dispatch runnables to the sampler thread. There is still a RunOnUpdaterThread in APZUpdater, as well as a mechanism for dispatching runnables to the controller thread via the updater thread. MozReview-Commit-ID: LLVWzRyhYWl --HG-- extra : rebase_source : d3d2ae18b40f24473cab5567a48b67b8f478a733
98 lines
2.8 KiB
C++
98 lines
2.8 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* 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/. */
|
|
|
|
#ifndef mozilla_layers_APZCTreeManagerParent_h
|
|
#define mozilla_layers_APZCTreeManagerParent_h
|
|
|
|
#include "mozilla/layers/PAPZCTreeManagerParent.h"
|
|
|
|
namespace mozilla {
|
|
namespace layers {
|
|
|
|
class APZCTreeManager;
|
|
class APZUpdater;
|
|
|
|
class APZCTreeManagerParent
|
|
: public PAPZCTreeManagerParent
|
|
{
|
|
public:
|
|
|
|
APZCTreeManagerParent(LayersId aLayersId,
|
|
RefPtr<APZCTreeManager> aAPZCTreeManager,
|
|
RefPtr<APZUpdater> mAPZUpdater);
|
|
virtual ~APZCTreeManagerParent();
|
|
|
|
LayersId GetLayersId() const { return mLayersId; }
|
|
|
|
/**
|
|
* Called when the layer tree that this protocol is connected to
|
|
* is adopted by another compositor, and we need to switch APZCTreeManagers.
|
|
*/
|
|
void ChildAdopted(RefPtr<APZCTreeManager> aAPZCTreeManager,
|
|
RefPtr<APZUpdater> aAPZUpdater);
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvSetKeyboardMap(const KeyboardMap& aKeyboardMap) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvZoomToRect(
|
|
const ScrollableLayerGuid& aGuid,
|
|
const CSSRect& aRect,
|
|
const uint32_t& aFlags) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvContentReceivedInputBlock(
|
|
const uint64_t& aInputBlockId,
|
|
const bool& aPreventDefault) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvSetTargetAPZC(
|
|
const uint64_t& aInputBlockId,
|
|
nsTArray<ScrollableLayerGuid>&& aTargets) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvUpdateZoomConstraints(
|
|
const ScrollableLayerGuid& aGuid,
|
|
const MaybeZoomConstraints& aConstraints) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvSetDPI(const float& aDpiValue) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvSetAllowedTouchBehavior(
|
|
const uint64_t& aInputBlockId,
|
|
nsTArray<TouchBehaviorFlags>&& aValues) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvStartScrollbarDrag(
|
|
const ScrollableLayerGuid& aGuid,
|
|
const AsyncDragMetrics& aDragMetrics) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvStartAutoscroll(
|
|
const ScrollableLayerGuid& aGuid,
|
|
const ScreenPoint& aAnchorLocation) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvStopAutoscroll(const ScrollableLayerGuid& aGuid) override;
|
|
|
|
mozilla::ipc::IPCResult
|
|
RecvSetLongTapEnabled(const bool& aTapGestureEnabled) override;
|
|
|
|
void
|
|
ActorDestroy(ActorDestroyReason aWhy) override { }
|
|
|
|
private:
|
|
LayersId mLayersId;
|
|
RefPtr<APZCTreeManager> mTreeManager;
|
|
RefPtr<APZUpdater> mUpdater;
|
|
};
|
|
|
|
} // namespace layers
|
|
} // namespace mozilla
|
|
|
|
#endif // mozilla_layers_APZCTreeManagerParent_h
|