зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 46866237f27b (bug 1256517) for bustage. r=bustage on a CLOSED TREE
This commit is contained in:
Родитель
da9ecd031f
Коммит
ce91a84beb
|
@ -212,7 +212,7 @@ CompositorBridgeChild::RecvInvalidateLayers(const uint64_t& aLayersId)
|
|||
|
||||
bool
|
||||
CompositorBridgeChild::RecvCompositorUpdated(const uint64_t& aLayersId,
|
||||
const TextureFactoryIdentifier& aNewIdentifier)
|
||||
const TextureFactoryIdentifier& aNewIdentifier)
|
||||
{
|
||||
if (mLayerManager) {
|
||||
// This case is handled directly by nsBaseWidget.
|
||||
|
@ -221,7 +221,6 @@ CompositorBridgeChild::RecvCompositorUpdated(const uint64_t& aLayersId,
|
|||
if (dom::TabChild* child = dom::TabChild::GetFrom(aLayersId)) {
|
||||
child->CompositorUpdated(aNewIdentifier);
|
||||
}
|
||||
SendAcknowledgeCompositorUpdate(aLayersId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -109,7 +109,6 @@ CompositorBridgeParent::LayerTreeState::LayerTreeState()
|
|||
, mCrossProcessParent(nullptr)
|
||||
, mLayerTree(nullptr)
|
||||
, mUpdatedPluginDataAvailable(false)
|
||||
, mPendingCompositorUpdates(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -2055,7 +2054,6 @@ public:
|
|||
|
||||
virtual AsyncCompositionManager* GetCompositionManager(LayerTransactionParent* aParent) override;
|
||||
virtual bool RecvRemotePluginsReady() override { return false; }
|
||||
virtual bool RecvAcknowledgeCompositorUpdate(const uint64_t& aLayersId) override;
|
||||
|
||||
void DidComposite(uint64_t aId,
|
||||
TimeStamp& aCompositeStart,
|
||||
|
@ -2183,11 +2181,6 @@ CompositorBridgeParent::ResetCompositorTask(const nsTArray<LayersBackend>& aBack
|
|||
ForEachIndirectLayerTree([&] (LayerTreeState* lts, uint64_t layersId) -> void {
|
||||
if (CrossProcessCompositorBridgeParent* cpcp = lts->mCrossProcessParent) {
|
||||
Unused << cpcp->SendCompositorUpdated(layersId, newIdentifier.value());
|
||||
|
||||
if (LayerTransactionParent* ltp = lts->mLayerTree) {
|
||||
ltp->AddPendingCompositorUpdate();
|
||||
}
|
||||
lts->mPendingCompositorUpdates++;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -2323,7 +2316,6 @@ CrossProcessCompositorBridgeParent::AllocPLayerTransactionParent(
|
|||
LayerTransactionParent* p = new LayerTransactionParent(lm, this, aId);
|
||||
p->AddIPDLReference();
|
||||
sIndirectLayerTrees[aId].mLayerTree = p;
|
||||
p->SetPendingCompositorUpdates(state->mPendingCompositorUpdates);
|
||||
return p;
|
||||
}
|
||||
|
||||
|
@ -2728,20 +2720,6 @@ CrossProcessCompositorBridgeParent::GetCompositionManager(LayerTransactionParent
|
|||
return state->mParent->GetCompositionManager(aLayerTree);
|
||||
}
|
||||
|
||||
bool
|
||||
CrossProcessCompositorBridgeParent::RecvAcknowledgeCompositorUpdate(const uint64_t& aLayersId)
|
||||
{
|
||||
MonitorAutoLock lock(*sIndirectLayerTreesLock);
|
||||
CompositorBridgeParent::LayerTreeState& state = sIndirectLayerTrees[aLayersId];
|
||||
|
||||
if (LayerTransactionParent* ltp = state.mLayerTree) {
|
||||
ltp->AcknowledgeCompositorUpdate();
|
||||
}
|
||||
MOZ_ASSERT(state.mPendingCompositorUpdates > 0);
|
||||
state.mPendingCompositorUpdates--;
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
CrossProcessCompositorBridgeParent::DeferredDestroy()
|
||||
{
|
||||
|
|
|
@ -241,11 +241,6 @@ public:
|
|||
virtual bool RecvFlushRendering() override;
|
||||
virtual bool RecvForcePresent() override;
|
||||
|
||||
virtual bool RecvAcknowledgeCompositorUpdate(const uint64_t& aLayersId) override {
|
||||
MOZ_ASSERT_UNREACHABLE("This message is only sent cross-process");
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual bool RecvGetTileSize(int32_t* aWidth, int32_t* aHeight) override;
|
||||
|
||||
virtual bool RecvNotifyRegionInvalidated(const nsIntRegion& aRegion) override;
|
||||
|
@ -436,10 +431,6 @@ public:
|
|||
RefPtr<CompositorUpdateObserver> mLayerTreeReadyObserver;
|
||||
RefPtr<CompositorUpdateObserver> mLayerTreeClearedObserver;
|
||||
|
||||
// Number of times the compositor has been reset without having been
|
||||
// acknowledged by the child.
|
||||
uint32_t mPendingCompositorUpdates;
|
||||
|
||||
PCompositorBridgeParent* CrossProcessPCompositorBridge() const;
|
||||
};
|
||||
|
||||
|
|
|
@ -149,7 +149,6 @@ LayerTransactionParent::LayerTransactionParent(LayerManagerComposite* aManager,
|
|||
, mShadowLayersManager(aLayersManager)
|
||||
, mId(aId)
|
||||
, mPendingTransaction(0)
|
||||
, mPendingCompositorUpdates(0)
|
||||
, mDestroyed(false)
|
||||
, mIPCOpen(false)
|
||||
{
|
||||
|
|
|
@ -91,19 +91,6 @@ public:
|
|||
|
||||
virtual void ReplyRemoveTexture(const OpReplyRemoveTexture& aReply) override;
|
||||
|
||||
void AddPendingCompositorUpdate() {
|
||||
mPendingCompositorUpdates++;
|
||||
}
|
||||
void SetPendingCompositorUpdates(uint32_t aCount) {
|
||||
// Only called after construction.
|
||||
MOZ_ASSERT(mPendingCompositorUpdates == 0);
|
||||
mPendingCompositorUpdates = aCount;
|
||||
}
|
||||
void AcknowledgeCompositorUpdate() {
|
||||
MOZ_ASSERT(mPendingCompositorUpdates > 0);
|
||||
mPendingCompositorUpdates--;
|
||||
}
|
||||
|
||||
protected:
|
||||
virtual bool RecvSyncWithCompositor() override { return true; }
|
||||
|
||||
|
@ -203,11 +190,6 @@ private:
|
|||
uint64_t mId;
|
||||
|
||||
uint64_t mPendingTransaction;
|
||||
|
||||
// Number of compositor updates we're waiting for the child to
|
||||
// acknowledge.
|
||||
uint32_t mPendingCompositorUpdates;
|
||||
|
||||
// When the widget/frame/browser stuff in this process begins its
|
||||
// destruction process, we need to Disconnect() all the currently
|
||||
// live shadow layers, because some of them might be orphaned from
|
||||
|
|
|
@ -100,10 +100,6 @@ parent:
|
|||
*/
|
||||
async RemotePluginsReady();
|
||||
|
||||
// Confirmation that the child has invalidated all its layers, and will not
|
||||
// request layers against an old compositor.
|
||||
async AcknowledgeCompositorUpdate(uint64_t id);
|
||||
|
||||
// Child sends the parent a request for fill ratio numbers.
|
||||
async RequestOverfill();
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче