Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 71b34966f4fbbb0e2c7bbf5132c4645a0ef67e90
      
https://github.com/WebKit/WebKit/commit/71b34966f4fbbb0e2c7bbf5132c4645a0ef67e90
  Author: Lauro Moura <[email protected]>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M Source/WebDriver/WebDriverService.cpp
    M Source/WebDriver/WebDriverService.h
    M Source/WebDriver/WebSocketServer.cpp
    M Source/WebDriver/WebSocketServer.h
    M Source/WebDriver/soup/WebSocketServerSoup.cpp

  Log Message:
  -----------
  [WebDriver][BiDi] Assertion in RefCountedAndCanMakeWeakPtr<WebSocketServer> 
destructor
https://bugs.webkit.org/show_bug.cgi?id=291925

Reviewed by BJ Burg and Carlos Garcia Campos.

Make WebDriverService hold the WebSocketServer in a Ref, as the server
implements RefCountedAndCanMakeWeakPtr.

This commit also removes the member of WebSocketServer that used to hold
the WebDriverService, as it was just used in
`WebSocketServer::session(...)`. This method was changed to return the
session id associated to that connection, so we don't have to pass the
current session anymore.

Combined changes:
* Source/WebDriver/WebDriverService.cpp:
(WebDriver::WebDriverService::WebDriverService): Update server
constructor call.
(WebDriver::WebDriverService::run): Fix pointer usage.
(WebDriver::WebDriverService::acceptHandshake): Ditto and update method
call.
(WebDriver::WebDriverService::handleMessage): Ditto and cleanup.
(WebDriver::WebDriverService::newSession): Fix pointer usage.
(WebDriver::WebDriverService::createSession): Ditto.
(WebDriver::WebDriverService::deleteSession): Ditto.
(WebDriver::WebDriverService::clientDisconnected): Ditto.
(WebDriver::WebDriverService::onBrowserTerminated): Ditto.
* Source/WebDriver/WebDriverService.h: Fix m_bidiServer type.
* Source/WebDriver/WebSocketServer.cpp:
(WebDriver::WebSocketServer::WebSocketServer): Update constructor call.
(WebDriver::WebSocketServer::sessionID const): Added.
(WebDriver::WebSocketServer::session): Deleted.
* Source/WebDriver/WebSocketServer.h: Remove m_bidiService and make
  constructor private.
(WebDriver::WebSocketServer::create): Added.
* Source/WebDriver/soup/WebSocketServerSoup.cpp:
(WebDriver::WebSocketServer::disconnect): Checks and disconnect the
signal handlers.
(WebDriver::WebSocketServer::disconnectSession): Ditto.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to