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

Unified Diff: chrome/browser/chooser_controller/chooser_controller.cc

Issue 2122073004: Display extension name on device chooser title (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move_chooser_controller_to_chrome_browser
Patch Set: removed unused variable Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
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));
}

Powered by Google App Engine
This is Rietveld 408576698