Chromium Code Reviews| Index: chrome/browser/chooser_controller/mock_chooser_controller.cc |
| diff --git a/chrome/browser/chooser_controller/mock_chooser_controller.cc b/chrome/browser/chooser_controller/mock_chooser_controller.cc |
| index 4334a8966587299309d2fa37a15f08b42ced6786..8ea7082a473ee0bb2105967a5b6b9971cf6778ea 100644 |
| --- a/chrome/browser/chooser_controller/mock_chooser_controller.cc |
| +++ b/chrome/browser/chooser_controller/mock_chooser_controller.cc |
| @@ -20,6 +20,10 @@ MockChooserController::MockChooserController(content::RenderFrameHost* owner) |
| MockChooserController::~MockChooserController() {} |
| +bool MockChooserController::ShouldShowIconBeforeText() const { |
| + return true; |
| +} |
| + |
| base::string16 MockChooserController::GetNoOptionsText() const { |
| return no_options_text_; |
| } |
| @@ -29,11 +33,15 @@ base::string16 MockChooserController::GetOkButtonLabel() const { |
| } |
| size_t MockChooserController::NumOptions() const { |
| - return option_names_.size(); |
| + return options_.size(); |
| +} |
| + |
| +int MockChooserController::GetSignalStrengthLevel(size_t index) const { |
| + return options_[index].signal_strength_level; |
| } |
| base::string16 MockChooserController::GetOption(size_t index) const { |
| - return option_names_[index]; |
| + return options_[index].name; |
| } |
| base::string16 MockChooserController::GetStatus() const { |
| @@ -89,34 +97,49 @@ void MockChooserController::OnDiscoveryStateChanged( |
| } |
| } |
| -void MockChooserController::OptionAdded(const base::string16& option_name) { |
| - option_names_.push_back(option_name); |
| +void MockChooserController::OptionAdded(const base::string16& option_name, |
| + int signal_strength_level) { |
| + options_.push_back({option_name, signal_strength_level}); |
| if (view()) |
| - view()->OnOptionAdded(option_names_.size() - 1); |
| + view()->OnOptionAdded(options_.size() - 1); |
| } |
| void MockChooserController::OptionRemoved(const base::string16& option_name) { |
| - auto it = std::find(option_names_.begin(), option_names_.end(), option_name); |
|
Jeffrey Yasskin
2016/08/19 18:30:05
Replace this with find_if and a lambda, instead of
juncai
2016/08/22 19:18:20
Done.
|
| - if (it != option_names_.end()) { |
| - size_t index = std::distance(option_names_.begin(), it); |
| - option_names_.erase(it); |
| - if (view()) |
| - view()->OnOptionRemoved(index); |
| + size_t index = 0; |
| + for (const auto& option : options_) { |
| + if (option.name == option_name) { |
| + options_.erase(options_.begin() + index); |
| + if (view()) |
| + view()->OnOptionRemoved(index); |
| + return; |
| + } |
| + ++index; |
| } |
| } |
| void MockChooserController::OptionUpdated( |
| const base::string16& previous_option_name, |
| - const base::string16& new_option_name) { |
| - auto it = std::find(option_names_.begin(), option_names_.end(), |
| - previous_option_name); |
| - DCHECK(it != option_names_.end()); |
| - size_t index = std::distance(option_names_.begin(), it); |
| - *it = new_option_name; |
| - if (view()) |
| - view()->OnOptionUpdated(index); |
| + const base::string16& new_option_name, |
| + int new_signal_strength_level) { |
| + size_t index = 0; |
| + for (auto& option : options_) { |
| + if (option.name == previous_option_name) { |
| + option = {new_option_name, new_signal_strength_level}; |
| + if (view()) |
| + view()->OnOptionUpdated(index); |
| + return; |
| + } |
| + ++index; |
| + } |
| } |
| +const int MockChooserController::kNoImage = -1; |
| +const int MockChooserController::kSignalStrengthLevel0Bar = 0; |
| +const int MockChooserController::kSignalStrengthLevel1Bar = 1; |
| +const int MockChooserController::kSignalStrengthLevel2Bar = 2; |
| +const int MockChooserController::kSignalStrengthLevel3Bar = 3; |
| +const int MockChooserController::kSignalStrengthLevel4Bar = 4; |
| + |
| void MockChooserController::ClearAllOptions() { |
| - option_names_.clear(); |
| + options_.clear(); |
| } |