* @author Fabrizio Branca */ namespace WebDriver; /** * WebDriver\Window class * * @package WebDriver * * @method array getSize() Get size of the window. * @method void postSize($json) Change the size of the window. * @method array getPosition() Get position of the window. * @method void postPosition($json) Change position of the window. * @method void maximize() Maximize the window if not already maximized. */ final class Window extends AbstractWebDriver { /** * Window handle * * @var string */ private $windowHandle; /** * {@inheritdoc} */ protected function methods() { return array( 'size' => array('GET', 'POST'), 'position' => array('GET', 'POST'), 'maximize' => array('POST'), ); } /** * {@inheritdoc} */ protected function obsoleteMethods() { return array( 'restore' => array('POST'), ); } /** * Get window handle * * @return string */ public function getHandle() { return $this->windowHandle; } /** * Constructor * * @param string $url URL * @param string $windowHandle Window handle */ public function __construct($url, $windowHandle) { $this->windowHandle = $windowHandle; parent::__construct($url . '/' . $windowHandle); } }