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

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: 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/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;
54 virtual void PermissionGranted() OVERRIDE; 55 virtual void PermissionGranted() OVERRIDE;
55 virtual void PermissionDenied() OVERRIDE; 56 virtual void PermissionDenied() OVERRIDE;
56 virtual void Cancelled() OVERRIDE; 57 virtual void Cancelled() OVERRIDE;
57 virtual void RequestFinished() OVERRIDE; 58 virtual void RequestFinished() OVERRIDE;
58 59
59 private: 60 private:
60 scoped_refptr<ChromeQuotaPermissionContext> context_; 61 scoped_refptr<ChromeQuotaPermissionContext> context_;
61 GURL origin_url_; 62 GURL origin_url_;
62 std::string display_languages_; 63 std::string display_languages_;
63 int64 requested_quota_; 64 int64 requested_quota_;
64 content::QuotaPermissionContext::PermissionCallback callback_; 65 content::QuotaPermissionContext::PermissionCallback callback_;
65 66
66 DISALLOW_COPY_AND_ASSIGN(QuotaPermissionRequest); 67 DISALLOW_COPY_AND_ASSIGN(QuotaPermissionRequest);
67 }; 68 };
68 69
69 QuotaPermissionRequest::QuotaPermissionRequest( 70 QuotaPermissionRequest::QuotaPermissionRequest(
70 ChromeQuotaPermissionContext* context, 71 ChromeQuotaPermissionContext* context,
71 const GURL& origin_url, 72 const GURL& origin_url,
72 int64 requested_quota, 73 int64 requested_quota,
73 const std::string& display_languages, 74 const std::string& display_languages,
74 const content::QuotaPermissionContext::PermissionCallback& callback) 75 const content::QuotaPermissionContext::PermissionCallback& callback)
75 : context_(context), 76 : context_(context),
76 origin_url_(origin_url), 77 origin_url_(origin_url),
77 display_languages_(display_languages), 78 display_languages_(display_languages),
78 requested_quota_(requested_quota), 79 requested_quota_(requested_quota),
79 callback_(callback) {} 80 callback_(callback) {}
80 81
81 QuotaPermissionRequest::~QuotaPermissionRequest() {} 82 QuotaPermissionRequest::~QuotaPermissionRequest() {}
82 83
84 int QuotaPermissionRequest::GetIconID() const {
85 // TODO(gbillock): get the proper image here
86 return IDR_INFOBAR_WARNING;
87 }
88
83 base::string16 QuotaPermissionRequest::GetMessageText() const { 89 base::string16 QuotaPermissionRequest::GetMessageText() const {
84 return l10n_util::GetStringFUTF16( 90 return l10n_util::GetStringFUTF16(
85 (requested_quota_ > kRequestLargeQuotaThreshold ? 91 (requested_quota_ > kRequestLargeQuotaThreshold ?
86 IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION : 92 IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION :
87 IDS_REQUEST_QUOTA_INFOBAR_QUESTION), 93 IDS_REQUEST_QUOTA_INFOBAR_QUESTION),
88 net::FormatUrl(origin_url_, display_languages_)); 94 net::FormatUrl(origin_url_, display_languages_));
89 } 95 }
90 96
91 base::string16 QuotaPermissionRequest::GetMessageTextFragment() const { 97 base::string16 QuotaPermissionRequest::GetMessageTextFragment() const {
92 return l10n_util::GetStringUTF16(IDS_REQUEST_QUOTA_PERMISSION_FRAGMENT); 98 return l10n_util::GetStringUTF16(IDS_REQUEST_QUOTA_PERMISSION_FRAGMENT);
93 } 99 }
94 100
95 base::string16 QuotaPermissionRequest::GetAlternateAcceptButtonText() const { 101 bool QuotaPermissionRequest::HasUserGesture() const {
96 return base::string16(); 102 // TODO(gbillock): plumb this through
97 } 103 return false;
98
99 base::string16 QuotaPermissionRequest::GetAlternateDenyButtonText() const {
100 return base::string16();
101 } 104 }
102 105
103 void QuotaPermissionRequest::PermissionGranted() { 106 void QuotaPermissionRequest::PermissionGranted() {
104 context_->DispatchCallbackOnIOThread( 107 context_->DispatchCallbackOnIOThread(
105 callback_, 108 callback_,
106 content::QuotaPermissionContext::QUOTA_PERMISSION_RESPONSE_ALLOW); 109 content::QuotaPermissionContext::QUOTA_PERMISSION_RESPONSE_ALLOW);
107 callback_ = content::QuotaPermissionContext::PermissionCallback(); 110 callback_ = content::QuotaPermissionContext::PermissionCallback();
108 } 111 }
109 112
110 void QuotaPermissionRequest::PermissionDenied() { 113 void QuotaPermissionRequest::PermissionDenied() {
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 content::BrowserThread::IO, FROM_HERE, 312 content::BrowserThread::IO, FROM_HERE,
310 base::Bind(&ChromeQuotaPermissionContext::DispatchCallbackOnIOThread, 313 base::Bind(&ChromeQuotaPermissionContext::DispatchCallbackOnIOThread,
311 this, callback, response)); 314 this, callback, response));
312 return; 315 return;
313 } 316 }
314 317
315 callback.Run(response); 318 callback.Run(response);
316 } 319 }
317 320
318 ChromeQuotaPermissionContext::~ChromeQuotaPermissionContext() {} 321 ChromeQuotaPermissionContext::~ChromeQuotaPermissionContext() {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698