author | Karl Tomlinson <karlt+@karlt.net> |
Thu, 08 Nov 2012 10:15:27 +1300 | |
changeset 112605 | f64ee963d915c465adcde555f04eaf73c2e31434 |
parent 112604 | c0893be94207fd073d202015673b585ddea33b27 |
child 112606 | e3c77661d40331e46f86512016cabba408e3a598 |
push id | 23833 |
push user | emorley@mozilla.com |
push date | Thu, 08 Nov 2012 10:20:57 +0000 |
treeherder | mozilla-central@e0d7b394462b [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | roc |
bugs | 807925 |
milestone | 19.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/layout/generic/nsObjectFrame.cpp +++ b/layout/generic/nsObjectFrame.cpp @@ -1606,31 +1606,31 @@ nsObjectFrame::BuildLayer(nsDisplayListB nsRect area = GetContentRectRelativeToSelf() + aItem->ToReferenceFrame(); gfxRect r = nsLayoutUtils::RectToGfxRect(area, PresContext()->AppUnitsPerDevPixel()); // to provide crisper and faster drawing. r.Round(); nsRefPtr<Layer> layer = (aManager->GetLayerBuilder()->GetLeafLayerFor(aBuilder, aItem)); if (aItem->GetType() == nsDisplayItem::TYPE_PLUGIN) { + // Create image + nsRefPtr<ImageContainer> container = mInstanceOwner->GetImageContainer(); + if (!container) { + // This can occur if our instance is gone. + return nullptr; + } + if (!layer) { mInstanceOwner->NotifyPaintWaiter(aBuilder); // Initialize ImageLayer layer = aManager->CreateImageLayer(); if (!layer) return nullptr; } - // Create image - nsRefPtr<ImageContainer> container = mInstanceOwner->GetImageContainer(); - if (!container) { - // This can occur if our instance is gone. - return nullptr; - } - NS_ASSERTION(layer->GetType() == Layer::TYPE_IMAGE, "Bad layer type"); ImageLayer* imglayer = static_cast<ImageLayer*>(layer.get()); UpdateImageLayer(r); imglayer->SetScaleToSize(size, ImageLayer::SCALE_STRETCH); imglayer->SetContainer(container); gfxPattern::GraphicsFilter filter = nsLayoutUtils::GetGraphicsFilterForFrame(this);