Home | History | Annotate | Download | only in commands
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_TEST_WEBDRIVER_COMMANDS_SET_TIMEOUT_COMMANDS_H_
      6 #define CHROME_TEST_WEBDRIVER_COMMANDS_SET_TIMEOUT_COMMANDS_H_
      7 
      8 #include <string>
      9 #include <vector>
     10 
     11 #include "chrome/test/webdriver/commands/webdriver_command.h"
     12 
     13 namespace base {
     14 class DictionaryValue;
     15 }
     16 
     17 namespace webdriver {
     18 
     19 class Response;
     20 
     21 class SetTimeoutCommand : public WebDriverCommand {
     22  public:
     23   SetTimeoutCommand(const std::vector<std::string>& path_segments,
     24                     const base::DictionaryValue* const parameters);
     25   virtual ~SetTimeoutCommand();
     26 
     27   virtual bool DoesPost() OVERRIDE;
     28   virtual void ExecutePost(Response* const response) OVERRIDE;
     29   virtual void SetTimeout(int timeout_ms) = 0;
     30 
     31  private:
     32   DISALLOW_COPY_AND_ASSIGN(SetTimeoutCommand);
     33 };
     34 
     35 // Set timeout for asynchronous script execution (/session/*/execute_async).
     36 class SetAsyncScriptTimeoutCommand : public SetTimeoutCommand {
     37  public:
     38   SetAsyncScriptTimeoutCommand(const std::vector<std::string>& path_segments,
     39                                const base::DictionaryValue* const parameters);
     40   virtual ~SetAsyncScriptTimeoutCommand();
     41   virtual void SetTimeout(int timeout_ms) OVERRIDE;
     42 
     43  private:
     44   DISALLOW_COPY_AND_ASSIGN(SetAsyncScriptTimeoutCommand);
     45 };
     46 
     47 // Set the amount of time the driver should wait when searching for elements.
     48 class ImplicitWaitCommand : public SetTimeoutCommand {
     49  public:
     50   ImplicitWaitCommand(const std::vector<std::string>& path_segments,
     51                       const base::DictionaryValue* const parameters);
     52   virtual ~ImplicitWaitCommand();
     53   virtual void SetTimeout(int timeout_ms) OVERRIDE;
     54 
     55  private:
     56   DISALLOW_COPY_AND_ASSIGN(ImplicitWaitCommand);
     57 };
     58 
     59 }  // namespace webdriver
     60 
     61 #endif  // CHROME_TEST_WEBDRIVER_COMMANDS_SET_TIMEOUT_COMMANDS_H_
     62