Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Side by Side Diff: chrome/browser/content_settings/permission_bubble_request_impl.h

Issue 371933002: Add UMA for the new generic permisison class (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_CONTENT_SETTINGS_PERMISSION_BUBBLE_REQUEST_IMPL_H_ 5 #ifndef CHROME_BROWSER_CONTENT_SETTINGS_PERMISSION_BUBBLE_REQUEST_IMPL_H_
6 #define CHROME_BROWSER_CONTENT_SETTINGS_PERMISSION_BUBBLE_REQUEST_IMPL_H_ 6 #define CHROME_BROWSER_CONTENT_SETTINGS_PERMISSION_BUBBLE_REQUEST_IMPL_H_
7 7
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "chrome/browser/content_settings/permission_request_id.h" 9 #include "chrome/browser/content_settings/permission_request_id.h"
10 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" 10 #include "chrome/browser/ui/website_settings/permission_bubble_request.h"
11 #include "chrome/common/content_settings_types.h" 11 #include "chrome/common/content_settings_types.h"
12 12
13 class GURL; 13 class GURL;
14 14
15 class PermissionContextBase; 15 class PermissionContextBase;
16 16
17 // Default implementation of PermissionBubbleRequest, it is assumed that the 17 // Default implementation of PermissionBubbleRequest, it is assumed that the
18 // caller owns it and that it can be deleted once the |delete_callback| 18 // caller owns it and that it can be deleted once the |delete_callback|
19 // is executed. 19 // is executed.
20 class PermissionBubbleRequestImpl : public PermissionBubbleRequest { 20 class PermissionBubbleRequestImpl : public PermissionBubbleRequest {
21 public: 21 public:
22 22
23 typedef base::Callback<void(bool persist_permission, bool grant_permission)> 23 typedef base::Callback<void(bool persist_permission, bool grant_permission)>
24 PermissionDecidedCallback; 24 PermissionDecidedCallback;
25 25
26 PermissionBubbleRequestImpl( 26 PermissionBubbleRequestImpl(
27 const GURL& request_origin, 27 const GURL& request_origin,
28 bool user_gesture, 28 bool user_gesture,
29 ContentSettingsType type, 29 ContentSettingsType type,
30 const std::string& display_languages, 30 const std::string& display_languages,
31 const PermissionDecidedCallback permission_decided_callback, 31 const PermissionDecidedCallback permission_decided_callback,
32 const base::Closure delete_callback); 32 const base::Closure delete_callback);
33 33
34 virtual ~PermissionBubbleRequestImpl(); 34 virtual ~PermissionBubbleRequestImpl();
35 35
36 // PermissionBubbleRequest: 36 // PermissionBubbleRequest:
37 virtual int GetIconID() const OVERRIDE; 37 virtual int GetIconID() const OVERRIDE;
38 virtual base::string16 GetMessageText() const OVERRIDE; 38 virtual base::string16 GetMessageText() const OVERRIDE;
39 virtual base::string16 GetMessageTextFragment() const OVERRIDE; 39 virtual base::string16 GetMessageTextFragment() const OVERRIDE;
40 virtual bool HasUserGesture() const OVERRIDE; 40 virtual bool HasUserGesture() const OVERRIDE;
41 41
42 // TODO(miguelg) Change this method to GetOrigin() 42 // TODO(miguelg) Change this method to GetOrigin()
43 virtual GURL GetRequestingHostname() const OVERRIDE; 43 virtual GURL GetRequestingHostname() const OVERRIDE;
44
45 // Remember to call RegisterActionTaken for these methods if you are
46 // overriding them.
44 virtual void PermissionGranted() OVERRIDE; 47 virtual void PermissionGranted() OVERRIDE;
45 virtual void PermissionDenied() OVERRIDE; 48 virtual void PermissionDenied() OVERRIDE;
46 virtual void Cancelled() OVERRIDE; 49 virtual void Cancelled() OVERRIDE;
47 virtual void RequestFinished() OVERRIDE; 50 virtual void RequestFinished() OVERRIDE;
48 51
52 protected:
53 void RegisterActionTaken() { action_taken_ = true; }
54
49 private: 55 private:
50 GURL request_origin_; 56 GURL request_origin_;
51 bool user_gesture_; 57 bool user_gesture_;
52 ContentSettingsType type_; 58 ContentSettingsType type_;
53 std::string display_languages_; 59 std::string display_languages_;
54 60
55 // Called once a decision is made about the permission. 61 // Called once a decision is made about the permission.
56 const PermissionDecidedCallback permission_decided_callback_; 62 const PermissionDecidedCallback permission_decided_callback_;
57 63
58 // Called when the bubble is no longer in use so it can be deleted by 64 // Called when the bubble is no longer in use so it can be deleted by
59 // the caller. 65 // the caller.
60 const base::Closure delete_callback_; 66 const base::Closure delete_callback_;
61 bool is_finished_; 67 bool is_finished_;
68 bool action_taken_;
62 69
63 DISALLOW_COPY_AND_ASSIGN(PermissionBubbleRequestImpl); 70 DISALLOW_COPY_AND_ASSIGN(PermissionBubbleRequestImpl);
64 }; 71 };
65 72
66 #endif // CHROME_BROWSER_CONTENT_SETTINGS_PERMISSION_BUBBLE_REQUEST_IMPL_H_ 73 #endif // CHROME_BROWSER_CONTENT_SETTINGS_PERMISSION_BUBBLE_REQUEST_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698