forked from mirrors/gecko-dev
This remotes the APZInputBridge interface over the PAPZInputBridge
protocol in the case of the GPU process, and makes the GPU process'
main thread act as the APZ controller thread in that process. If
there is no GPU process we continue as before and the APZInputBridge
interface implementation is the concrete APZCTreeManager instance
in the UI process.
The main changes in this patch are moving all the code associated with
these messages out of APZCTreeManager{Parent,Child} and into
APZInputBridge{Parent,Child}. APZCTreeManagerChild now returns an
APZInputBridgeChild instance via InputBridge(), instead of returning
itself. The SetControllerThread call in the GPU process is also updated.
MozReview-Commit-ID: M4AaIW1Q0h
--HG--
extra : rebase_source : e5a8f14e23be34229fe80a47f6789d19b19e0a9f
50 lines
1.4 KiB
C++
50 lines
1.4 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_APZInputBridgeChild_h
|
|
#define mozilla_layers_APZInputBridgeChild_h
|
|
|
|
#include "mozilla/layers/APZInputBridge.h"
|
|
#include "mozilla/layers/PAPZInputBridgeChild.h"
|
|
|
|
namespace mozilla {
|
|
namespace layers {
|
|
|
|
class APZInputBridgeChild : public PAPZInputBridgeChild
|
|
, public APZInputBridge
|
|
{
|
|
NS_INLINE_DECL_REFCOUNTING(APZInputBridgeChild)
|
|
|
|
public:
|
|
APZInputBridgeChild();
|
|
void Destroy();
|
|
|
|
nsEventStatus ReceiveInputEvent(
|
|
InputData& aEvent,
|
|
ScrollableLayerGuid* aOutTargetGuid,
|
|
uint64_t* aOutInputBlockId) override;
|
|
|
|
protected:
|
|
void ProcessUnhandledEvent(
|
|
LayoutDeviceIntPoint* aRefPoint,
|
|
ScrollableLayerGuid* aOutTargetGuid,
|
|
uint64_t* aOutFocusSequenceNumber) override;
|
|
|
|
void UpdateWheelTransaction(
|
|
LayoutDeviceIntPoint aRefPoint,
|
|
EventMessage aEventMessage) override;
|
|
|
|
void ActorDestroy(ActorDestroyReason aWhy) override;
|
|
virtual ~APZInputBridgeChild();
|
|
|
|
private:
|
|
bool mDestroyed;
|
|
};
|
|
|
|
} // namespace layers
|
|
} // namespace mozilla
|
|
|
|
#endif // mozilla_layers_APZInputBridgeChild_h
|