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