test_autofill_driver.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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 SetRendererActionOnFormDataReception( 33 RendererFormDataAction action) OVERRIDE; 34 virtual void SendFormDataToRenderer(int query_id, 35 const FormData& data) OVERRIDE; 36 virtual void SendAutofillTypePredictionsToRenderer( 37 const std::vector<FormStructure*>& forms) OVERRIDE; 38 virtual void RendererShouldAcceptDataListSuggestion( 39 const base::string16& value) OVERRIDE; 40 virtual void RendererShouldAcceptPasswordAutofillSuggestion( 41 const base::string16& username) OVERRIDE; 42 virtual void RendererShouldClearFilledForm() OVERRIDE; 43 virtual void RendererShouldClearPreviewedForm() OVERRIDE; 44 virtual void RendererShouldSetNodeText(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