Bug 1376855 - Removed unused variables and interfaces. r=kats

MozReview-Commit-ID: 5rPI7jNI94K

--HG--
extra : rebase_source : 20ffeb6e064de9ccf19729aa6045ffa595c51429
This commit is contained in:
Morris Tseng 2017-06-28 13:42:24 -07:00
parent c5b2766eac
commit 03f68881d2
4 changed files with 3 additions and 149 deletions

View file

@ -12,7 +12,6 @@
#include "mozilla/layers/StackingContextHelper.h"
#include "mozilla/layers/WebRenderBridgeChild.h"
#include "nsDisplayList.h"
#include "mozilla/gfx/DrawEventRecorder.h"
#include "mozilla/gfx/Matrix.h"
#include "UnitTransforms.h"
@ -22,12 +21,6 @@ namespace layers {
WebRenderDisplayItemLayer::~WebRenderDisplayItemLayer()
{
MOZ_COUNT_DTOR(WebRenderDisplayItemLayer);
if (mKey.isSome()) {
WrManager()->AddImageKeyForDiscard(mKey.value());
}
if (mExternalImageId.isSome()) {
WrBridge()->DeallocExternalImageId(mExternalImageId.ref());
}
}
void
@ -46,14 +39,8 @@ WebRenderDisplayItemLayer::RenderLayer(wr::DisplayListBuilder& aBuilder,
// We might have recycled this layer. Throw away the old commands.
mParentCommands.Clear();
// TODO: Remove the old interface once we add support for image type display items.
if (mItem->GetType() == nsDisplayItem::TYPE_BACKGROUND ||
mItem->GetType() == nsDisplayItem::TYPE_BULLET) {
mItem->CreateWebRenderCommand(builder, aSc, mParentCommands, this);
} else {
mItem->CreateWebRenderCommands(builder, aSc, mParentCommands, WrManager(),
GetDisplayListBuilder());
}
mItem->CreateWebRenderCommands(builder, aSc, mParentCommands, WrManager(),
GetDisplayListBuilder());
builder.Finalize(contentSize, mBuiltDisplayList);
} else {
// else we have an empty transaction and just use the
@ -73,90 +60,5 @@ WebRenderDisplayItemLayer::RenderLayer(wr::DisplayListBuilder& aBuilder,
WrBridge()->AddWebRenderParentCommands(mParentCommands);
}
Maybe<wr::ImageKey>
WebRenderDisplayItemLayer::SendImageContainer(ImageContainer* aContainer,
nsTArray<layers::WebRenderParentCommand>& aParentCommands)
{
MOZ_ASSERT(aContainer);
if (mImageContainer != aContainer) {
AutoLockImage autoLock(aContainer);
Image* image = autoLock.GetImage();
if (!image) {
return Nothing();
}
if (!mImageClient) {
mImageClient = ImageClient::CreateImageClient(CompositableType::IMAGE,
WrBridge(),
TextureFlags::DEFAULT);
if (!mImageClient) {
return Nothing();
}
mImageClient->Connect();
}
if (mExternalImageId.isNothing()) {
MOZ_ASSERT(mImageClient);
mExternalImageId = Some(WrBridge()->AllocExternalImageIdForCompositable(mImageClient));
}
MOZ_ASSERT(mExternalImageId.isSome());
MOZ_ASSERT(mImageClient->AsImageClientSingle());
mKey = UpdateImageKey(mImageClient->AsImageClientSingle(),
aContainer,
mKey,
mExternalImageId.ref());
mImageContainer = aContainer;
}
return mKey;
}
bool
WebRenderDisplayItemLayer::PushItemAsBlobImage(wr::DisplayListBuilder& aBuilder,
const StackingContextHelper& aSc)
{
const int32_t appUnitsPerDevPixel = mItem->Frame()->PresContext()->AppUnitsPerDevPixel();
bool snap;
LayerRect bounds = ViewAs<LayerPixel>(
LayoutDeviceRect::FromAppUnits(mItem->GetBounds(mBuilder, &snap), appUnitsPerDevPixel),
PixelCastJustification::WebRenderHasUnitResolution);
LayerIntSize imageSize = RoundedToInt(bounds.Size());
LayerRect imageRect;
imageRect.SizeTo(LayerSize(imageSize));
RefPtr<gfx::DrawEventRecorderMemory> recorder = MakeAndAddRef<gfx::DrawEventRecorderMemory>();
RefPtr<gfx::DrawTarget> dummyDt =
gfx::Factory::CreateDrawTarget(gfx::BackendType::SKIA, gfx::IntSize(1, 1), gfx::SurfaceFormat::B8G8R8X8);
RefPtr<gfx::DrawTarget> dt = gfx::Factory::CreateRecordingDrawTarget(recorder, dummyDt, imageSize.ToUnknownSize());
LayerPoint offset = ViewAs<LayerPixel>(
LayoutDevicePoint::FromAppUnits(mItem->ToReferenceFrame(), appUnitsPerDevPixel),
PixelCastJustification::WebRenderHasUnitResolution);
{
dt->ClearRect(imageRect.ToUnknownRect());
RefPtr<gfxContext> context = gfxContext::CreateOrNull(dt, offset.ToUnknownPoint());
MOZ_ASSERT(context);
mItem->Paint(mBuilder, context);
}
wr::ByteBuffer bytes(recorder->mOutputStream.mLength, (uint8_t*)recorder->mOutputStream.mData);
WrRect dest = aSc.ToRelativeWrRect(imageRect + offset);
WrImageKey key = GetImageKey();
WrBridge()->SendAddBlobImage(key, imageSize.ToUnknownSize(), imageSize.width * 4, dt->GetFormat(), bytes);
WrManager()->AddImageKeyForDiscard(key);
aBuilder.PushImage(dest,
dest,
wr::ImageRendering::Auto,
key);
return true;
}
} // namespace layers
} // namespace mozilla

