Bug 1600565 - Fix changes to CCRunnerFired made during previous refactoring r=mccr8

One thing I inadvertantly changed was that didDoWork gets set to true even if we don't call FireForgetSkippable and execute what was the third branch of the if statement:

https://searchfox.org/mozilla-central/rev/883d58bccf1a36465ef5ee14b62db0a9925ab85b/dom/base/nsJSEnvironment.cpp#1878-1883

Differential Revision: https://phabricator.services.mozilla.com/D56021

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jon Coppeard 2019-12-05 18:14:12 +00:00
Родитель a54f1b1dae
Коммит c64814f433
1 изменённых файлов: 12 добавлений и 8 удалений

Просмотреть файл

@ -1884,10 +1884,12 @@ static bool CCRunnerFired(TimeStamp aDeadline) {
MOZ_FALLTHROUGH;
case CCRunnerState::LateTimer:
if (!ShouldTriggerCC(suspected) && ShouldFireForgetSkippable(suspected)) {
FireForgetSkippable(suspected, /* aRemoveChildless = */ false,
aDeadline);
didDoWork = true;
if (!ShouldTriggerCC(suspected)) {
if (ShouldFireForgetSkippable(suspected)) {
FireForgetSkippable(suspected, /* aRemoveChildless = */ false,
aDeadline);
didDoWork = true;
}
finished = true;
break;
}
@ -1916,10 +1918,12 @@ static bool CCRunnerFired(TimeStamp aDeadline) {
break;
case CCRunnerState::FinalTimer:
if (!ShouldTriggerCC(suspected) && ShouldFireForgetSkippable(suspected)) {
FireForgetSkippable(suspected, /* aRemoveChildless = */ false,
aDeadline);
didDoWork = true;
if (!ShouldTriggerCC(suspected)) {
if (ShouldFireForgetSkippable(suspected)) {
FireForgetSkippable(suspected, /* aRemoveChildless = */ false,
aDeadline);
didDoWork = true;
}
finished = true;
break;
}