Chromium Code Reviews| Index: chrome/browser/ui/location_bar/location_bar.cc |
| diff --git a/chrome/browser/ui/location_bar/location_bar.cc b/chrome/browser/ui/location_bar/location_bar.cc |
| index efa6c167b097e2dc3ad9804a79ff9a1dfa99c451..26141ac675d3f22120a633d2964b0fe68a24ed6f 100644 |
| --- a/chrome/browser/ui/location_bar/location_bar.cc |
| +++ b/chrome/browser/ui/location_bar/location_bar.cc |
| @@ -4,9 +4,13 @@ |
| #include "chrome/browser/ui/location_bar/location_bar.h" |
| +#include "base/strings/string_util.h" |
| +#include "base/strings/utf_string_conversions.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/common/extensions/manifest_handlers/ui_overrides_handler.h" |
| +#include "content/public/browser/web_contents.h" |
| #include "extensions/browser/extension_registry.h" |
| +#include "extensions/common/constants.h" |
| #include "extensions/common/extension_set.h" |
| #include "extensions/common/feature_switch.h" |
| #include "extensions/common/permissions/permissions_data.h" |
| @@ -14,6 +18,13 @@ |
| const char LocationBar::kSecurityChipFeatureVisibilityParam[] = "visibility"; |
| const char LocationBar::kSecurityChipFeatureAnimationParam[] = "animation"; |
| +namespace { |
| +const base::char16 kLineBreakChars[] = {'\n', '\r', '\t', |
| + 0x2028, // Line separator |
| + 0x2029, // Paragraph separator |
| + 0}; |
| +} // namespace |
| + |
| LocationBar::LocationBar(Profile* profile) : profile_(profile) { |
| } |
| @@ -35,3 +46,25 @@ bool LocationBar::IsBookmarkStarHiddenByExtension() const { |
| return false; |
| } |
| + |
| +base::string16 LocationBar::GetExtensionName( |
| + const GURL& url, |
| + content::WebContents* web_contents) const { |
| + if (web_contents && url.SchemeIs(extensions::kExtensionScheme)) { |
|
Peter Kasting
2016/12/14 22:47:07
Can there be no web_contents? Consider adding a c
meacer
2016/12/16 18:46:17
I don't see an obvious code path that would led to
Peter Kasting
2016/12/20 01:59:31
IIRC, the places where LocationBarView does this a
meacer
2016/12/21 01:38:56
Done, added a CHECK.
|
| + content::BrowserContext* browser_context = |
| + web_contents->GetBrowserContext(); |
| + extensions::ExtensionRegistry* extension_registry = |
| + extensions::ExtensionRegistry::Get(browser_context); |
| + if (extension_registry) { |
|
Peter Kasting
2016/12/14 22:47:07
Can this actually fail?
meacer
2016/12/16 18:46:17
Looks like it can't, removed the check.
|
| + const extensions::Extension* extension = |
| + extension_registry->enabled_extensions().GetByID(url.host()); |
| + if (extension) { |
| + base::string16 extension_name(base::UTF8ToUTF16(extension->name())); |
| + base::ReplaceChars(extension_name, kLineBreakChars, |
| + base::ASCIIToUTF16(" "), &extension_name); |
|
Peter Kasting
2016/12/14 22:47:07
Why do you need this? It seems like CollapseWhite
meacer
2016/12/16 18:46:17
This is the rebase of an old CL, and I seem to rem
|
| + return base::CollapseWhitespace(extension_name, false); |
| + } |
| + } |
| + } |
| + return base::string16(); |
| +} |