| Index: chrome/browser/chooser_controller/chooser_controller.cc
|
| diff --git a/chrome/browser/chooser_controller/chooser_controller.cc b/chrome/browser/chooser_controller/chooser_controller.cc
|
| index 00c52f9484c69cd1187deab656d10e1c01e23d93..ce26370b9a1995422f2ea82cf3e9e5703717dadd 100644
|
| --- a/chrome/browser/chooser_controller/chooser_controller.cc
|
| +++ b/chrome/browser/chooser_controller/chooser_controller.cc
|
| @@ -4,7 +4,14 @@
|
|
|
| #include "chrome/browser/chooser_controller/chooser_controller.h"
|
|
|
| +#include "base/strings/utf_string_conversions.h"
|
| +#include "chrome/grit/generated_resources.h"
|
| +#include "components/url_formatter/elide_url.h"
|
| #include "content/public/browser/render_frame_host.h"
|
| +#include "content/public/browser/web_contents.h"
|
| +#include "extensions/browser/extension_registry.h"
|
| +#include "extensions/common/constants.h"
|
| +#include "ui/base/l10n/l10n_util.h"
|
| #include "url/origin.h"
|
|
|
| ChooserController::ChooserController(content::RenderFrameHost* owner)
|
| @@ -12,7 +19,32 @@ ChooserController::ChooserController(content::RenderFrameHost* owner)
|
|
|
| ChooserController::~ChooserController() {}
|
|
|
| -url::Origin ChooserController::GetOrigin() const {
|
| - return owning_frame_ ? owning_frame_->GetLastCommittedOrigin()
|
| - : url::Origin();
|
| +base::string16 ChooserController::GetTitle() const {
|
| + if (!owning_frame_)
|
| + return base::string16();
|
| +
|
| + url::Origin origin = owning_frame_->GetLastCommittedOrigin();
|
| +
|
| + if (origin.scheme() == extensions::kExtensionScheme) {
|
| + content::WebContents* web_contents =
|
| + content::WebContents::FromRenderFrameHost(owning_frame_);
|
| + content::BrowserContext* browser_context =
|
| + web_contents->GetBrowserContext();
|
| + extensions::ExtensionRegistry* extension_registry =
|
| + extensions::ExtensionRegistry::Get(browser_context);
|
| + if (extension_registry) {
|
| + const extensions::Extension* extension =
|
| + extension_registry->enabled_extensions().GetByID(origin.host());
|
| + if (extension) {
|
| + return l10n_util::GetStringFUTF16(
|
| + IDS_DEVICE_CHOOSER_PROMPT_EXTENSION_NAME,
|
| + base::UTF8ToUTF16(extension->name()));
|
| + }
|
| + }
|
| + }
|
| +
|
| + return l10n_util::GetStringFUTF16(
|
| + IDS_DEVICE_CHOOSER_PROMPT_ORIGIN,
|
| + url_formatter::FormatOriginForSecurityDisplay(
|
| + origin, url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC));
|
| }
|
|
|