1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_TAB_CONTENTS_SPELLING_BUBBLE_MODEL_H_ 6 #define CHROME_BROWSER_TAB_CONTENTS_SPELLING_BUBBLE_MODEL_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "chrome/browser/ui/confirm_bubble_model.h" 11 12 class Profile; 13 14 namespace content { 15 class WebContents; 16 } 17 18 // A class that implements a bubble menu shown when we confirm a user allows 19 // integrating the spelling service of Google to Chrome. 20 class SpellingBubbleModel : public ConfirmBubbleModel { 21 public: 22 SpellingBubbleModel(Profile* profile, 23 content::WebContents* web_contents, 24 bool include_autocorrect); 25 virtual ~SpellingBubbleModel(); 26 27 // ConfirmBubbleModel implementation. 28 virtual string16 GetTitle() const OVERRIDE; 29 virtual string16 GetMessageText() const OVERRIDE; 30 virtual gfx::Image* GetIcon() const OVERRIDE; 31 virtual string16 GetButtonLabel(BubbleButton button) const OVERRIDE; 32 virtual void Accept() OVERRIDE; 33 virtual void Cancel() OVERRIDE; 34 virtual string16 GetLinkText() const OVERRIDE; 35 virtual void LinkClicked() OVERRIDE; 36 37 private: 38 // Set the profile preferences to enable or disable the feature. 39 void SetPref(bool enabled); 40 41 Profile* profile_; 42 content::WebContents* web_contents_; 43 bool include_autocorrect_; 44 45 DISALLOW_COPY_AND_ASSIGN(SpellingBubbleModel); 46 }; 47 48 #endif // CHROME_BROWSER_TAB_CONTENTS_SPELLING_BUBBLE_MODEL_H_ 49