1// Copyright (c) 2013 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_CHROMEDRIVER_CHROME_STUB_WEB_VIEW_H_
6#define CHROME_TEST_CHROMEDRIVER_CHROME_STUB_WEB_VIEW_H_
7
8#include <list>
9#include <string>
10
11#include "base/compiler_specific.h"
12#include "base/memory/scoped_ptr.h"
13#include "chrome/test/chromedriver/chrome/web_view.h"
14
15class StubWebView : public WebView {
16 public:
17  explicit StubWebView(const std::string& id);
18  virtual ~StubWebView();
19
20  // Overridden from WebView:
21  virtual std::string GetId() OVERRIDE;
22  virtual Status ConnectIfNecessary() OVERRIDE;
23  virtual Status HandleReceivedEvents() OVERRIDE;
24  virtual Status Load(const std::string& url) OVERRIDE;
25  virtual Status Reload() OVERRIDE;
26  virtual Status EvaluateScript(const std::string& frame,
27                                const std::string& function,
28                                scoped_ptr<base::Value>* result) OVERRIDE;
29  virtual Status CallFunction(const std::string& frame,
30                              const std::string& function,
31                              const base::ListValue& args,
32                              scoped_ptr<base::Value>* result) OVERRIDE;
33  virtual Status CallAsyncFunction(const std::string& frame,
34                                   const std::string& function,
35                                   const base::ListValue& args,
36                                   const base::TimeDelta& timeout,
37                                   scoped_ptr<base::Value>* result) OVERRIDE;
38  virtual Status CallUserAsyncFunction(
39      const std::string& frame,
40      const std::string& function,
41      const base::ListValue& args,
42      const base::TimeDelta& timeout,
43      scoped_ptr<base::Value>* result) OVERRIDE;
44  virtual Status GetFrameByFunction(const std::string& frame,
45                                    const std::string& function,
46                                    const base::ListValue& args,
47                                    std::string* out_frame) OVERRIDE;
48  virtual Status DispatchMouseEvents(
49      const std::list<MouseEvent>& events, const std::string& frame) OVERRIDE;
50  virtual Status DispatchTouchEvents(
51      const std::list<TouchEvent>& events) OVERRIDE;
52  virtual Status DispatchKeyEvents(const std::list<KeyEvent>& events) OVERRIDE;
53  virtual Status GetCookies(scoped_ptr<base::ListValue>* cookies) OVERRIDE;
54  virtual Status DeleteCookie(const std::string& name,
55                              const std::string& url) OVERRIDE;
56  virtual Status WaitForPendingNavigations(const std::string& frame_id,
57                                           int timeout) OVERRIDE;
58  virtual Status IsPendingNavigation(
59      const std::string& frame_id, bool* is_pending) OVERRIDE;
60  virtual JavaScriptDialogManager* GetJavaScriptDialogManager() OVERRIDE;
61  virtual Status OverrideGeolocation(const Geoposition& geoposition) OVERRIDE;
62  virtual Status CaptureScreenshot(std::string* screenshot) OVERRIDE;
63  virtual Status SetFileInputFiles(
64      const std::string& frame,
65      const base::DictionaryValue& element,
66      const std::vector<base::FilePath>& files) OVERRIDE;
67
68 private:
69  std::string id_;
70};
71
72#endif  // CHROME_TEST_CHROMEDRIVER_CHROME_STUB_WEB_VIEW_H_
73