gecko-dev/xpcom/threads
Sean Feng 12424aa6b0 Bug 1662265 - Fix input events handling for sync XHR when both TaskController and e10s are enabled r=smaug
There are two issues in our current setup

1) Input events which are occurring in the same tab are going to be lost
because sync XHR. We have event handling suppression for synx XHR, so input
events are going to be discarded.

2) Input events that are happening in another tab (same process as the
synx XHR tab) are not going to be delayed. This is not correct since
sync XHR should block the Javascript execution.

This patches fixes the above cases for when both TaskController and e10s are
enabled by suspending the InputTaskManager during sync XHR, which
delays the input event handling and keeps the events around.

Differential Revision: https://phabricator.services.mozilla.com/D90780
2020-12-15 01:33:24 +00:00
..
AbstractThread.cpp
AbstractThread.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
BlockingResourceBase.cpp
BlockingResourceBase.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
CPUUsageWatcher.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
CPUUsageWatcher.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
CondVar.h Bug 1676361 - Clean up profiler includes. r=gerald 2020-11-23 16:09:13 +00:00
DataMutex.h Bug 1671403 - DataMutexBase::Mutex() gives const& access to the mutex - r=sg 2020-11-19 11:47:08 +00:00
DeadlockDetector.h
EventQueue.cpp Bug 1672055: Fix mismatch in nsIRunnablePriority and EventQueuePriority. r=smaug 2020-10-20 03:57:24 +00:00
EventQueue.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
IdlePeriodState.cpp
IdlePeriodState.h Bug 1662265 - Fix input events handling for sync XHR when both TaskController and e10s are enabled r=smaug 2020-12-15 01:33:24 +00:00
IdleTaskRunner.cpp Bug 1678416 - Minor comment fixes r=smaug 2020-12-04 16:03:24 +00:00
IdleTaskRunner.h Bug 1678416 - Minor comment fixes r=smaug 2020-12-04 16:03:24 +00:00
InputEventStatistics.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
InputEventStatistics.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
InputTaskManager.cpp Bug 1669214 - Part 4: Add code to forward runnables from EventQueue::PutEvent to the TaskController. r=smaug 2020-10-06 19:06:57 +00:00
InputTaskManager.h Bug 1662265 - Fix input events handling for sync XHR when both TaskController and e10s are enabled r=smaug 2020-12-15 01:33:24 +00:00
LazyIdleThread.cpp
LazyIdleThread.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
LeakRefPtr.h
MainThreadIdlePeriod.cpp
MainThreadIdlePeriod.h
MainThreadUtils.h
Monitor.h Bug 1662957 - Add [[nodiscard]] to xpcom's Mutex and Monitor TryLock() functions. r=xpcom-reviewers,sg 2020-09-03 05:34:23 +00:00
MozPromise.h Bug 1626278: Implement MozPromise::AllSettled, based on JS Promise API. r=jya 2020-11-19 18:50:08 +00:00
MozPromiseInlines.h
Mutex.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
PerformanceCounter.cpp
PerformanceCounter.h
Queue.h
RWLock.cpp
RWLock.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
RecursiveMutex.cpp
RecursiveMutex.h
ReentrantMonitor.h Bug 1676361 - Clean up profiler includes. r=gerald 2020-11-23 16:09:13 +00:00
SchedulerGroup.cpp
SchedulerGroup.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
SharedThreadPool.cpp Bug 1676365 - Move SpinEventLoopUntil to separate header. r=#xpcom-reviewers 2020-11-23 16:10:41 +00:00
SharedThreadPool.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
SpinEventLoopUntil.h Bug 1676365 - Move SpinEventLoopUntil to separate header. r=#xpcom-reviewers 2020-11-23 16:10:41 +00:00
StateMirroring.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
StateWatching.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
SyncRunnable.h Bug 1595994 - P14. Don't dealock if we failed to dispatch a task and return error code. r=mattwoodrow 2020-10-20 23:28:10 +00:00
SynchronizedEventQueue.cpp
SynchronizedEventQueue.h Bug 1669256 - Part 5: Remove dead code from ProcessNextEvent and its supporting functions. r=smaug 2020-10-09 17:38:15 +00:00
TaskCategory.h
TaskController.cpp Bug 1675073: Manually set the stack size for TaskController pool threads. r=aosmond,smaug 2020-12-14 01:07:59 +00:00
TaskController.h Bug 1675073: Manually set the stack size for TaskController pool threads. r=aosmond,smaug 2020-12-14 01:07:59 +00:00
TaskDispatcher.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
TaskQueue.cpp
TaskQueue.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
ThreadBound.h
ThreadDelay.cpp
ThreadDelay.h
ThreadEventQueue.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
ThreadEventQueue.h Bug 1669256 - Part 5: Remove dead code from ProcessNextEvent and its supporting functions. r=smaug 2020-10-09 17:38:15 +00:00
ThreadEventTarget.cpp Bug 1676365 - Move SpinEventLoopUntil to separate header. r=#xpcom-reviewers 2020-11-23 16:10:41 +00:00
ThreadEventTarget.h
ThreadLocalVariables.cpp
ThrottledEventQueue.cpp Bug 1669256 - Part 3: Remove priority related code from ThreadEventQueue. r=smaug 2020-10-09 16:57:40 +00:00
ThrottledEventQueue.h
TimerThread.cpp
TimerThread.h
components.conf
moz.build Bug 1119956 introduce DiscardableRunnable for tasks that might not run but might not implement cancellation r=asuth,sg 2020-12-02 09:36:25 +00:00
nsEnvironment.cpp
nsEnvironment.h
nsICancelableRunnable.h Bug 1119956 add CancelableRunnable documentation to clarify expectations r=sg 2020-12-01 10:05:21 +00:00
nsIDirectTaskDispatcher.idl
nsIDiscardableRunnable.h Bug 1119956 introduce DiscardableRunnable for tasks that might not run but might not implement cancellation r=asuth,sg 2020-12-02 09:36:25 +00:00
nsIEnvironment.idl
nsIEventTarget.idl
nsIIdlePeriod.idl
nsIIdleRunnable.h
nsINamed.idl
nsIProcess.idl
nsIRunnable.idl Bug 1672055: Fix mismatch in nsIRunnablePriority and EventQueuePriority. r=smaug 2020-10-20 03:57:24 +00:00
nsISerialEventTarget.idl
nsISupportsPriority.idl
nsIThread.idl
nsIThreadInternal.idl
nsIThreadManager.idl
nsIThreadPool.idl
nsITimer.idl
nsMemoryPressure.cpp
nsMemoryPressure.h
nsProcess.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsProcessCommon.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
nsProxyRelease.cpp
nsProxyRelease.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsThread.cpp Bug 1680544 - Part 3: Do not log runnables coming from TaskController. r=nika 2020-12-04 18:59:45 +00:00
nsThread.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsThreadManager.cpp Bug 1676365 - Move SpinEventLoopUntil to separate header. r=#xpcom-reviewers 2020-11-23 16:10:41 +00:00
nsThreadManager.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsThreadPool.cpp Bug 1679272 - Include ScopeExit.h exactly where used. r=andi 2020-12-07 14:25:59 +00:00
nsThreadPool.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsThreadSyncDispatch.h
nsThreadUtils.cpp Bug 1119956 implement IdleRunnableWrapper::OnDiscard() r=sg 2020-12-06 21:51:01 +00:00
nsThreadUtils.h Bug 1680217 - Allow NewRunnableMethod to move in the this pointer from a RefPtr. r=xpcom-reviewers,KrisWright 2020-12-07 21:43:43 +00:00
nsTimerImpl.cpp
nsTimerImpl.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00