protocol_dialog_delegate.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 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#ifndef CHROME_BROWSER_UI_PROTOCOL_DIALOG_DELEGATE_H_ 6#define CHROME_BROWSER_UI_PROTOCOL_DIALOG_DELEGATE_H_ 7 8#include "base/basictypes.h" 9#include "googleurl/src/gurl.h" 10 11// Interface implemented by objects that wish to show a dialog box Window for 12// handling special protocols. The window that is displayed uses this interface 13// to determine the text displayed and notify the delegate object of certain 14// events. 15class ProtocolDialogDelegate { 16 public: 17 explicit ProtocolDialogDelegate(const GURL& url) : url_(url) {} 18 virtual ~ProtocolDialogDelegate() {} 19 20 // Called if the user has chosen to launch the application for this protocol. 21 // |dont_block| is true if the checkbox to prevent future instances of this 22 // dialog is checked. 23 virtual void DoAccept(const GURL& url, bool dont_block) const = 0; 24 25 // Called if the user has chosen to do nothing for this protocol. 26 // |dont_block| is true if the checkbox to prevent future instances of this 27 // dialog is checked. 28 virtual void DoCancel(const GURL& url, bool dont_block) const = 0; 29 30 virtual string16 GetMessageText() const = 0; 31 virtual string16 GetCheckboxText() const = 0; 32 virtual string16 GetTitleText() const = 0; 33 34 const GURL& url() const { return url_; } 35 36 private: 37 const GURL url_; 38}; 39 40#endif // CHROME_BROWSER_UI_PROTOCOL_DIALOG_DELEGATE_H_ 41