Chromium Code Reviews| Index: chrome/browser/ui/views/website_settings/permissions_bubble_view.cc |
| diff --git a/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc b/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc |
| index ae41cd192260805c8770cae7808eec212559e821..60f64e2ebba8c6c7bb1e9657e24d0ddf590b2921 100644 |
| --- a/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc |
| +++ b/chrome/browser/ui/views/website_settings/permissions_bubble_view.cc |
| @@ -4,10 +4,13 @@ |
| #include "chrome/browser/ui/views/website_settings/permissions_bubble_view.h" |
| +#include "base/prefs/pref_service.h" |
| #include "base/strings/string16.h" |
| +#include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/ui/views/website_settings/permission_selector_view.h" |
| #include "chrome/browser/ui/views/website_settings/permission_selector_view_observer.h" |
| #include "chrome/browser/ui/website_settings/permission_bubble_request.h" |
| +#include "chrome/common/pref_names.h" |
| #include "chrome/grit/generated_resources.h" |
| #include "net/base/net_util.h" |
| #include "ui/accessibility/ax_view_state.h" |
| @@ -175,6 +178,7 @@ class PermissionsBubbleDelegateView : public views::BubbleDelegateView, |
| PermissionsBubbleDelegateView( |
| views::View* anchor, |
| PermissionBubbleViewViews* owner, |
| + Profile* profile, |
| const std::vector<PermissionBubbleRequest*>& requests, |
| const std::vector<bool>& accept_state, |
| bool customization_mode); |
| @@ -214,6 +218,7 @@ class PermissionsBubbleDelegateView : public views::BubbleDelegateView, |
| PermissionsBubbleDelegateView::PermissionsBubbleDelegateView( |
| views::View* anchor, |
| PermissionBubbleViewViews* owner, |
| + Profile* profile, |
| const std::vector<PermissionBubbleRequest*>& requests, |
| const std::vector<bool>& accept_state, |
| bool customization_mode) |
| @@ -232,9 +237,11 @@ PermissionsBubbleDelegateView::PermissionsBubbleDelegateView( |
| SetLayoutManager(new views::BoxLayout( |
| views::BoxLayout::kVertical, kBubbleOuterMargin, 0, kItemMajorSpacing)); |
| - // TODO(gbillock): support other languages than English. |
| + DCHECK(profile); |
| + std::string languages = |
| + profile->GetPrefs()->GetString(prefs::kAcceptLanguages); |
|
sky
2015/01/29 17:40:44
One question though. Can PermissionBubbleViewViews
felt
2015/01/29 19:51:13
Looked into this. Changing the language will promp
|
| hostname_ = net::FormatUrl(requests[0]->GetRequestingHostname(), |
| - "en", |
| + languages, |
| net::kFormatUrlOmitUsernamePassword | |
| net::kFormatUrlOmitTrailingSlashOnBareHostname, |
| net::UnescapeRule::SPACES, NULL, NULL, NULL); |
| @@ -417,10 +424,13 @@ void PermissionsBubbleDelegateView::OnPerformAction( |
| ////////////////////////////////////////////////////////////////////////////// |
| // PermissionBubbleViewViews |
| -PermissionBubbleViewViews::PermissionBubbleViewViews(views::View* anchor_view) |
| +PermissionBubbleViewViews::PermissionBubbleViewViews( |
| + views::View* anchor_view, |
| + Profile* profile) |
| : anchor_view_(anchor_view), |
| delegate_(NULL), |
| - bubble_delegate_(NULL) {} |
| + bubble_delegate_(NULL), |
| + profile_(profile) {} |
| PermissionBubbleViewViews::~PermissionBubbleViewViews() { |
| if (delegate_) |
| @@ -439,7 +449,7 @@ void PermissionBubbleViewViews::Show( |
| bubble_delegate_->Close(); |
| bubble_delegate_ = |
| - new PermissionsBubbleDelegateView(anchor_view_, this, |
| + new PermissionsBubbleDelegateView(anchor_view_, this, profile_, |
| requests, values, customization_mode); |
| views::BubbleDelegateView::CreateBubble(bubble_delegate_)->Show(); |
| bubble_delegate_->SizeToContents(); |