View file

@ -26,11 +26,6 @@ public:
MOZ_COUNT_CTOR(WebRenderDisplayItemLayer);
}
Maybe<wr::ImageKey> SendImageContainer(ImageContainer* aContainer,
nsTArray<layers::WebRenderParentCommand>& aParentCommands);
bool PushItemAsBlobImage(wr::DisplayListBuilder& aBuilder,
const StackingContextHelper& aSc);
protected:
virtual ~WebRenderDisplayItemLayer();
@ -42,10 +37,6 @@ public:
private:
wr::BuiltDisplayList mBuiltDisplayList;
nsTArray<WebRenderParentCommand> mParentCommands;
RefPtr<ImageClient> mImageClient;
RefPtr<ImageContainer> mImageContainer;
wr::MaybeExternalImageId mExternalImageId;
Maybe<wr::ImageKey> mKey;
};
} // namespace layers

View file

@ -3561,31 +3561,6 @@ nsDisplayBackgroundImage::CreateWebRenderCommands(mozilla::wr::DisplayListBuilde
return true;
}
void
nsDisplayBackgroundImage::CreateWebRenderCommand(wr::DisplayListBuilder& aBuilder,
const StackingContextHelper& aSc,
nsTArray<WebRenderParentCommand>& aParentCommands,
WebRenderDisplayItemLayer* aLayer)
{
nsCSSRendering::PaintBGParams params =
nsCSSRendering::PaintBGParams::ForSingleLayer(*StyleFrame()->PresContext(),
mVisibleRect, mBackgroundRect,
StyleFrame(), mImageFlags, mLayer,
CompositionOp::OP_OVER);
params.bgClipRect = &mBounds;
DrawResult result =
nsCSSRendering::BuildWebRenderDisplayItemsForStyleImageLayer(params,
aBuilder,
aSc,
aParentCommands,
aLayer,
aLayer->WrManager(),
this);
nsDisplayBackgroundGeometry::UpdateDrawResult(this, result);
}
void
nsDisplayBackgroundImage::HitTest(nsDisplayListBuilder* aBuilder,
const nsRect& aRect,

View file

@ -1951,17 +1951,7 @@ public:
{ return nullptr; }
/**
* Create the WebRenderCommands required to paint this display item.
* The layer this item is in is passed in as rects must be relative
* to their parent.
*/
virtual void CreateWebRenderCommand(mozilla::wr::DisplayListBuilder& aBuilder,
const StackingContextHelper& aSc,
nsTArray<WebRenderParentCommand>& aParentCommands,
WebRenderDisplayItemLayer* aLayer) {}
/**
* Alternate function to create the WebRenderCommands without
* Function to create the WebRenderCommands without
* Layer. For layers mode, aManager->IsLayersFreeTransaction()
* should be false to prevent doing GetLayerState again. For
* layers-free mode, we should check if the layer state is
@ -3129,10 +3119,6 @@ public:
LayerManager* aManager,
const ContainerLayerParameters& aContainerParameters) override;
virtual void CreateWebRenderCommand(mozilla::wr::DisplayListBuilder& aBuilder,
const StackingContextHelper& aSc,
nsTArray<WebRenderParentCommand>& aParentCommands,
WebRenderDisplayItemLayer* aLayer) override;
virtual bool CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBuilder,
const StackingContextHelper& aSc,
nsTArray<WebRenderParentCommand>& aParentCommands,