mirror of
https://github.com/HeyPuter/firefox.git
synced 2026-11-13 20:14:57 -10:00
See https://bugzilla.mozilla.org/show_bug.cgi?id=2044510#c0 for more details. Differential Revision: https://phabricator.services.mozilla.com/D304349
23 lines
867 B
C++
23 lines
867 B
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "mozilla/SchedulerGroup.h"
|
|
#include "nsThreadUtils.h"
|
|
|
|
namespace mozilla {
|
|
|
|
/* static */
|
|
nsresult SchedulerGroup::Dispatch(already_AddRefed<nsIRunnable> aRunnable,
|
|
nsIEventTarget::DispatchFlags aFlags) {
|
|
if (NS_IsMainThread()) {
|
|
// NOTE: NS_DispatchToCurrentThread always specifies `NS_DISPATCH_FALLIBLE`.
|
|
// This is done to maintain previous behaviour that all SchedulerGroup
|
|
// dispatches from the main thread to the main thread are non-leaking.
|
|
return NS_DispatchToCurrentThread(std::move(aRunnable));
|
|
}
|
|
return NS_DispatchToMainThread(std::move(aRunnable), aFlags);
|
|
}
|
|
|
|
} // namespace mozilla
|