Bug 1350050: Remove unneeded nsTextFrame casts in ContentEventHandler. r?smaug
MozReview-Commit-ID: FcSYAuQSHUt
--- a/dom/events/ContentEventHandler.cpp
+++ b/dom/events/ContentEventHandler.cpp
@@ -771,36 +771,41 @@ ContentEventHandler::AppendFontRanges(Fo
nsIFrame* frame = aContent->GetPrimaryFrame();
if (!frame) {
// It is a non-rendered content, create an empty range for it.
AppendFontRange(aFontRanges, aBaseOffset);
return;
}
int32_t baseOffset = aBaseOffset;
- nsTextFrame* curr = do_QueryFrame(frame);
- MOZ_ASSERT(curr, "Not a text frame");
+#ifdef DEBUG
+ {
+ nsTextFrame* text = do_QueryFrame(frame);
+ MOZ_ASSERT(text, "Not a text frame");
+ }
+#endif
+ auto* curr = static_cast<nsTextFrame*>(frame);
while (curr) {
int32_t frameXPStart = std::max(curr->GetContentOffset(), aXPStartOffset);
int32_t frameXPEnd = std::min(curr->GetContentEnd(), aXPEndOffset);
if (frameXPStart >= frameXPEnd) {
- curr = static_cast<nsTextFrame*>(curr->GetNextContinuation());
+ curr = curr->GetNextContinuation();
continue;
}
gfxSkipCharsIterator iter = curr->EnsureTextRun(nsTextFrame::eInflated);
gfxTextRun* textRun = curr->GetTextRun(nsTextFrame::eInflated);
nsTextFrame* next = nullptr;
if (frameXPEnd < aXPEndOffset) {
- next = static_cast<nsTextFrame*>(curr->GetNextContinuation());
+ next = curr->GetNextContinuation();
while (next && next->GetTextRun(nsTextFrame::eInflated) == textRun) {
frameXPEnd = std::min(next->GetContentEnd(), aXPEndOffset);
next = frameXPEnd < aXPEndOffset ?
- static_cast<nsTextFrame*>(next->GetNextContinuation()) : nullptr;
+ next->GetNextContinuation() : nullptr;
}
}
gfxTextRun::Range skipRange(iter.ConvertOriginalToSkipped(frameXPStart),
iter.ConvertOriginalToSkipped(frameXPEnd));
gfxTextRun::GlyphRunIterator runIter(textRun, skipRange);
int32_t lastXPEndOffset = frameXPStart;
while (runIter.NextRun()) {