12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CHROME_TEST_CHROMEDRIVER_CHROME_STUB_WEB_VIEW_H_
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CHROME_TEST_CHROMEDRIVER_CHROME_STUB_WEB_VIEW_H_
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <list>
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string>
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/compiler_specific.h"
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/memory/scoped_ptr.h"
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/test/chromedriver/chrome/web_view.h"
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class StubWebView : public WebView {
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public:
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  explicit StubWebView(const std::string& id);
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual ~StubWebView();
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // Overridden from WebView:
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual std::string GetId() OVERRIDE;
2268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  virtual bool WasCrashed() OVERRIDE;
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status ConnectIfNecessary() OVERRIDE;
24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual Status HandleReceivedEvents() OVERRIDE;
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status Load(const std::string& url) OVERRIDE;
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status Reload() OVERRIDE;
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status EvaluateScript(const std::string& frame,
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                const std::string& function,
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                scoped_ptr<base::Value>* result) OVERRIDE;
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status CallFunction(const std::string& frame,
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                              const std::string& function,
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                              const base::ListValue& args,
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                              scoped_ptr<base::Value>* result) OVERRIDE;
34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual Status CallAsyncFunction(const std::string& frame,
35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                                   const std::string& function,
36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                                   const base::ListValue& args,
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                                   const base::TimeDelta& timeout,
38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                                   scoped_ptr<base::Value>* result) OVERRIDE;
39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual Status CallUserAsyncFunction(
40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      const std::string& frame,
41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      const std::string& function,
42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      const base::ListValue& args,
43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      const base::TimeDelta& timeout,
44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      scoped_ptr<base::Value>* result) OVERRIDE;
452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status GetFrameByFunction(const std::string& frame,
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                    const std::string& function,
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                    const base::ListValue& args,
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                    std::string* out_frame) OVERRIDE;
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status DispatchMouseEvents(
50ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch      const std::list<MouseEvent>& events, const std::string& frame) OVERRIDE;
515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  virtual Status DispatchTouchEvent(const TouchEvent& event) OVERRIDE;
52d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  virtual Status DispatchTouchEvents(
53d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch      const std::list<TouchEvent>& events) OVERRIDE;
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status DispatchKeyEvents(const std::list<KeyEvent>& events) OVERRIDE;
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status GetCookies(scoped_ptr<base::ListValue>* cookies) OVERRIDE;
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status DeleteCookie(const std::string& name,
572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                              const std::string& url) OVERRIDE;
58868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual Status WaitForPendingNavigations(const std::string& frame_id,
59424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)                                           const base::TimeDelta& timeout,
60424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)                                           bool stop_load_on_timeout) OVERRIDE;
612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status IsPendingNavigation(
622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      const std::string& frame_id, bool* is_pending) OVERRIDE;
632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual JavaScriptDialogManager* GetJavaScriptDialogManager() OVERRIDE;
64c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual Status OverrideGeolocation(const Geoposition& geoposition) OVERRIDE;
652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual Status CaptureScreenshot(std::string* screenshot) OVERRIDE;
66c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual Status SetFileInputFiles(
67c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      const std::string& frame,
68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      const base::DictionaryValue& element,
69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      const std::vector<base::FilePath>& files) OVERRIDE;
70d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  virtual Status TakeHeapSnapshot(scoped_ptr<base::Value>* snapshot) OVERRIDE;
71cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual Status StartProfile() OVERRIDE;
72cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual Status EndProfile(scoped_ptr<base::Value>* profile_data) OVERRIDE;
732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private:
752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  std::string id_;
762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif  // CHROME_TEST_CHROMEDRIVER_CHROME_STUB_WEB_VIEW_H_
79