Avoid dispatching timezone notifications while suspended
This CL is delaying the WM_TIMECHANGE notifications to ensure it's running while the computer is fully resumed from power suspend. It is also batching multiple concurrent notifications if they subsequent notifications occurred before the completion of the initial one. note: The thread controller already handle delayed tasks and power management by not posting delayed task while computer is in power suspended state. Jank stackframe: tzset_nolock tzset icu_68::TimeZone::detectHostTimeZone() device::TimeZoneMonitor::DetectHostTimeZoneFromIcu() device::TimeZoneMonitorWin::OnWndProc(HWND__ *,unsigned int,unsigned __int64,__int64) gfx::SingletonHwnd::ProcessWindowMessage(HWND__ *,unsigned int,unsigned __int64,__int64,__int64 &,unsigned long) gfx::WindowImpl::OnWndProc(unsigned int,unsigned __int64,__int64) gfx::WindowImpl::WndProc(HWND__ *,unsigned int,unsigned __int64,__int64) base::win::WrappedWindowProc<&gfx::WindowImpl::WndProc(HWND__ *,unsigned int,unsigned __int64,__int64)>(HWND__ *,unsigned int,unsigned __int64,__int64) UserCallWinProcCheckWow DispatchMessageWorker base::MessagePumpForUI::ProcessMessageHelper(tagMSG const &) base::MessagePumpForUI::ProcessNextWindowsMessage() base::MessagePumpForUI::DoRunLoop() base::MessagePumpWin::Run(base::MessagePump::Delegate *) base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool,base::TimeDelta) base::RunLoop::Run() R=gab@chromium.org,fdoray@chromium.org Bug: 1074036 Change-Id: I5b5d5fd945205a3d2eaacbbde274e9f8caf5136e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2582549 Commit-Queue: Etienne Bergeron <etienneb@chromium.org> Reviewed-by:Mark Mentovai <mark@chromium.org> Reviewed-by:
François Doray <fdoray@chromium.org> Cr-Commit-Position: refs/heads/master@{#841232}
Showing
Please register or sign in to comment