lib/playwright/channel_owners/playwright.rb
module Playwright define_channel_owner :Playwright do def chromium @chromium ||= ::Playwright::ChannelOwners::BrowserType.from(@initializer['chromium']) end def firefox @firefox ||= ::Playwright::ChannelOwners::BrowserType.from(@initializer['firefox']) end def webkit @webkit ||= ::Playwright::ChannelOwners::BrowserType.from(@initializer['webkit']) end def android @android ||= ::Playwright::ChannelOwners::Android.from(@initializer['android']) end def electron @electron ||= ::Playwright::ChannelOwners::Electron.from(@initializer['electron']) end def selectors @selectors ||= ::Playwright::ChannelOwners::Selectors.from(@initializer['selectors']) end def devices @connection.local_utils.devices end # used only from Playwright#connect_to_browser_server private def pre_launched_browser unless @initializer['preLaunchedBrowser'] raise 'Malformed endpoint. Did you use launchServer method?' end ::Playwright::ChannelOwners::Browser.from(@initializer['preLaunchedBrowser']) end private def pre_connected_android_device unless @initializer['preConnectedAndroidDevice'] raise 'Malformed endpoint. Did you use Android.launchServer method?' end ::Playwright::ChannelOwners::AndroidDevice.from(@initializer['preConnectedAndroidDevice']) end end end