app_list_test_view_delegate.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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#include "ui/app_list/test/app_list_test_view_delegate.h"
6
7#include <string>
8
9#include "base/callback.h"
10#include "base/files/file_path.h"
11#include "ui/app_list/app_list_model.h"
12#include "ui/app_list/app_list_view_delegate_observer.h"
13#include "ui/app_list/signin_delegate.h"
14#include "ui/app_list/test/app_list_test_model.h"
15#include "ui/gfx/image/image_skia.h"
16
17namespace app_list {
18namespace test {
19
20class TestSigninDelegate : public SigninDelegate {
21 public:
22  TestSigninDelegate() : signed_in_(true) {}
23
24  void set_signed_in(bool signed_in) { signed_in_ = signed_in; }
25
26  // SigninDelegate overrides:
27  virtual bool NeedSignin() OVERRIDE { return !signed_in_; }
28  virtual void ShowSignin() OVERRIDE {}
29  virtual void OpenLearnMore() OVERRIDE {}
30  virtual void OpenSettings() OVERRIDE {}
31
32  virtual base::string16 GetSigninHeading() OVERRIDE {
33    return base::string16();
34  }
35  virtual base::string16 GetSigninText() OVERRIDE { return base::string16(); }
36  virtual base::string16 GetSigninButtonText() OVERRIDE {
37    return base::string16();
38  }
39  virtual base::string16 GetLearnMoreLinkText() OVERRIDE {
40    return base::string16();
41  }
42  virtual base::string16 GetSettingsLinkText() OVERRIDE {
43    return base::string16();
44  }
45
46 private:
47  bool signed_in_;
48
49  DISALLOW_COPY_AND_ASSIGN(TestSigninDelegate);
50};
51
52AppListTestViewDelegate::AppListTestViewDelegate()
53    : dismiss_count_(0),
54      open_search_result_count_(0),
55      test_signin_delegate_(new TestSigninDelegate),
56      model_(new AppListTestModel),
57      speech_ui_(SPEECH_RECOGNITION_OFF) {
58}
59
60AppListTestViewDelegate::~AppListTestViewDelegate() {}
61
62void AppListTestViewDelegate::SetSignedIn(bool signed_in) {
63  test_signin_delegate_->set_signed_in(signed_in);
64  FOR_EACH_OBSERVER(AppListViewDelegateObserver,
65                    observers_,
66                    OnProfilesChanged());
67}
68
69bool AppListTestViewDelegate::ForceNativeDesktop() const {
70  return false;
71}
72
73AppListModel* AppListTestViewDelegate::GetModel() {
74  return model_.get();
75}
76
77SigninDelegate* AppListTestViewDelegate::GetSigninDelegate() {
78  return test_signin_delegate_.get();
79}
80
81SpeechUIModel* AppListTestViewDelegate::GetSpeechUI() {
82  return &speech_ui_;
83}
84
85void AppListTestViewDelegate::GetShortcutPathForApp(
86    const std::string& app_id,
87    const base::Callback<void(const base::FilePath&)>& callback) {
88  callback.Run(base::FilePath());
89}
90
91void AppListTestViewDelegate::OpenSearchResult(SearchResult* result,
92                                               bool auto_launch,
93                                               int event_flags) {
94  const AppListModel::SearchResults* results = model_->results();
95  for (size_t i = 0; i < results->item_count(); ++i) {
96    if (results->GetItemAt(i) == result) {
97      open_search_result_counts_[i]++;
98      break;
99    }
100  }
101  ++open_search_result_count_;
102}
103
104base::TimeDelta AppListTestViewDelegate::GetAutoLaunchTimeout() {
105  return auto_launch_timeout_;
106}
107
108void AppListTestViewDelegate::AutoLaunchCanceled() {
109  auto_launch_timeout_ = base::TimeDelta();
110}
111
112void AppListTestViewDelegate::Dismiss() {
113  ++dismiss_count_;
114}
115
116gfx::ImageSkia AppListTestViewDelegate::GetWindowIcon() {
117  return gfx::ImageSkia();
118}
119
120content::WebContents* AppListTestViewDelegate::GetStartPageContents() {
121  return NULL;
122}
123
124content::WebContents* AppListTestViewDelegate::GetSpeechRecognitionContents() {
125  return NULL;
126}
127
128const AppListViewDelegate::Users& AppListTestViewDelegate::GetUsers() const {
129  return users_;
130}
131
132void AppListTestViewDelegate::ReplaceTestModel(int item_count) {
133  model_.reset(new AppListTestModel);
134  model_->PopulateApps(item_count);
135}
136
137void AppListTestViewDelegate::AddObserver(
138    AppListViewDelegateObserver* observer) {
139  observers_.AddObserver(observer);
140}
141
142void AppListTestViewDelegate::RemoveObserver(
143    AppListViewDelegateObserver* observer) {
144  observers_.RemoveObserver(observer);
145}
146
147}  // namespace test
148}  // namespace app_list
149