void GraphicsLayerChromium::setContentsToImage(Image* image) { bool childrenChanged = false; if (image) { if (!m_contentsLayer.get() || m_contentsLayerPurpose != ContentsLayerForImage) { RefPtr<ImageLayerChromium> imageLayer = ImageLayerChromium::create(); setupContentsLayer(imageLayer.get()); m_contentsLayerPurpose = ContentsLayerForImage; childrenChanged = true; } ImageLayerChromium* imageLayer = static_cast<ImageLayerChromium*>(m_contentsLayer.get()); imageLayer->setContents(image); imageLayer->setOpaque(image->isBitmapImage() && !image->currentFrameHasAlpha()); updateContentsRect(); } else { if (m_contentsLayer) { childrenChanged = true; // The old contents layer will be removed via updateChildList. m_contentsLayer = 0; } } if (childrenChanged) updateChildList(); }
void GraphicsLayerChromium::setContentsToImage(Image* image) { bool childrenChanged = false; if (image) { if (!m_contentsLayer.get() || m_contentsLayerPurpose != ContentsLayerForImage) { RefPtr<ImageLayerChromium> imageLayer = ImageLayerChromium::create(this); setupContentsLayer(imageLayer.get()); m_contentsLayer = imageLayer; m_contentsLayerPurpose = ContentsLayerForImage; childrenChanged = true; } ImageLayerChromium* imageLayer = static_cast<ImageLayerChromium*>(m_contentsLayer.get()); imageLayer->setContents(image); updateContentsRect(); } else { if (m_contentsLayer) { childrenChanged = true; // The old contents layer will be removed via updateSublayerList. m_contentsLayer = 0; } } if (childrenChanged) updateSublayerList(); }