[webkit-changes] [WebKit/WebKit] 9263dd: [WebXR] Prompt accepted does not need to be set ba...

mwyrzykowski noreply at github.com
Tue Jul 30 08:58:10 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9263dd92827856663ba9a7870835d787aff0a66f
      https://github.com/WebKit/WebKit/commit/9263dd92827856663ba9a7870835d787aff0a66f
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp

  Log Message:
  -----------
  [WebXR] Prompt accepted does not need to be set back to std::nullopt
https://bugs.webkit.org/show_bug.cgi?id=277270>
<radar://132742523>

Reviewed by Dan Glastonbury.

As noted in https://github.com/WebKit/WebKit/pull/30612#pullrequestreview-2205065256,
there is the possibility that the Web Process is still sending immersive mode
commands to the GPU process when the UI process receives a message to stop
immersive mode.

If this occurs, then the UI process would currently send a message to the GPU process
to set the process identifier back to std::nullopt. This is not needed, since once the prompt
is accepted for a given web page it can not be revoked.

There is a race window where the Web Process sends a message to the GPU process which gets
rejected because the identifier was set to std::nullopt.

We can close the race window by not setting the identifier back to std::nullopt.

* Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp:
(WebKit::PlatformXRSystem::setImmersiveSessionState):

Canonical link: https://commits.webkit.org/281567@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list