| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_BUBBLE_REQUEST_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_BUBBLE_REQUEST_H_ |
| 6 #define CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_BUBBLE_REQUEST_H_ | 6 #define CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_BUBBLE_REQUEST_H_ |
| 7 | 7 |
| 8 #include "base/strings/string16.h" | 8 #include "base/strings/string16.h" |
| 9 #include "url/gurl.h" | 9 #include "url/gurl.h" |
| 10 | 10 |
| 11 // Describes the interface a feature utilizing permission bubbles should | 11 // Describes the interface a feature utilizing permission bubbles should |
| 12 // implement. A class of this type is registered with the permission bubble | 12 // implement. A class of this type is registered with the permission bubble |
| 13 // manager to receive updates about the result of the permissions request | 13 // manager to receive updates about the result of the permissions request |
| 14 // from the bubble. It should live until it is unregistered or until | 14 // from the bubble. It should live until it is unregistered or until |
| 15 // RequestFinished is called. | 15 // RequestFinished is called. |
| 16 // Note that no particular guarantees are made about what exact UI surface | 16 // Note that no particular guarantees are made about what exact UI surface |
| 17 // is presented to the user. The delegate may be coalesced with other bubble | 17 // is presented to the user. The delegate may be coalesced with other bubble |
| 18 // requests, or depending on the situation, not shown at all. | 18 // requests, or depending on the situation, not shown at all. |
| 19 class PermissionBubbleRequest { | 19 class PermissionBubbleRequest { |
| 20 public: | 20 public: |
| 21 enum Type { |
| 22 kQuota, |
| 23 kDownload, |
| 24 kGeolocation, |
| 25 kMedia, |
| 26 kOther |
| 27 }; |
| 21 virtual ~PermissionBubbleRequest() {} | 28 virtual ~PermissionBubbleRequest() {} |
| 22 | 29 |
| 30 virtual PermissionBubbleRequest::Type GetType() const = 0; |
| 31 |
| 23 // The icon to use next to the message text fragment in the permission bubble. | 32 // The icon to use next to the message text fragment in the permission bubble. |
| 24 // Must be a valid icon of size 16x16. (TODO(gbillock): tbd size) | 33 // Must be a valid icon of size 16x16. (TODO(gbillock): tbd size) |
| 25 virtual int GetIconID() const = 0; | 34 virtual int GetIconID() const = 0; |
| 26 | 35 |
| 27 // Returns the full prompt text for this permission. This is the only text | 36 // Returns the full prompt text for this permission. This is the only text |
| 28 // that will be shown in the single-permission case and should be phrased | 37 // that will be shown in the single-permission case and should be phrased |
| 29 // positively as a complete sentence. | 38 // positively as a complete sentence. |
| 30 virtual base::string16 GetMessageText() const = 0; | 39 virtual base::string16 GetMessageText() const = 0; |
| 31 | 40 |
| 32 // Returns the shortened prompt text for this permission. Must be phrased | 41 // Returns the shortened prompt text for this permission. Must be phrased |
| (...skipping 21 matching lines...) Expand all Loading... |
| 54 virtual void Cancelled() = 0; | 63 virtual void Cancelled() = 0; |
| 55 | 64 |
| 56 // The bubble this request was associated with was answered by the user. | 65 // The bubble this request was associated with was answered by the user. |
| 57 // It is safe for the request to be deleted at this point -- it will receive | 66 // It is safe for the request to be deleted at this point -- it will receive |
| 58 // no further message from the permission bubble system. This method will | 67 // no further message from the permission bubble system. This method will |
| 59 // eventually be called on every request which is not unregistered. | 68 // eventually be called on every request which is not unregistered. |
| 60 virtual void RequestFinished() = 0; | 69 virtual void RequestFinished() = 0; |
| 61 }; | 70 }; |
| 62 | 71 |
| 63 #endif // CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_BUBBLE_REQUEST_H_ | 72 #endif // CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_BUBBLE_REQUEST_H_ |
| OLD | NEW |