• Wez's avatar
    Ignore WM_QUIT messages handled by MessagePumpForUI. · b26918c5
    Wez authored
    WM_QUIT messages are intended to be used internally by applications to
    exit message-pumping loops built using the GetMessage() API.
    
    Chromium MessageLoop/RunLoop have a common cross-platform Quit()
    mechanism, and much of our code assumes that loops will run until we
    explicitly ask them to Quit(), so we have no need to process WM_QUIT.
    
    We might see WM_QUIT messages injected by other applications, for some
    reason, and some code we run will use a GetMessage() loop and exit that
    via PostQuitMessage(). If a nested GetMessage() loop triggers multiple
    PostQuitMessage() calls before returning then we may end up with our
    MessagePumpForUI receiving WM_QUIT unintentionally.
    
    Bug: 720078
    Change-Id: I11df406ab4fd1d0a3b56899bf1a710ef51c048e9
    Reviewed-on: https://chromium-review.googlesource.com/1020452
    Commit-Queue: Wez <wez@chromium.org>
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#553653}
    b26918c5
message_loop_unittest.cc 75.4 KB