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