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"
14 class SequencedWorkerPoolOwner
;
19 // This class is only for easier writing of tests.
20 class TestAutofillDriver
: public AutofillDriver
{
23 ~TestAutofillDriver() override
;
25 // AutofillDriver implementation.
26 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 net::URLRequestContextGetter
* GetURLRequestContext() override
;
30 base::SequencedWorkerPool
* GetBlockingPool() override
;
31 bool RendererIsAvailable() override
;
32 void SendFormDataToRenderer(int query_id
,
33 RendererFormDataAction action
,
34 const FormData
& data
) override
;
35 void PropagateAutofillPredictions(
36 const std::vector
<autofill::FormStructure
*>& forms
) override
;
37 void SendAutofillTypePredictionsToRenderer(
38 const std::vector
<FormStructure
*>& forms
) override
;
39 void RendererShouldAcceptDataListSuggestion(
40 const base::string16
& value
) override
;
41 void RendererShouldClearFilledForm() override
;
42 void RendererShouldClearPreviewedForm() override
;
43 void RendererShouldFillFieldWithValue(const base::string16
& value
) override
;
44 void RendererShouldPreviewFieldWithValue(
45 const base::string16
& value
) override
;
46 void PopupHidden() override
;
48 // Methods that tests can use to specialize functionality.
50 // Sets the URL request context for this instance. |url_request_context|
51 // should outlive this instance.
52 void SetURLRequestContext(net::URLRequestContextGetter
* url_request_context
);
55 scoped_ptr
<base::SequencedWorkerPoolOwner
> blocking_pool_owner_
;
56 net::URLRequestContextGetter
* url_request_context_
;
58 DISALLOW_COPY_AND_ASSIGN(TestAutofillDriver
);
61 } // namespace autofill
63 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_DRIVER_H_