Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: chrome/test/webdriver/commands/webdriver_command.h

Issue 3064012: Base implementation of WebDriver for Chrome. This checkin includes... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/webdriver/commands/webdriver_command.h
===================================================================
--- chrome/test/webdriver/commands/webdriver_command.h (revision 0)
+++ chrome/test/webdriver/commands/webdriver_command.h (revision 0)
@@ -0,0 +1,61 @@
+// Copyright (c) 2010 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_WEBDRIVER_COMMAND_H_
+#define CHROME_TEST_WEBDRIVER_COMMANDS_WEBDRIVER_COMMAND_H_
+
+#include <string>
+#include <vector>
+
+#include "chrome/test/webdriver/session_manager.h"
+#include "chrome/test/webdriver/commands/command.h"
+
+namespace webdriver {
+
+// All URLs that are found in the document:
+// http://code.google.com/p/selenium/wiki/JsonWireProtocol
+// and are to be supported for all browsers and platforms should inhert
+// this class. For cases which do not invlove interaction with the
+// browser, such a transfering a file, inhert from the Command class
+// directly.
+class WebDriverCommand : public Command {
+ public:
+ inline WebDriverCommand(const std::vector<std::string> path_segments,
+ const DictionaryValue* const parameters)
+ : Command(path_segments, parameters), session_(NULL) {}
+ virtual ~WebDriverCommand() {}
+
+ // Initializes this webdriver command by fetching the command session and,
+ // if necessary, verifying the session has a valid TabProxy.
+ virtual bool Init(Response* const response);
+
+ protected:
+ static const std::string kElementDictionaryKey;
+
+ // Tests if |dictionary| contains the kElementDictionaryKey, which
+ // indicates that it represents an element.
+ static bool IsElementIdDictionary(const DictionaryValue* const dictionary);
+
+ // Returns the |element_id| as a DictionaryValue that conforms with
+ // WebDriver's wire protocol. On success, returns a dynamically allocated
+ // object that the caller is responsible for deleting. Returns NULL on
+ // failure.
+ DictionaryValue* GetElementIdAsDictionaryValue(const std::string& element_id);
+
+ // Returns whether this command requires a valid TabProxy upon
+ // initialization.
+ virtual bool RequiresValidTab() { return true; }
+
+ // Returns whether this command has a valid TabProxy. Returns true on
+ // success. Otherwise, returns false and populates the |resposne| with the
+ // necessary information to return to the client.
+ bool VerifyTabIsValid(Response* response);
+
+ Session* session_;
+ scoped_refptr<TabProxy> tab_;
+ DISALLOW_COPY_AND_ASSIGN(WebDriverCommand);
+};
+} // namespace webdriver
+#endif // CHROME_TEST_WEBDRIVER_COMMANDS_WEBDRIVER_COMMAND_H_
+
Property changes on: chrome/test/webdriver/commands/webdriver_command.h
___________________________________________________________________
Added: svn:eol-style
+ LF
« no previous file with comments | « chrome/test/webdriver/commands/session_with_id.cc ('k') | chrome/test/webdriver/commands/webdriver_command.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698