diff --git a/layout/base/nsCaret.cpp b/layout/base/nsCaret.cpp index 44655240322d..a29d432734a8 100644 --- a/layout/base/nsCaret.cpp +++ b/layout/base/nsCaret.cpp @@ -654,8 +654,15 @@ void nsCaret::ResetBlinking() } else { nsresult err; mBlinkTimer = do_CreateInstance("@mozilla.org/timer;1", &err); - if (NS_FAILED(err)) + if (NS_FAILED(err)) { return; + } + + if (nsCOMPtr presShell = do_QueryReferent(mPresShell)) { + if (nsCOMPtr doc = presShell->GetDocument()) { + mBlinkTimer->SetTarget(doc->EventTargetFor(TaskCategory::Other)); + } + } } if (blinkRate > 0) {