blob: de7a7c13951ff377a436e279ce9dcf0e797087a4 [file] [log] [blame]
// 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 <string>
#include <vector>
#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<std::string>& 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<std::string>& 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<std::string>& 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_