test_autofill_driver.h revision 4e180b6a0b4720a9b8e9e959a882386f690f08ff
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#include "content/public/browser/web_contents_observer.h" 13 14namespace autofill { 15 16// This class is only for easier writing of tests. 17// TODO(blundell): Eliminate this class being a WebContentsObserver once 18// autofill shared code no longer needs knowledge of WebContents. 19class TestAutofillDriver : public AutofillDriver, 20 public content::WebContentsObserver { 21 public: 22 explicit TestAutofillDriver(content::WebContents* web_contents); 23 virtual ~TestAutofillDriver(); 24 25 // AutofillDriver implementation. 26 virtual content::WebContents* GetWebContents() OVERRIDE; 27 virtual base::SequencedWorkerPool* GetBlockingPool() OVERRIDE; 28 virtual bool RendererIsAvailable() OVERRIDE; 29 virtual void SetRendererActionOnFormDataReception( 30 RendererFormDataAction action) OVERRIDE; 31 virtual void SendFormDataToRenderer(int query_id, 32 const FormData& data) OVERRIDE; 33 virtual void SendAutofillTypePredictionsToRenderer( 34 const std::vector<FormStructure*>& forms) OVERRIDE; 35 virtual void RendererShouldClearFilledForm() OVERRIDE; 36 virtual void RendererShouldClearPreviewedForm() OVERRIDE; 37 38 private: 39 scoped_refptr<base::SequencedWorkerPool> blocking_pool_; 40 41 DISALLOW_COPY_AND_ASSIGN(TestAutofillDriver); 42}; 43 44} // namespace autofill 45 46#endif // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_DRIVER_H_ 47