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..014fc45c8f8da8c2fece5ecc2d54b7896ba7c2fc 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. |
| + std::string languages; |
| + if (profile) |
|
sky
2015/01/28 21:28:46
Can profile really be null?
felt
2015/01/28 22:31:02
I think likely not in a normal case; however it se
sky
2015/01/29 02:48:16
That doesn't make it right. Either can be null, in
felt
2015/01/29 06:56:48
I can't find any way this could be null in normal
|
| + languages = profile->GetPrefs()->GetString(prefs::kAcceptLanguages); |
| 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(); |