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

Side by Side Diff: chrome/browser/chrome_quota_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: try 2 Created 6 years, 9 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
« no previous file with comments | « no previous file | chrome/browser/custom_handlers/register_protocol_handler_permission_request.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/chrome_quota_permission_context.h" 5 #include "chrome/browser/chrome_quota_permission_context.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "chrome/browser/infobars/confirm_infobar_delegate.h" 12 #include "chrome/browser/infobars/confirm_infobar_delegate.h"
13 #include "chrome/browser/infobars/infobar.h" 13 #include "chrome/browser/infobars/infobar.h"
14 #include "chrome/browser/infobars/infobar_service.h" 14 #include "chrome/browser/infobars/infobar_service.h"
15 #include "chrome/browser/profiles/profile.h" 15 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/tab_contents/tab_util.h" 16 #include "chrome/browser/tab_contents/tab_util.h"
17 #include "chrome/browser/ui/website_settings/permission_bubble_manager.h" 17 #include "chrome/browser/ui/website_settings/permission_bubble_manager.h"
18 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" 18 #include "chrome/browser/ui/website_settings/permission_bubble_request.h"
19 #include "chrome/common/pref_names.h" 19 #include "chrome/common/pref_names.h"
20 #include "content/public/browser/browser_thread.h" 20 #include "content/public/browser/browser_thread.h"
21 #include "content/public/browser/navigation_details.h" 21 #include "content/public/browser/navigation_details.h"
22 #include "content/public/browser/web_contents.h" 22 #include "content/public/browser/web_contents.h"
23 #include "grit/generated_resources.h" 23 #include "grit/generated_resources.h"
24 #include "grit/locale_settings.h" 24 #include "grit/locale_settings.h"
25 #include "grit/theme_resources.h"
25 #include "net/base/net_util.h" 26 #include "net/base/net_util.h"
26 #include "ui/base/l10n/l10n_util.h" 27 #include "ui/base/l10n/l10n_util.h"
27 #include "url/gurl.h" 28 #include "url/gurl.h"
28 #include "webkit/common/quota/quota_types.h" 29 #include "webkit/common/quota/quota_types.h"
29 30
30 namespace { 31 namespace {
31 32
32 // If the site requested larger quota than this threshold, show a different 33 // If the site requested larger quota than this threshold, show a different
33 // message to the user. 34 // message to the user.
34 const int64 kRequestLargeQuotaThreshold = 5 * 1024 * 1024; 35 const int64 kRequestLargeQuotaThreshold = 5 * 1024 * 1024;
35 36
36 // QuotaPermissionRequest --------------------------------------------- 37 // QuotaPermissionRequest ---------------------------------------------
37 38
38 class QuotaPermissionRequest : public PermissionBubbleRequest { 39 class QuotaPermissionRequest : public PermissionBubbleRequest {
39 public: 40 public:
40 QuotaPermissionRequest( 41 QuotaPermissionRequest(
41 ChromeQuotaPermissionContext* context, 42 ChromeQuotaPermissionContext* context,
42 const GURL& origin_url, 43 const GURL& origin_url,
43 int64 requested_quota, 44 int64 requested_quota,
44 const std::string& display_languages, 45 const std::string& display_languages,
45 const content::QuotaPermissionContext::PermissionCallback& callback); 46 const content::QuotaPermissionContext::PermissionCallback& callback);
46 47
47 virtual ~QuotaPermissionRequest(); 48 virtual ~QuotaPermissionRequest();
48 49
49 // PermissionBubbleRequest: 50 // PermissionBubbleRequest:
51 virtual int GetIconID() const OVERRIDE;
50 virtual base::string16 GetMessageText() const OVERRIDE; 52 virtual base::string16 GetMessageText() const OVERRIDE;
51 virtual base::string16 GetMessageTextFragment() const OVERRIDE; 53 virtual base::string16 GetMessageTextFragment() const OVERRIDE;
52 virtual base::string16 GetAlternateAcceptButtonText() const OVERRIDE; 54 virtual bool HasUserGesture() const OVERRIDE;
53 virtual base::string16 GetAlternateDenyButtonText() const OVERRIDE; 55 virtual GURL GetRequestingHostname() const OVERRIDE;
54 virtual void PermissionGranted() OVERRIDE; 56 virtual void PermissionGranted() OVERRIDE;
55 virtual void PermissionDenied() OVERRIDE; 57 virtual void PermissionDenied() OVERRIDE;
56 virtual void Cancelled() OVERRIDE; 58 virtual void Cancelled() OVERRIDE;
57 virtual void RequestFinished() OVERRIDE; 59 virtual void RequestFinished() OVERRIDE;
58 60
59 private: 61 private:
60 scoped_refptr<ChromeQuotaPermissionContext> context_; 62 scoped_refptr<ChromeQuotaPermissionContext> context_;
61 GURL origin_url_; 63 GURL origin_url_;
62 std::string display_languages_; 64 std::string display_languages_;
63 int64 requested_quota_; 65 int64 requested_quota_;
64 content::QuotaPermissionContext::PermissionCallback callback_; 66 content::QuotaPermissionContext::PermissionCallback callback_;
65 67
66 DISALLOW_COPY_AND_ASSIGN(QuotaPermissionRequest); 68 DISALLOW_COPY_AND_ASSIGN(QuotaPermissionRequest);
67 }; 69 };
68 70
69 QuotaPermissionRequest::QuotaPermissionRequest( 71 QuotaPermissionRequest::QuotaPermissionRequest(
70 ChromeQuotaPermissionContext* context, 72 ChromeQuotaPermissionContext* context,
71 const GURL& origin_url, 73 const GURL& origin_url,
72 int64 requested_quota, 74 int64 requested_quota,
73 const std::string& display_languages, 75 const std::string& display_languages,
74 const content::QuotaPermissionContext::PermissionCallback& callback) 76 const content::QuotaPermissionContext::PermissionCallback& callback)
75 : context_(context), 77 : context_(context),
76 origin_url_(origin_url), 78 origin_url_(origin_url),
77 display_languages_(display_languages), 79 display_languages_(display_languages),
78 requested_quota_(requested_quota), 80 requested_quota_(requested_quota),
79 callback_(callback) {} 81 callback_(callback) {}
80 82
81 QuotaPermissionRequest::~QuotaPermissionRequest() {} 83 QuotaPermissionRequest::~QuotaPermissionRequest() {}
82 84
85 int QuotaPermissionRequest::GetIconID() const {
86 // TODO(gbillock): get the proper image here
87 return IDR_INFOBAR_WARNING;
88 }
89
83 base::string16 QuotaPermissionRequest::GetMessageText() const { 90 base::string16 QuotaPermissionRequest::GetMessageText() const {
84 return l10n_util::GetStringFUTF16( 91 return l10n_util::GetStringFUTF16(
85 (requested_quota_ > kRequestLargeQuotaThreshold ? 92 (requested_quota_ > kRequestLargeQuotaThreshold ?
86 IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION : 93 IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION :
87 IDS_REQUEST_QUOTA_INFOBAR_QUESTION), 94 IDS_REQUEST_QUOTA_INFOBAR_QUESTION),
88 net::FormatUrl(origin_url_, display_languages_)); 95 net::FormatUrl(origin_url_, display_languages_));
89 } 96 }
90 97
91 base::string16 QuotaPermissionRequest::GetMessageTextFragment() const { 98 base::string16 QuotaPermissionRequest::GetMessageTextFragment() const {
92 return l10n_util::GetStringUTF16(IDS_REQUEST_QUOTA_PERMISSION_FRAGMENT); 99 return l10n_util::GetStringUTF16(IDS_REQUEST_QUOTA_PERMISSION_FRAGMENT);
93 } 100 }
94 101
95 base::string16 QuotaPermissionRequest::GetAlternateAcceptButtonText() const { 102 bool QuotaPermissionRequest::HasUserGesture() const {
96 return base::string16(); 103 // TODO(gbillock): plumb this through
104 return false;
97 } 105 }
98 106
99 base::string16 QuotaPermissionRequest::GetAlternateDenyButtonText() const { 107 GURL QuotaPermissionRequest::GetRequestingHostname() const {
100 return base::string16(); 108 return origin_url_;
101 } 109 }
102 110
103 void QuotaPermissionRequest::PermissionGranted() { 111 void QuotaPermissionRequest::PermissionGranted() {
104 context_->DispatchCallbackOnIOThread( 112 context_->DispatchCallbackOnIOThread(
105 callback_, 113 callback_,
106 content::QuotaPermissionContext::QUOTA_PERMISSION_RESPONSE_ALLOW); 114 content::QuotaPermissionContext::QUOTA_PERMISSION_RESPONSE_ALLOW);
107 callback_ = content::QuotaPermissionContext::PermissionCallback(); 115 callback_ = content::QuotaPermissionContext::PermissionCallback();
108 } 116 }
109 117
110 void QuotaPermissionRequest::PermissionDenied() { 118 void QuotaPermissionRequest::PermissionDenied() {
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 content::BrowserThread::IO, FROM_HERE, 317 content::BrowserThread::IO, FROM_HERE,
310 base::Bind(&ChromeQuotaPermissionContext::DispatchCallbackOnIOThread, 318 base::Bind(&ChromeQuotaPermissionContext::DispatchCallbackOnIOThread,
311 this, callback, response)); 319 this, callback, response));
312 return; 320 return;
313 } 321 }
314 322
315 callback.Run(response); 323 callback.Run(response);
316 } 324 }
317 325
318 ChromeQuotaPermissionContext::~ChromeQuotaPermissionContext() {} 326 ChromeQuotaPermissionContext::~ChromeQuotaPermissionContext() {}
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/custom_handlers/register_protocol_handler_permission_request.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698