12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/test/test_confirm_bubble_model.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string16.h"
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "grit/theme_resources.h"
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/base/resource/resource_bundle.h"
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TestConfirmBubbleModel::TestConfirmBubbleModel(bool* model_deleted,
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                               bool* accept_clicked,
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                               bool* cancel_clicked,
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                               bool* link_clicked)
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : model_deleted_(model_deleted),
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      accept_clicked_(accept_clicked),
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      cancel_clicked_(cancel_clicked),
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      link_clicked_(link_clicked) {
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TestConfirmBubbleModel::~TestConfirmBubbleModel() {
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (model_deleted_)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    *model_deleted_ = true;
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 TestConfirmBubbleModel::GetTitle() const {
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  return base::ASCIIToUTF16("Test");
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 TestConfirmBubbleModel::GetMessageText() const {
325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  return base::ASCIIToUTF16("Test Message");
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)gfx::Image* TestConfirmBubbleModel::GetIcon() const {
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // Return an arbitrary non-empty image.
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return &ui::ResourceBundle::GetSharedInstance().GetImageNamed(
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      IDR_PRODUCT_LOGO_16);
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int TestConfirmBubbleModel::GetButtons() const {
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return BUTTON_OK | BUTTON_CANCEL;
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 TestConfirmBubbleModel::GetButtonLabel(
465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    BubbleButton button) const {
475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  return button == BUTTON_OK ? base::ASCIIToUTF16("OK")
485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                             : base::ASCIIToUTF16("Cancel");
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void TestConfirmBubbleModel::Accept() {
522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (accept_clicked_)
532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    *accept_clicked_ = true;
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void TestConfirmBubbleModel::Cancel() {
572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (cancel_clicked_)
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    *cancel_clicked_ = true;
592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 TestConfirmBubbleModel::GetLinkText() const {
625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  return base::ASCIIToUTF16("Link");
632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void TestConfirmBubbleModel::LinkClicked() {
662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (link_clicked_)
672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    *link_clicked_ = true;
682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
69