mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-13 15:34:01 +00:00
Bug 1409446 - Work around the dual-ancestor case that WR doesn't handle yet. r=mstange
Bug 1409442 is tracking a change that will allow scroll layers to have multiple ancestors. Without that, there are cases we cannot properly handle, and so we need to ignore a clip in those scenarios. This patch makes sure we do that instead of crashing. MozReview-Commit-ID: 7AU4uyzT6if --HG-- extra : rebase_source : d483c2a7ecff5cd488a53fa5e6b6da55cc3a1e29
This commit is contained in:
parent
9b3a9d0d62
commit
4fcc51960c
@ -241,8 +241,19 @@ ScrollingLayersHelper::RecurseAndDefineAsr(nsDisplayItem* aItem,
|
||||
}
|
||||
}
|
||||
}
|
||||
MOZ_ASSERT(it != aCache.end());
|
||||
ids.second = Some(it->second);
|
||||
// If |it == aCache.end()| here then we have run into a case where the
|
||||
// scroll layer was previously defined a specific parent clip, and
|
||||
// now here it has a different parent clip. Gecko can create display
|
||||
// lists like this because it treats the ASR chain and clipping chain
|
||||
// more independently, but we can't yet represent this in WR. This is
|
||||
// tracked by bug 1409442. For now we'll just leave ids.second as
|
||||
// Nothing() which will effectively ignore the clip |aChain|. Once WR
|
||||
// supports multiple ancestors on a scroll layer we can deal with this
|
||||
// better. The layout/reftests/text/wordwrap-08.html has a Text display
|
||||
// item that exercises this case.
|
||||
if (it != aCache.end()) {
|
||||
ids.second = Some(it->second);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ids;
|
||||
|
Loading…
x
Reference in New Issue
Block a user