| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | <?php// Copyright 2004-present Facebook. All Rights Reserved.//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at////     http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.namespace Facebook\WebDriver\Interactions\Internal;use Facebook\WebDriver\Internal\WebDriverLocatable;use Facebook\WebDriver\WebDriverMouse;/** * Base class for all mouse-related actions. */class WebDriverMouseAction{    /**     * @var WebDriverMouse     */    protected $mouse;    /**     * @var WebDriverLocatable     */    protected $locationProvider;    /**     * @param WebDriverMouse $mouse     * @param WebDriverLocatable|null $location_provider     */    public function __construct(WebDriverMouse $mouse, WebDriverLocatable $location_provider = null)    {        $this->mouse = $mouse;        $this->locationProvider = $location_provider;    }    /**     * @return null|WebDriverCoordinates     */    protected function getActionLocation()    {        if ($this->locationProvider !== null) {            return $this->locationProvider->getCoordinates();        }        return null;    }    protected function moveToLocation()    {        $this->mouse->mouseMove($this->locationProvider);    }}
 |