blob: 7fc7993172c1a5d20156e182baa1ef03ee0df6d1 [file] [log] [blame]
// Copyright (c) 2012 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_CHROME_COMMANDS_H_
#define CHROME_TEST_WEBDRIVER_COMMANDS_CHROME_COMMANDS_H_
#include <string>
#include <vector>
#include "base/compiler_specific.h"
#include "chrome/test/webdriver/commands/webdriver_command.h"
namespace base {
class DictionaryValue;
}
namespace webdriver {
class Response;
// Commands dealing with the extensions system.
class ExtensionsCommand : public WebDriverCommand {
public:
ExtensionsCommand(const std::vector<std::string>& path_segments,
const base::DictionaryValue* const parameters);
virtual ~ExtensionsCommand();
virtual bool DoesGet() OVERRIDE;
virtual bool DoesPost() OVERRIDE;
// Returns all installed extensions.
virtual void ExecuteGet(Response* const response) OVERRIDE;
// Installs an extension.
virtual void ExecutePost(Response* const response) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(ExtensionsCommand);
};
// Commands dealing with a particular extension.
class ExtensionCommand : public WebDriverCommand {
public:
ExtensionCommand(const std::vector<std::string>& path_segments,
const base::DictionaryValue* const parameters);
virtual ~ExtensionCommand();
virtual bool Init(Response* const response) OVERRIDE;
virtual bool DoesGet() OVERRIDE;
virtual bool DoesPost() OVERRIDE;
virtual bool DoesDelete() OVERRIDE;
// Returns information about the extension.
virtual void ExecuteGet(Response* const response) OVERRIDE;
// Modifies the extension.
virtual void ExecutePost(Response* const response) OVERRIDE;
// Uninstalls the extension.
virtual void ExecuteDelete(Response* const response) OVERRIDE;
private:
std::string extension_id_;
DISALLOW_COPY_AND_ASSIGN(ExtensionCommand);
};
// Commands dealing with targeting non-tab views.
class ViewsCommand : public WebDriverCommand {
public:
ViewsCommand(const std::vector<std::string>& path_segments,
const base::DictionaryValue* const parameters);
virtual ~ViewsCommand();
virtual bool DoesGet() OVERRIDE;
// Returns all open views.
virtual void ExecuteGet(Response* const response) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(ViewsCommand);
};
#if !defined(NO_TCMALLOC) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
class HeapProfilerDumpCommand : public WebDriverCommand {
public:
HeapProfilerDumpCommand(const std::vector<std::string>& path_segments,
const base::DictionaryValue* const parameters);
virtual ~HeapProfilerDumpCommand();
virtual bool DoesPost() OVERRIDE;
virtual void ExecutePost(Response* const response) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(HeapProfilerDumpCommand);
};
#endif // !defined(NO_TCMALLOC) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
} // namespace webdriver
#endif // CHROME_TEST_WEBDRIVER_COMMANDS_CHROME_COMMANDS_H_