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