test_autofill_driver.h revision 5c02ac1a9c1b504631c0a3d2b6e737b5d738bae1
1// Copyright 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 COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_DRIVER_H_ 6#define COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_DRIVER_H_ 7 8#include "base/basictypes.h" 9#include "base/compiler_specific.h" 10#include "base/memory/ref_counted.h" 11#include "components/autofill/core/browser/autofill_driver.h" 12 13namespace base { 14class SequencedWorkerPoolOwner; 15} 16 17namespace autofill { 18 19// This class is only for easier writing of tests. 20class TestAutofillDriver : public AutofillDriver { 21 public: 22 TestAutofillDriver(); 23 virtual ~TestAutofillDriver(); 24 25 // AutofillDriver implementation. 26 virtual bool IsOffTheRecord() const OVERRIDE; 27 // Returns the value passed in to the last call to |SetURLRequestContext()| 28 // or NULL if that method has never been called. 29 virtual net::URLRequestContextGetter* GetURLRequestContext() OVERRIDE; 30 virtual base::SequencedWorkerPool* GetBlockingPool() OVERRIDE; 31 virtual bool RendererIsAvailable() OVERRIDE; 32 virtual void SendFormDataToRenderer(int query_id, 33 RendererFormDataAction action, 34 const FormData& data) OVERRIDE; 35 virtual void SendAutofillTypePredictionsToRenderer( 36 const std::vector<FormStructure*>& forms) OVERRIDE; 37 virtual void RendererShouldAcceptDataListSuggestion( 38 const base::string16& value) OVERRIDE; 39 virtual void RendererShouldClearFilledForm() OVERRIDE; 40 virtual void RendererShouldClearPreviewedForm() OVERRIDE; 41 virtual void RendererShouldFillFieldWithValue( 42 const base::string16& value) OVERRIDE; 43 virtual void RendererShouldPreviewFieldWithValue( 44 const base::string16& value) OVERRIDE; 45 46 // Methods that tests can use to specialize functionality. 47 48 // Sets the URL request context for this instance. |url_request_context| 49 // should outlive this instance. 50 void SetURLRequestContext(net::URLRequestContextGetter* url_request_context); 51 52 private: 53 scoped_ptr<base::SequencedWorkerPoolOwner> blocking_pool_owner_; 54 net::URLRequestContextGetter* url_request_context_; 55 56 DISALLOW_COPY_AND_ASSIGN(TestAutofillDriver); 57}; 58 59} // namespace autofill 60 61#endif // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_DRIVER_H_ 62