Browse Source

fix: pointer lock permission after focus loss and regain (#45574)

Shelley Vohr 2 months ago
parent
commit
47dbab3856

+ 6 - 0
shell/browser/api/electron_api_web_contents.cc

@@ -1608,6 +1608,12 @@ void WebContents::LostPointerLock() {
       ->ExitExclusiveAccessToPreviousState();
 }
 
+bool WebContents::IsWaitingForPointerLockPrompt(
+    content::WebContents* web_contents) {
+  return exclusive_access_manager_.pointer_lock_controller()
+      ->IsWaitingForPointerLockPrompt(web_contents);
+}
+
 void WebContents::OnRequestKeyboardLock(content::WebContents* web_contents,
                                         bool esc_key_locked,
                                         bool allowed) {

+ 2 - 0
shell/browser/api/electron_api_web_contents.h

@@ -613,6 +613,8 @@ class WebContents final : public ExclusiveAccessContext,
                           bool user_gesture,
                           bool last_unlocked_by_target) override;
   void LostPointerLock() override;
+  bool IsWaitingForPointerLockPrompt(
+      content::WebContents* web_contents) override;
   void OnRequestKeyboardLock(content::WebContents* web_contents,
                              bool esc_key_locked,
                              bool allowed);