--- a/layout/generic/nsBulletFrame.cpp
+++ b/layout/generic/nsBulletFrame.cpp
@@ -219,22 +219,16 @@ public:
, mText(text)
, mFontMetrics(fm)
, mPoint(point)
, mListStyleType(listStyleType)
{
MOZ_ASSERT(IsTextType());
}
- already_AddRefed<layers::Layer>
- BuildLayer(nsDisplayListBuilder* aBuilder,
- layers::LayerManager* aManager,
- const ContainerLayerParameters& aContainerParameters,
- nsDisplayItem* aItem);
-
void
CreateWebRenderCommands(nsDisplayItem* aItem,
nsTArray<layers::WebRenderCommand>& aCommands,
layers::WebRenderDisplayItemLayer* aLayer);
DrawResult
Paint(nsRenderingContext& aRenderingContext, nsPoint aPt,
const nsRect& aDirtyRect, uint32_t aFlags,
@@ -271,34 +265,16 @@ public:
bool
BuildGlyphForText(nsDisplayItem* aItem, bool disableSubpixelAA);
bool
IsImageContainerAvailable(layers::LayerManager* aManager, uint32_t aFlags);
private:
- already_AddRefed<layers::Layer>
- BuildLayerForImage(layers::Layer* aOldLayer,
- nsDisplayListBuilder* aBuilder,
- layers::LayerManager* aManager,
- nsDisplayItem* aItem);
-
- already_AddRefed<layers::Layer>
- BuildLayerForPath(layers::Layer* aOldLayer,
- nsDisplayListBuilder* aBuilder,
- layers::LayerManager* aManager,
- nsDisplayItem* aItem);
-
- already_AddRefed<layers::Layer>
- BuildLayerForText(layers::Layer* aOldLayer,
- nsDisplayListBuilder* aBuilder,
- layers::LayerManager* aManager,
- nsDisplayItem* aItem);
-
void
CreateWebRenderCommandsForImage(nsDisplayItem* aItem,
nsTArray<layers::WebRenderCommand>& aCommands,
layers::WebRenderDisplayItemLayer* aLayer);
void
CreateWebRenderCommandsForPath(nsDisplayItem* aItem,
nsTArray<layers::WebRenderCommand>& aCommands,
@@ -330,44 +306,16 @@ private:
RefPtr<ScaledFont> mFont;
nsTArray<layers::GlyphArray> mGlyphs;
WebRenderGlyphHelper mGlyphHelper;
// Store the type of list-style-type.
int32_t mListStyleType;
};
-already_AddRefed<layers::Layer>
-BulletRenderer::BuildLayer(nsDisplayListBuilder* aBuilder,
- layers::LayerManager* aManager,
- const ContainerLayerParameters& aContainerParameters,
- nsDisplayItem* aItem)
-{
- RefPtr<layers::Layer> oldLayer =
- (aManager->GetLayerBuilder()->GetLeafLayerFor(aBuilder, aItem));
- RefPtr<layers::Layer> layer;
- nsPoint offset(aContainerParameters.mOffset.x, aContainerParameters.mOffset.y);
-
- if (IsImageType()) {
- layer = BuildLayerForImage(oldLayer, aBuilder, aManager, aItem);
- offset = offset + mDest.TopLeft();
- } else if (IsPathType()) {
- layer = BuildLayerForPath(oldLayer, aBuilder, aManager, aItem);
- } else {
- MOZ_ASSERT(IsTextType());
- layer = BuildLayerForText(oldLayer, aBuilder, aManager, aItem);
- }
-
- if (layer) {
- layer->SetBaseTransform(gfx::Matrix4x4::Translation(offset.x, offset.y, 0));
- }
-
- return layer.forget();
-}
-
void
BulletRenderer::CreateWebRenderCommands(nsDisplayItem* aItem,
nsTArray<layers::WebRenderCommand>& aCommands,
layers::WebRenderDisplayItemLayer* aLayer)
{
if (IsImageType()) {
CreateWebRenderCommandsForImage(aItem, aCommands, aLayer);
} else if (IsPathType()) {
@@ -475,102 +423,16 @@ BulletRenderer::BuildGlyphForText(nsDisp
bool
BulletRenderer::IsImageContainerAvailable(layers::LayerManager* aManager, uint32_t aFlags)
{
MOZ_ASSERT(IsImageType());
return mImage->IsImageContainerAvailable(aManager, aFlags);
}
-already_AddRefed<layers::Layer>
-BulletRenderer::BuildLayerForImage(layers::Layer* aOldLayer,
- nsDisplayListBuilder* aBuilder,
- layers::LayerManager* aManager,
- nsDisplayItem* aItem)
-{
- MOZ_ASSERT(IsImageType());
-
- uint32_t flags = imgIContainer::FLAG_NONE;
- if (aBuilder->ShouldSyncDecodeImages()) {
- flags |= imgIContainer::FLAG_SYNC_DECODE;
- }
-
- RefPtr<layers::ImageContainer> container =
- mImage->GetImageContainer(aManager, flags);
- if (!container) {
- return nullptr;
- }
-
- RefPtr<layers::ImageLayer> layer;
- if (aOldLayer && aOldLayer->GetType() == layers::Layer::TYPE_IMAGE) {
- layer = static_cast<layers::ImageLayer*>(aOldLayer);
- } else {
- layer = aManager->CreateImageLayer();
- if (!layer) {
- return nullptr;
- }
- }
-
- layer->SetContainer(container);
- int32_t imageWidth;
- int32_t imageHeight;
- mImage->GetWidth(&imageWidth);
- mImage->GetHeight(&imageHeight);
- if (imageWidth > 0 && imageHeight > 0) {
- // We're actually using the ImageContainer. Let our frame know that it
- // should consider itself to have painted successfully.
- nsDisplayBulletGeometry::UpdateDrawResult(aItem,
- image::DrawResult::SUCCESS);
- }
-
- return layer.forget();
-}
-
-already_AddRefed<layers::Layer>
-BulletRenderer::BuildLayerForPath(layers::Layer* aOldLayer,
- nsDisplayListBuilder* aBuilder,
- layers::LayerManager* aManager,
- nsDisplayItem* aItem)
-{
- MOZ_ASSERT(IsPathType());
-
- // Not supported yet.
- return nullptr;
-}
-
-already_AddRefed<layers::Layer>
-BulletRenderer::BuildLayerForText(layers::Layer* aOldLayer,
- nsDisplayListBuilder* aBuilder,
- layers::LayerManager* aManager,
- nsDisplayItem* aItem)
-{
- MOZ_ASSERT(IsTextType());
- MOZ_ASSERT(mFont);
- MOZ_ASSERT(!mGlyphs.IsEmpty());
-
- RefPtr<layers::TextLayer> layer;
- if (aOldLayer && aOldLayer->GetType() == layers::Layer::TYPE_TEXT) {
- layer = static_cast<layers::TextLayer*>(aOldLayer);
- } else {
- layer = aManager->CreateTextLayer();
- if (!layer) {
- return nullptr;
- }
- }
-
- layer->SetGlyphs(Move(mGlyphs));
- layer->SetScaledFont(mFont);
- auto A2D = aItem->Frame()->PresContext()->AppUnitsPerDevPixel();
- bool dummy;
- const LayoutDeviceIntRect destBounds =
- LayoutDeviceIntRect::FromAppUnitsToOutside(aItem->GetBounds(aBuilder, &dummy), A2D);
- layer->SetBounds(IntRect(destBounds.x, destBounds.y, destBounds.width, destBounds.height));
- return layer.forget();
-}
-
void
BulletRenderer::CreateWebRenderCommandsForImage(nsDisplayItem* aItem,
nsTArray<layers::WebRenderCommand>& aCommands,
layers::WebRenderDisplayItemLayer* aLayer)
{
MOZ_ASSERT(IsImageType());
if (!mImage) {
@@ -770,17 +632,16 @@ already_AddRefed<layers::Layer>
nsDisplayBullet::BuildLayer(nsDisplayListBuilder* aBuilder,
LayerManager* aManager,
const ContainerLayerParameters& aContainerParameters)
{
if (!mBulletRenderer) {
return nullptr;
}
- /* return mBulletRenderer->BuildLayer(aBuilder, aManager, aContainerParameters, this); */
return BuildDisplayItemLayer(aBuilder, aManager, aContainerParameters);
}
void
nsDisplayBullet::CreateWebRenderCommands(nsTArray<layers::WebRenderCommand>& aCommands,
layers::WebRenderDisplayItemLayer* aLayer)
{
if (!mBulletRenderer)