1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeaunamespace Facebook\WebDriver\Interactions\Internal; 4*04fd306cSNickeau 5*04fd306cSNickeauuse Facebook\WebDriver\Internal\WebDriverLocatable; 6*04fd306cSNickeauuse Facebook\WebDriver\WebDriverKeyboard; 7*04fd306cSNickeauuse Facebook\WebDriver\WebDriverMouse; 8*04fd306cSNickeau 9*04fd306cSNickeau/** 10*04fd306cSNickeau * Base class for all keyboard-related actions. 11*04fd306cSNickeau */ 12*04fd306cSNickeauabstract class WebDriverKeysRelatedAction 13*04fd306cSNickeau{ 14*04fd306cSNickeau /** 15*04fd306cSNickeau * @var WebDriverKeyboard 16*04fd306cSNickeau */ 17*04fd306cSNickeau protected $keyboard; 18*04fd306cSNickeau /** 19*04fd306cSNickeau * @var WebDriverMouse 20*04fd306cSNickeau */ 21*04fd306cSNickeau protected $mouse; 22*04fd306cSNickeau /** 23*04fd306cSNickeau * @var WebDriverLocatable|null 24*04fd306cSNickeau */ 25*04fd306cSNickeau protected $locationProvider; 26*04fd306cSNickeau 27*04fd306cSNickeau /** 28*04fd306cSNickeau * @param WebDriverKeyboard $keyboard 29*04fd306cSNickeau * @param WebDriverMouse $mouse 30*04fd306cSNickeau * @param WebDriverLocatable $location_provider 31*04fd306cSNickeau */ 32*04fd306cSNickeau public function __construct( 33*04fd306cSNickeau WebDriverKeyboard $keyboard, 34*04fd306cSNickeau WebDriverMouse $mouse, 35*04fd306cSNickeau WebDriverLocatable $location_provider = null 36*04fd306cSNickeau ) { 37*04fd306cSNickeau $this->keyboard = $keyboard; 38*04fd306cSNickeau $this->mouse = $mouse; 39*04fd306cSNickeau $this->locationProvider = $location_provider; 40*04fd306cSNickeau } 41*04fd306cSNickeau 42*04fd306cSNickeau protected function focusOnElement() 43*04fd306cSNickeau { 44*04fd306cSNickeau if ($this->locationProvider) { 45*04fd306cSNickeau $this->mouse->click($this->locationProvider->getCoordinates()); 46*04fd306cSNickeau } 47*04fd306cSNickeau } 48*04fd306cSNickeau} 49