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 bool WasCrashed() OVERRIDE;
23  virtual Status ConnectIfNecessary() OVERRIDE;
24  virtual Status HandleReceivedEvents() OVERRIDE;
25  virtual Status Load(const std::string& url) OVERRIDE;
26  virtual Status Reload() OVERRIDE;
27  virtual Status EvaluateScript(const std::string& frame,
28                                const std::string& function,
29                                scoped_ptr<base::Value>* result) OVERRIDE;
30  virtual Status CallFunction(const std::string& frame,
31                              const std::string& function,
32                              const base::ListValue& args,
33                              scoped_ptr<base::Value>* result) OVERRIDE;
34  virtual Status CallAsyncFunction(const std::string& frame,
35                                   const std::string& function,
36                                   const base::ListValue& args,
37                                   const base::TimeDelta& timeout,
38                                   scoped_ptr<base::Value>* result) OVERRIDE;
39  virtual Status CallUserAsyncFunction(
40      const std::string& frame,
41      const std::string& function,
42      const base::ListValue& args,
43      const base::TimeDelta& timeout,
44      scoped_ptr<base::Value>* result) OVERRIDE;
45  virtual Status GetFrameByFunction(const std::string& frame,
46                                    const std::string& function,
47                                    const base::ListValue& args,
48                                    std::string* out_frame) OVERRIDE;
49  virtual Status DispatchMouseEvents(
50      const std::list<MouseEvent>& events, const std::string& frame) OVERRIDE;
51  virtual Status DispatchTouchEvent(const TouchEvent& event) OVERRIDE;
52  virtual Status DispatchTouchEvents(
53      const std::list<TouchEvent>& events) OVERRIDE;
54  virtual Status DispatchKeyEvents(const std::list<KeyEvent>& events) OVERRIDE;
55  virtual Status GetCookies(scoped_ptr<base::ListValue>* cookies) OVERRIDE;
56  virtual Status DeleteCookie(const std::string& name,
57                              const std::string& url) OVERRIDE;
58  virtual Status WaitForPendingNavigations(const std::string& frame_id,
59                                           const base::TimeDelta& timeout,
60                                           bool stop_load_on_timeout) OVERRIDE;
61  virtual Status IsPendingNavigation(
62      const std::string& frame_id, bool* is_pending) OVERRIDE;
63  virtual JavaScriptDialogManager* GetJavaScriptDialogManager() OVERRIDE;
64  virtual Status OverrideGeolocation(const Geoposition& geoposition) OVERRIDE;
65  virtual Status CaptureScreenshot(std::string* screenshot) OVERRIDE;
66  virtual Status SetFileInputFiles(
67      const std::string& frame,
68      const base::DictionaryValue& element,
69      const std::vector<base::FilePath>& files) OVERRIDE;
70  virtual Status TakeHeapSnapshot(scoped_ptr<base::Value>* snapshot) OVERRIDE;
71  virtual Status StartProfile() OVERRIDE;
72  virtual Status EndProfile(scoped_ptr<base::Value>* profile_data) OVERRIDE;
73
74 private:
75  std::string id_;
76};
77
78#endif  // CHROME_TEST_CHROMEDRIVER_CHROME_STUB_WEB_VIEW_H_
79