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

Side by Side Diff: chrome/browser/geolocation/chrome_geolocation_permission_context.cc

Issue 176053002: [WebsiteSettings] Change permission bubble API to adapt to new mocks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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 (c) 2012 The Chromium Authors. All rights reserved. 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 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 #include "chrome/browser/geolocation/chrome_geolocation_permission_context.h" 5 #include "chrome/browser/geolocation/chrome_geolocation_permission_context.h"
6 6
7 #include <functional> 7 #include <functional>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 10 matching lines...) Expand all
21 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" 21 #include "chrome/browser/ui/website_settings/permission_bubble_request.h"
22 #include "chrome/common/pref_names.h" 22 #include "chrome/common/pref_names.h"
23 #include "content/public/browser/browser_thread.h" 23 #include "content/public/browser/browser_thread.h"
24 #include "content/public/browser/render_view_host.h" 24 #include "content/public/browser/render_view_host.h"
25 #include "content/public/browser/web_contents.h" 25 #include "content/public/browser/web_contents.h"
26 #include "extensions/browser/extension_registry.h" 26 #include "extensions/browser/extension_registry.h"
27 #include "extensions/browser/process_map.h" 27 #include "extensions/browser/process_map.h"
28 #include "extensions/browser/view_type_utils.h" 28 #include "extensions/browser/view_type_utils.h"
29 #include "extensions/common/extension.h" 29 #include "extensions/common/extension.h"
30 #include "grit/generated_resources.h" 30 #include "grit/generated_resources.h"
31 #include "grit/theme_resources.h"
31 #include "net/base/net_util.h" 32 #include "net/base/net_util.h"
32 #include "ui/base/l10n/l10n_util.h" 33 #include "ui/base/l10n/l10n_util.h"
33 34
34 using extensions::APIPermission; 35 using extensions::APIPermission;
35 using extensions::ExtensionRegistry; 36 using extensions::ExtensionRegistry;
36 37
37 class GeolocationPermissionRequest : public PermissionBubbleRequest { 38 class GeolocationPermissionRequest : public PermissionBubbleRequest {
38 public: 39 public:
39 GeolocationPermissionRequest( 40 GeolocationPermissionRequest(
40 ChromeGeolocationPermissionContext* context, 41 ChromeGeolocationPermissionContext* context,
41 const PermissionRequestID& id, 42 const PermissionRequestID& id,
42 const GURL& requesting_frame, 43 const GURL& requesting_frame,
43 base::Callback<void(bool)> callback, 44 base::Callback<void(bool)> callback,
44 const std::string& display_languages); 45 const std::string& display_languages);
45 virtual ~GeolocationPermissionRequest(); 46 virtual ~GeolocationPermissionRequest();
46 47
47 // PermissionBubbleDelegate: 48 // PermissionBubbleDelegate:
49 virtual int GetIconID() const OVERRIDE;
48 virtual base::string16 GetMessageText() const OVERRIDE; 50 virtual base::string16 GetMessageText() const OVERRIDE;
49 virtual base::string16 GetMessageTextFragment() const OVERRIDE; 51 virtual base::string16 GetMessageTextFragment() const OVERRIDE;
50 virtual base::string16 GetAlternateAcceptButtonText() const OVERRIDE; 52 virtual bool HasUserGesture() const OVERRIDE;
51 virtual base::string16 GetAlternateDenyButtonText() const OVERRIDE;
52 virtual void PermissionGranted() OVERRIDE; 53 virtual void PermissionGranted() OVERRIDE;
53 virtual void PermissionDenied() OVERRIDE; 54 virtual void PermissionDenied() OVERRIDE;
54 virtual void Cancelled() OVERRIDE; 55 virtual void Cancelled() OVERRIDE;
55 virtual void RequestFinished() OVERRIDE; 56 virtual void RequestFinished() OVERRIDE;
56 57
57 private: 58 private:
58 ChromeGeolocationPermissionContext* context_; 59 ChromeGeolocationPermissionContext* context_;
59 PermissionRequestID id_; 60 PermissionRequestID id_;
60 GURL requesting_frame_; 61 GURL requesting_frame_;
61 base::Callback<void(bool)> callback_; 62 base::Callback<void(bool)> callback_;
62 std::string display_languages_; 63 std::string display_languages_;
63 }; 64 };
64 65
65 GeolocationPermissionRequest::GeolocationPermissionRequest( 66 GeolocationPermissionRequest::GeolocationPermissionRequest(
66 ChromeGeolocationPermissionContext* context, 67 ChromeGeolocationPermissionContext* context,
67 const PermissionRequestID& id, 68 const PermissionRequestID& id,
68 const GURL& requesting_frame, 69 const GURL& requesting_frame,
69 base::Callback<void(bool)> callback, 70 base::Callback<void(bool)> callback,
70 const std::string& display_languages) 71 const std::string& display_languages)
71 : context_(context), 72 : context_(context),
72 id_(id), 73 id_(id),
73 requesting_frame_(requesting_frame), 74 requesting_frame_(requesting_frame),
74 callback_(callback), 75 callback_(callback),
75 display_languages_(display_languages) {} 76 display_languages_(display_languages) {}
76 77
77 GeolocationPermissionRequest::~GeolocationPermissionRequest() {} 78 GeolocationPermissionRequest::~GeolocationPermissionRequest() {}
78 79
80 int GeolocationPermissionRequest::GetIconID() const {
81 return IDR_GEOLOCATION_INFOBAR_ICON;
82 }
83
79 base::string16 GeolocationPermissionRequest::GetMessageText() const { 84 base::string16 GeolocationPermissionRequest::GetMessageText() const {
80 return l10n_util::GetStringFUTF16(IDS_GEOLOCATION_INFOBAR_QUESTION, 85 return l10n_util::GetStringFUTF16(IDS_GEOLOCATION_INFOBAR_QUESTION,
81 net::FormatUrl(requesting_frame_, display_languages_)); 86 net::FormatUrl(requesting_frame_, display_languages_));
82 } 87 }
83 88
84 base::string16 GeolocationPermissionRequest::GetMessageTextFragment() const { 89 base::string16 GeolocationPermissionRequest::GetMessageTextFragment() const {
85 return l10n_util::GetStringUTF16(IDS_GEOLOCATION_INFOBAR_PERMISSION_FRAGMENT); 90 return l10n_util::GetStringUTF16(IDS_GEOLOCATION_INFOBAR_PERMISSION_FRAGMENT);
86 } 91 }
87 92
88 base::string16 93 bool GeolocationPermissionRequest::HasUserGesture() const {
89 GeolocationPermissionRequest::GetAlternateAcceptButtonText() const { 94 // TODO(gbillock): plumb this through from GeolocationDispatcher.
90 return l10n_util::GetStringUTF16(IDS_GEOLOCATION_ALLOW_BUTTON); 95 return false;
91 }
92
93 base::string16
94 GeolocationPermissionRequest::GetAlternateDenyButtonText() const {
95 return l10n_util::GetStringUTF16(IDS_GEOLOCATION_DENY_BUTTON);
96 } 96 }
97 97
98 void GeolocationPermissionRequest::PermissionGranted() { 98 void GeolocationPermissionRequest::PermissionGranted() {
99 context_->NotifyPermissionSet(id_, requesting_frame_, callback_, true); 99 context_->NotifyPermissionSet(id_, requesting_frame_, callback_, true);
100 } 100 }
101 101
102 void GeolocationPermissionRequest::PermissionDenied() { 102 void GeolocationPermissionRequest::PermissionDenied() {
103 context_->NotifyPermissionSet(id_, requesting_frame_, callback_, false); 103 context_->NotifyPermissionSet(id_, requesting_frame_, callback_, false);
104 } 104 }
105 105
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 190
191 DecidePermission(web_contents, id, requesting_frame_origin, 191 DecidePermission(web_contents, id, requesting_frame_origin,
192 embedder, callback); 192 embedder, callback);
193 } 193 }
194 194
195 void ChromeGeolocationPermissionContext::CancelGeolocationPermissionRequest( 195 void ChromeGeolocationPermissionContext::CancelGeolocationPermissionRequest(
196 int render_process_id, 196 int render_process_id,
197 int render_view_id, 197 int render_view_id,
198 int bridge_id, 198 int bridge_id,
199 const GURL& requesting_frame) { 199 const GURL& requesting_frame) {
200 // TODO(gbillock): cancel permission bubble request.
200 CancelPendingInfobarRequest(PermissionRequestID( 201 CancelPendingInfobarRequest(PermissionRequestID(
201 render_process_id, render_view_id, bridge_id, 0)); 202 render_process_id, render_view_id, bridge_id, 0));
202 } 203 }
203 204
204 void ChromeGeolocationPermissionContext::DecidePermission( 205 void ChromeGeolocationPermissionContext::DecidePermission(
205 content::WebContents* web_contents, 206 content::WebContents* web_contents,
206 const PermissionRequestID& id, 207 const PermissionRequestID& id,
207 const GURL& requesting_frame, 208 const GURL& requesting_frame,
208 const GURL& embedder, 209 const GURL& embedder,
209 base::Callback<void(bool)> callback) { 210 base::Callback<void(bool)> callback) {
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 this, id)); 298 this, id));
298 return; 299 return;
299 } 300 }
300 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 301 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
301 if (shutting_down_) 302 if (shutting_down_)
302 return; 303 return;
303 304
304 // TODO(gbillock): handle permission bubble cancellation. 305 // TODO(gbillock): handle permission bubble cancellation.
305 QueueController()->CancelInfoBarRequest(id); 306 QueueController()->CancelInfoBarRequest(id);
306 } 307 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698