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

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: address comments 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..dd27d086dead936086029705d4a75bb3ced7373f 100644
--- a/chrome/browser/chooser_controller/chooser_controller.cc
+++ b/chrome/browser/chooser_controller/chooser_controller.cc
@@ -4,7 +4,15 @@
#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/gurl.h"
#include "url/origin.h"
ChooserController::ChooserController(content::RenderFrameHost* owner)
@@ -12,7 +20,40 @@ ChooserController::ChooserController(content::RenderFrameHost* owner)
ChooserController::~ChooserController() {}
-url::Origin ChooserController::GetOrigin() const {
- return owning_frame_ ? owning_frame_->GetLastCommittedOrigin()
- : url::Origin();
+base::string16 ChooserController::GetTitle() {
+ return l10n_util::GetStringFUTF16(
+ title_prefix_has_quote_ ? IDS_DEVICE_CHOOSER_PROMPT_EXTENSION_NAME
+ : IDS_DEVICE_CHOOSER_PROMPT_ORIGIN,
+ GetTitlePrefix());
+}
+
+base::string16 ChooserController::GetTitlePrefix() {
+ if (!owning_frame_)
+ return base::string16();
+
+ base::string16 title_prefix;
+ 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().GetExtensionOrAppByURL(
+ GURL(origin.Serialize()));
+ if (extension)
+ title_prefix = base::UTF8ToUTF16(extension->name());
+ }
+ }
+
+ if (title_prefix.empty()) {
+ title_prefix = url_formatter::FormatOriginForSecurityDisplay(
+ origin, url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC);
+ title_prefix_has_quote_ = false;
Reilly Grant (use Gerrit) 2016/07/11 23:31:40 This field is suspicious. Please just move the bod
juncai 2016/07/12 00:00:42 Done.
+ }
+
+ return title_prefix;
}

Powered by Google App Engine
This is Rietveld 408576698