15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_BROWSER_UI_TOOLBAR_TEST_TOOLBAR_MODEL_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_BROWSER_UI_TOOLBAR_TEST_TOOLBAR_MODEL_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/compiler_specific.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string16.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/toolbar/toolbar_model.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// A ToolbarModel that is backed by instance variables, which are initialized
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// with some basic values that can be changed with the provided setters. This
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// should be used only for testing.
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class TestToolbarModel : public ToolbarModel {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public:
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  TestToolbarModel();
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual ~TestToolbarModel();
19a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  virtual base::string16 GetText() const OVERRIDE;
2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  virtual base::string16 GetFormattedURL(size_t* prefix_end) const OVERRIDE;
21a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  virtual base::string16 GetCorpusNameForMobile() const OVERRIDE;
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual GURL GetURL() const OVERRIDE;
23d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  virtual bool WouldPerformSearchTermReplacement(
24ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch      bool ignore_editing) const OVERRIDE;
25ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  virtual SecurityLevel GetSecurityLevel(bool ignore_editing) const OVERRIDE;
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual int GetIcon() const OVERRIDE;
27a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  virtual int GetIconForSecurityLevel(SecurityLevel level) const OVERRIDE;
28a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  virtual base::string16 GetEVCertName() const OVERRIDE;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool ShouldDisplayURL() const OVERRIDE;
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
31a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  void set_text(const base::string16& text) { text_ = text; }
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void set_url(const GURL& url) { url_ = url;}
33a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  void set_omit_url_due_to_origin_chip(bool omit_url_due_to_origin_chip) {
34a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    omit_url_due_to_origin_chip_ = omit_url_due_to_origin_chip;
35a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  }
36a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  void set_perform_search_term_replacement(
37a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)      bool perform_search_term_replacement) {
38a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    perform_search_term_replacement_ = perform_search_term_replacement;
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void set_security_level(SecurityLevel security_level) {
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    security_level_ = security_level;
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void set_icon(int icon) { icon_ = icon; }
44a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  void set_ev_cert_name(const base::string16& ev_cert_name) {
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ev_cert_name_ = ev_cert_name;
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void set_should_display_url(bool should_display_url) {
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    should_display_url_ = should_display_url;
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private:
52a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  virtual bool WouldOmitURLDueToOriginChip() const OVERRIDE;
53a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
54a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  base::string16 text_;
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GURL url_;
56a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  bool omit_url_due_to_origin_chip_;
57a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  bool perform_search_term_replacement_;
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  SecurityLevel security_level_;
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  int icon_;
60a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  base::string16 ev_cert_name_;
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bool should_display_url_;
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(TestToolbarModel);
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // CHROME_BROWSER_UI_TOOLBAR_TEST_TOOLBAR_MODEL_H_
67