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