test_autofill_client.h revision f8ee788a64d60abd8f2d742a5fdedde054ecd910
1c91307af2622f6625525f3c1f9c954376df950adChia-chi Yeh// Copyright 2014 The Chromium Authors. All rights reserved.
20a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang// Use of this source code is governed by a BSD-style license that can be
30a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang// found in the LICENSE file.
40a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
50a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_CLIENT_H_
60a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_CLIENT_H_
70a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
80a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#include "base/compiler_specific.h"
90a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#include "base/i18n/rtl.h"
100a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#include "base/memory/scoped_ptr.h"
110a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#include "base/prefs/pref_service.h"
120a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#include "components/autofill/core/browser/autofill_client.h"
130a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
140a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangnamespace autofill {
150a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
160a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang// This class is for easier writing of tests.
170a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangclass TestAutofillClient : public AutofillClient {
180a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang public:
190a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  TestAutofillClient();
200a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual ~TestAutofillClient();
210a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
220a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  // AutofillClient implementation.
230a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual PersonalDataManager* GetPersonalDataManager() OVERRIDE;
240a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual scoped_refptr<AutofillWebDataService> GetDatabase() OVERRIDE;
250a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual PrefService* GetPrefs() OVERRIDE;
260a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual void HideRequestAutocompleteDialog() OVERRIDE;
270a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual void ShowAutofillSettings() OVERRIDE;
280a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual void ConfirmSaveCreditCard(
290a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const AutofillMetrics& metric_logger,
300a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const base::Closure& save_card_callback) OVERRIDE;
310a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual void ShowRequestAutocompleteDialog(
320a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const FormData& form,
330a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const GURL& source_url,
340a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const ResultCallback& callback) OVERRIDE;
350a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual void ShowAutofillPopup(
360a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const gfx::RectF& element_bounds,
370a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      base::i18n::TextDirection text_direction,
380a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const std::vector<base::string16>& values,
390a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const std::vector<base::string16>& labels,
400a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const std::vector<base::string16>& icons,
410a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const std::vector<int>& identifiers,
420a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      base::WeakPtr<AutofillPopupDelegate> delegate) OVERRIDE;
430a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual void UpdateAutofillPopupDataListValues(
440a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const std::vector<base::string16>& values,
450a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const std::vector<base::string16>& labels) OVERRIDE;
460a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual void HideAutofillPopup() OVERRIDE;
470a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual bool IsAutocompleteEnabled() OVERRIDE;
480a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
490a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual void DetectAccountCreationForms(
500a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const std::vector<autofill::FormStructure*>& forms) OVERRIDE;
510a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
520a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  virtual void DidFillOrPreviewField(
530a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const base::string16& autofilled_value,
540a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang      const base::string16& profile_full_name) OVERRIDE;
550a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
560a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  void SetPrefs(scoped_ptr<PrefService> prefs) { prefs_ = prefs.Pass(); }
570a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
580a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang private:
590a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  // NULL by default.
600a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  scoped_ptr<PrefService> prefs_;
610a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
620a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang  DISALLOW_COPY_AND_ASSIGN(TestAutofillClient);
630a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang};
640a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
650a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang}  // namespace autofill
660a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang
670a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_CLIENT_H_
680a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang