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.
5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_DRIVER_H_
6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_DRIVER_H_
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"
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.
19 class TestAutofillDriver : public AutofillDriver,
20 public content::WebContentsObserver {
22 explicit TestAutofillDriver(content::WebContents* web_contents);
23 virtual ~TestAutofillDriver();
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;
39 scoped_refptr<base::SequencedWorkerPool> blocking_pool_;
41 DISALLOW_COPY_AND_ASSIGN(TestAutofillDriver);
44 } // namespace autofill
46 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_DRIVER_H_