// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_TEST_WEBDRIVER_COMMANDS_SET_TIMEOUT_COMMANDS_H_ #define CHROME_TEST_WEBDRIVER_COMMANDS_SET_TIMEOUT_COMMANDS_H_ #include #include #include "chrome/test/webdriver/commands/webdriver_command.h" namespace base { class DictionaryValue; } namespace webdriver { class Response; class SetTimeoutCommand : public WebDriverCommand { public: SetTimeoutCommand(const std::vector& path_segments, const base::DictionaryValue* const parameters); virtual ~SetTimeoutCommand(); virtual bool DoesPost() OVERRIDE; virtual void ExecutePost(Response* const response) OVERRIDE; virtual void SetTimeout(int timeout_ms) = 0; private: DISALLOW_COPY_AND_ASSIGN(SetTimeoutCommand); }; // Set timeout for asynchronous script execution (/session/*/execute_async). class SetAsyncScriptTimeoutCommand : public SetTimeoutCommand { public: SetAsyncScriptTimeoutCommand(const std::vector& path_segments, const base::DictionaryValue* const parameters); virtual ~SetAsyncScriptTimeoutCommand(); virtual void SetTimeout(int timeout_ms) OVERRIDE; private: DISALLOW_COPY_AND_ASSIGN(SetAsyncScriptTimeoutCommand); }; // Set the amount of time the driver should wait when searching for elements. class ImplicitWaitCommand : public SetTimeoutCommand { public: ImplicitWaitCommand(const std::vector& path_segments, const base::DictionaryValue* const parameters); virtual ~ImplicitWaitCommand(); virtual void SetTimeout(int timeout_ms) OVERRIDE; private: DISALLOW_COPY_AND_ASSIGN(ImplicitWaitCommand); }; } // namespace webdriver #endif // CHROME_TEST_WEBDRIVER_COMMANDS_SET_TIMEOUT_COMMANDS_H_