diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:34:42 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:34:42 +0000 |
commit | da4c7e7ed675c3bf405668739c3012d140856109 (patch) | |
tree | cdd868dba063fecba609a1d819de271f0d51b23e /parser/html/nsHtml5StreamParser.cpp | |
parent | Adding upstream version 125.0.3. (diff) | |
download | firefox-da4c7e7ed675c3bf405668739c3012d140856109.tar.xz firefox-da4c7e7ed675c3bf405668739c3012d140856109.zip |
Adding upstream version 126.0.upstream/126.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'parser/html/nsHtml5StreamParser.cpp')
-rw-r--r-- | parser/html/nsHtml5StreamParser.cpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/parser/html/nsHtml5StreamParser.cpp b/parser/html/nsHtml5StreamParser.cpp index 82344cfa87..6286087d2a 100644 --- a/parser/html/nsHtml5StreamParser.cpp +++ b/parser/html/nsHtml5StreamParser.cpp @@ -1385,27 +1385,25 @@ nsresult nsHtml5StreamParser::OnStopRequest( const mozilla::ReentrantMonitorAutoEnter& aProofOfLock) { MOZ_ASSERT_IF(aRequest, mRequest == aRequest); if (mOnStopCalled) { + // OnStopRequest already executed (probably OMT). + MOZ_ASSERT(NS_IsMainThread(), "Expected to run on main thread"); if (mOnDataFinishedTime) { mOnStopRequestTime = TimeStamp::Now(); - } else { - mOnDataFinishedTime = TimeStamp::Now(); } } else { mOnStopCalled = true; if (MOZ_UNLIKELY(NS_IsMainThread())) { - mOnStopRequestTime = TimeStamp::Now(); + MOZ_ASSERT(mOnDataFinishedTime.IsNull(), "stale mOnDataFinishedTime"); nsCOMPtr<nsIRunnable> stopper = new nsHtml5RequestStopper(this); if (NS_FAILED( mEventTarget->Dispatch(stopper, nsIThread::DISPATCH_NORMAL))) { NS_WARNING("Dispatching StopRequest event failed."); } } else { - mOnDataFinishedTime = TimeStamp::Now(); - if (StaticPrefs::network_send_OnDataFinished_html5parser()) { MOZ_ASSERT(IsParserThread(), "Wrong thread!"); - + mOnDataFinishedTime = TimeStamp::Now(); mozilla::MutexAutoLock autoLock(mTokenizerMutex); DoStopRequest(); PostLoadFlusher(); @@ -1421,16 +1419,10 @@ nsresult nsHtml5StreamParser::OnStopRequest( } if (!mOnStopRequestTime.IsNull() && !mOnDataFinishedTime.IsNull()) { TimeDuration delta = (mOnStopRequestTime - mOnDataFinishedTime); - if (delta.ToMilliseconds() < 0) { - // Because Telemetry can't handle negatives - delta = -delta; - glean::networking:: - http_content_html5parser_ondatafinished_to_onstop_delay_negative - .AccumulateRawDuration(delta); - } else { - glean::networking::http_content_html5parser_ondatafinished_to_onstop_delay - .AccumulateRawDuration(delta); - } + MOZ_ASSERT((delta.ToMilliseconds() >= 0), + "OnDataFinished after OnStopRequest"); + glean::networking::http_content_html5parser_ondatafinished_to_onstop_delay + .AccumulateRawDuration(delta); } return NS_OK; } |