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

Side by Side Diff: chrome/browser/ui/views/website_settings/permissions_bubble_view.cc

Issue 882113004: Permission bubble should display URL with appropriate language pref (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make |languages_| const Created 5 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
« no previous file with comments | « chrome/browser/ui/views/website_settings/permissions_bubble_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "chrome/browser/ui/views/website_settings/permissions_bubble_view.h" 5 #include "chrome/browser/ui/views/website_settings/permissions_bubble_view.h"
6 6
7 #include "base/strings/string16.h" 7 #include "base/strings/string16.h"
8 #include "chrome/browser/ui/views/website_settings/permission_selector_view.h" 8 #include "chrome/browser/ui/views/website_settings/permission_selector_view.h"
9 #include "chrome/browser/ui/views/website_settings/permission_selector_view_obse rver.h" 9 #include "chrome/browser/ui/views/website_settings/permission_selector_view_obse rver.h"
10 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" 10 #include "chrome/browser/ui/website_settings/permission_bubble_request.h"
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 /////////////////////////////////////////////////////////////////////////////// 168 ///////////////////////////////////////////////////////////////////////////////
169 // View implementation for the permissions bubble. 169 // View implementation for the permissions bubble.
170 class PermissionsBubbleDelegateView : public views::BubbleDelegateView, 170 class PermissionsBubbleDelegateView : public views::BubbleDelegateView,
171 public views::ButtonListener, 171 public views::ButtonListener,
172 public views::ComboboxListener, 172 public views::ComboboxListener,
173 public PermissionCombobox::Listener { 173 public PermissionCombobox::Listener {
174 public: 174 public:
175 PermissionsBubbleDelegateView( 175 PermissionsBubbleDelegateView(
176 views::View* anchor, 176 views::View* anchor,
177 PermissionBubbleViewViews* owner, 177 PermissionBubbleViewViews* owner,
178 const std::string& languages,
178 const std::vector<PermissionBubbleRequest*>& requests, 179 const std::vector<PermissionBubbleRequest*>& requests,
179 const std::vector<bool>& accept_state, 180 const std::vector<bool>& accept_state,
180 bool customization_mode); 181 bool customization_mode);
181 ~PermissionsBubbleDelegateView() override; 182 ~PermissionsBubbleDelegateView() override;
182 183
183 void Close(); 184 void Close();
184 void SizeToContents(); 185 void SizeToContents();
185 186
186 // BubbleDelegateView: 187 // BubbleDelegateView:
187 bool ShouldShowCloseButton() const override; 188 bool ShouldShowCloseButton() const override;
(...skipping 19 matching lines...) Expand all
207 base::string16 hostname_; 208 base::string16 hostname_;
208 scoped_ptr<PermissionMenuModel> menu_button_model_; 209 scoped_ptr<PermissionMenuModel> menu_button_model_;
209 std::vector<PermissionCombobox*> customize_comboboxes_; 210 std::vector<PermissionCombobox*> customize_comboboxes_;
210 211
211 DISALLOW_COPY_AND_ASSIGN(PermissionsBubbleDelegateView); 212 DISALLOW_COPY_AND_ASSIGN(PermissionsBubbleDelegateView);
212 }; 213 };
213 214
214 PermissionsBubbleDelegateView::PermissionsBubbleDelegateView( 215 PermissionsBubbleDelegateView::PermissionsBubbleDelegateView(
215 views::View* anchor, 216 views::View* anchor,
216 PermissionBubbleViewViews* owner, 217 PermissionBubbleViewViews* owner,
218 const std::string& languages,
217 const std::vector<PermissionBubbleRequest*>& requests, 219 const std::vector<PermissionBubbleRequest*>& requests,
218 const std::vector<bool>& accept_state, 220 const std::vector<bool>& accept_state,
219 bool customization_mode) 221 bool customization_mode)
220 : views::BubbleDelegateView(anchor, views::BubbleBorder::TOP_LEFT), 222 : views::BubbleDelegateView(anchor, views::BubbleBorder::TOP_LEFT),
221 owner_(owner), 223 owner_(owner),
222 allow_(NULL), 224 allow_(NULL),
223 deny_(NULL), 225 deny_(NULL),
224 allow_combobox_(NULL) { 226 allow_combobox_(NULL) {
225 DCHECK(!requests.empty()); 227 DCHECK(!requests.empty());
226 228
227 RemoveAllChildViews(true); 229 RemoveAllChildViews(true);
228 customize_comboboxes_.clear(); 230 customize_comboboxes_.clear();
229 set_close_on_esc(false); 231 set_close_on_esc(false);
230 set_close_on_deactivate(false); 232 set_close_on_deactivate(false);
231 233
232 SetLayoutManager(new views::BoxLayout( 234 SetLayoutManager(new views::BoxLayout(
233 views::BoxLayout::kVertical, kBubbleOuterMargin, 0, kItemMajorSpacing)); 235 views::BoxLayout::kVertical, kBubbleOuterMargin, 0, kItemMajorSpacing));
234 236
235 // TODO(gbillock): support other languages than English.
236 hostname_ = net::FormatUrl(requests[0]->GetRequestingHostname(), 237 hostname_ = net::FormatUrl(requests[0]->GetRequestingHostname(),
237 "en", 238 languages,
238 net::kFormatUrlOmitUsernamePassword | 239 net::kFormatUrlOmitUsernamePassword |
239 net::kFormatUrlOmitTrailingSlashOnBareHostname, 240 net::kFormatUrlOmitTrailingSlashOnBareHostname,
240 net::UnescapeRule::SPACES, NULL, NULL, NULL); 241 net::UnescapeRule::SPACES, NULL, NULL, NULL);
241 242
242 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); 243 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
243 for (size_t index = 0; index < requests.size(); index++) { 244 for (size_t index = 0; index < requests.size(); index++) {
244 DCHECK(index < accept_state.size()); 245 DCHECK(index < accept_state.size());
245 // The row is laid out containing a leading-aligned label area and a 246 // The row is laid out containing a leading-aligned label area and a
246 // trailing column which will be filled during customization with a 247 // trailing column which will be filled during customization with a
247 // combobox. 248 // combobox.
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 owner_->SetCustomizationMode(); 411 owner_->SetCustomizationMode();
411 else if (combobox->selected_index() == 412 else if (combobox->selected_index() ==
412 CustomizeAllowComboboxModel::INDEX_ALLOW) 413 CustomizeAllowComboboxModel::INDEX_ALLOW)
413 owner_->Accept(); 414 owner_->Accept();
414 } 415 }
415 } 416 }
416 417
417 ////////////////////////////////////////////////////////////////////////////// 418 //////////////////////////////////////////////////////////////////////////////
418 // PermissionBubbleViewViews 419 // PermissionBubbleViewViews
419 420
420 PermissionBubbleViewViews::PermissionBubbleViewViews(views::View* anchor_view) 421 PermissionBubbleViewViews::PermissionBubbleViewViews(
422 views::View* anchor_view,
423 const std::string& languages)
421 : anchor_view_(anchor_view), 424 : anchor_view_(anchor_view),
422 delegate_(NULL), 425 delegate_(NULL),
423 bubble_delegate_(NULL) {} 426 bubble_delegate_(NULL),
427 languages_(languages) {}
424 428
425 PermissionBubbleViewViews::~PermissionBubbleViewViews() { 429 PermissionBubbleViewViews::~PermissionBubbleViewViews() {
426 if (delegate_) 430 if (delegate_)
427 delegate_->SetView(NULL); 431 delegate_->SetView(NULL);
428 } 432 }
429 433
430 void PermissionBubbleViewViews::SetDelegate(Delegate* delegate) { 434 void PermissionBubbleViewViews::SetDelegate(Delegate* delegate) {
431 delegate_ = delegate; 435 delegate_ = delegate;
432 } 436 }
433 437
434 void PermissionBubbleViewViews::Show( 438 void PermissionBubbleViewViews::Show(
435 const std::vector<PermissionBubbleRequest*>& requests, 439 const std::vector<PermissionBubbleRequest*>& requests,
436 const std::vector<bool>& values, 440 const std::vector<bool>& values,
437 bool customization_mode) { 441 bool customization_mode) {
438 if (bubble_delegate_ != NULL) 442 if (bubble_delegate_ != NULL)
439 bubble_delegate_->Close(); 443 bubble_delegate_->Close();
440 444
441 bubble_delegate_ = 445 bubble_delegate_ =
442 new PermissionsBubbleDelegateView(anchor_view_, this, 446 new PermissionsBubbleDelegateView(anchor_view_, this, languages_,
443 requests, values, customization_mode); 447 requests, values, customization_mode);
444 views::BubbleDelegateView::CreateBubble(bubble_delegate_)->Show(); 448 views::BubbleDelegateView::CreateBubble(bubble_delegate_)->Show();
445 bubble_delegate_->SizeToContents(); 449 bubble_delegate_->SizeToContents();
446 } 450 }
447 451
448 bool PermissionBubbleViewViews::CanAcceptRequestUpdate() { 452 bool PermissionBubbleViewViews::CanAcceptRequestUpdate() {
449 return !(bubble_delegate_ && bubble_delegate_->IsMouseHovered()); 453 return !(bubble_delegate_ && bubble_delegate_->IsMouseHovered());
450 } 454 }
451 455
452 void PermissionBubbleViewViews::Hide() { 456 void PermissionBubbleViewViews::Hide() {
(...skipping 26 matching lines...) Expand all
479 483
480 void PermissionBubbleViewViews::Deny() { 484 void PermissionBubbleViewViews::Deny() {
481 if (delegate_) 485 if (delegate_)
482 delegate_->Deny(); 486 delegate_->Deny();
483 } 487 }
484 488
485 void PermissionBubbleViewViews::SetCustomizationMode() { 489 void PermissionBubbleViewViews::SetCustomizationMode() {
486 if (delegate_) 490 if (delegate_)
487 delegate_->SetCustomizationMode(); 491 delegate_->SetCustomizationMode();
488 } 492 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/website_settings/permissions_bubble_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698