builtins_to_provide.push_back(chrome::kChromeUISettingsURL16);
#endif
builtins_to_provide.push_back(chrome::kChromeUIVersionURL16);
+#if defined(SAMSUNG_NEXT_BROWSER)
+ for (auto& builtin : builtins_to_provide) {
+ if (builtin.find(base::ASCIIToUTF16(std::string(content::kChromeUIScheme)), 0) == 0) {
+ builtin.replace(0, strlen(content::kChromeUIScheme),
+ base::ASCIIToUTF16(std::string(content::kInternetUIScheme)));
+ }
+ }
+#endif
return builtins_to_provide;
}
(ProfileIOData::IsHandledProtocol(scheme) ||
base::EqualsCaseInsensitiveASCII(scheme, content::kViewSourceScheme) ||
base::EqualsCaseInsensitiveASCII(scheme, url::kJavaScriptScheme) ||
+#if defined(SAMSUNG_NEXT_BROWSER)
+ base::EqualsCaseInsensitiveASCII(scheme, content::kInternetUIScheme) ||
+#endif
base::EqualsCaseInsensitiveASCII(scheme, url::kDataScheme))) {
return metrics::OmniboxInputType::URL;
}
if (browser) {
page_url = GetTargetTabUrl(browser->session_id(),
browser->tab_strip_model()->active_index());
+#if defined(SAMSUNG_NEXT_BROWSER)
+ if (page_url.SchemeIs(url::kChromeUIScheme)) {
+ GURL::Replacements replacements;
+ replacements.SetSchemeStr(url::kInternetUIScheme);
+ page_url = page_url.ReplaceComponents(replacements);
}
+#endif
+}
Profile* profile = GetFeedbackProfile(browser);
if (url.has_username())
format_types &= ~url_formatter::kFormatUrlOmitHTTP;
- return url_formatter::FormatUrl(url, format_types, base::UnescapeRule::SPACES,
- nullptr, nullptr, nullptr);
+#if defined(SAMSUNG_NEXT_BROWSER)
+ std::u16string display_url = url_formatter::FormatUrl(
+ url, format_types, base::UnescapeRule::SPACES, nullptr, nullptr, nullptr);
+ if (display_url.rfind(base::ASCIIToUTF16(std::string(url::kChromeUIScheme)), 0) == 0) {
+ display_url.replace(0, strlen(url::kChromeUIScheme),
+ base::ASCIIToUTF16(std::string(url::kInternetUIScheme)));
+ }
+ return display_url;
+#else
+ return url_formatter::FormatUrl(url, format_types, base::UnescapeRule::SPACES,
+ nullptr, nullptr, nullptr);
+#endif
}
bool IsAppsShortcutEnabled(Profile* profile) {
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
if (!GetStatusBubble())
return;
-
+#if defined(SAMSUNG_NEXT_BROWSER)
+ if (source == tab_strip_model_->GetActiveWebContents()) {
+ if (url.SchemeIs(content::kChromeUIScheme)) {
+ GURL::Replacements replacements;
+ replacements.SetSchemeStr(content::kInternetUIScheme);
+ const GURL &internet_url = url.ReplaceComponents(replacements);
+ GetStatusBubble()->SetURL(internet_url);
+ } else {
+ GetStatusBubble()->SetURL(url);
+ }
+ }
+#else
if (source == tab_strip_model_->GetActiveWebContents())
GetStatusBubble()->SetURL(url);
+#endif
}
void Browser::ContentsMouseEvent(WebContents* source, const ui::Event& event) {
return nullptr;
}
}
+#if defined(SAMSUNG_NEXT_BROWSER)
+ if (params->url.SchemeIs(content::kInternetUIScheme)) {
+ GURL::Replacements replacements;
+ replacements.SetSchemeStr(content::kChromeUIScheme);
+ params->url = params->url.ReplaceComponents(replacements);
+ }
+#endif
+
// Open System Apps in their standalone window if necessary.
// TODO(crbug.com/40136163): Remove this code after we integrate with intent
const auto* location_bar_model = delegate_->GetLocationBarModel();
const GURL& url = location_bar_model->GetURL();
if (url.SchemeIs(content::kChromeUIScheme) ||
+#if defined(SAMSUNG_NEXT_BROWSER)
+ url.SchemeIs(content::kInternetUIScheme) ||
+#endif
url.SchemeIs(extensions::kExtensionScheme) ||
url.SchemeIs(url::kFileScheme) ||
url.SchemeIs(dom_distiller::kDomDistillerScheme)) {
content::kChromeUIScheme))
return l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME);
+#if defined(SAMSUNG_NEXT_BROWSER)
+ if (delegate_->GetLocationBarModel()->GetURL().SchemeIs(
+ content::kInternetUIScheme))
+ return l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME);
+#endif
if (delegate_->GetLocationBarModel()->GetURL().SchemeIs(url::kFileScheme))
return l10n_util::GetStringUTF16(IDS_OMNIBOX_FILE);
#include "ui/views/style/typography.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h"
+#if defined(SAMSUNG_NEXT_BROWSER)
+#include "content/public/common/url_constants.h"
+#endif
+
namespace {
std::u16string domain;
bool is_filename = false;
+#if defined(SAMSUNG_NEXT_BROWSER)
+ if (domain_url.SchemeIs(content::kChromeUIScheme)) {
+ GURL::Replacements replacements;
+ replacements.SetSchemeStr(content::kInternetUIScheme);
+ domain_url = domain_url.ReplaceComponents(replacements);
+ }
+#endif
if (domain_url.SchemeIsFile()) {
is_filename = true;
domain = l10n_util::GetStringUTF16(IDS_HOVER_CARD_FILE_URL_SOURCE);
const size_t kAboutSchemeLength = strlen(url::kAboutScheme);
const std::u16string kAbout =
base::StrCat({url::kAboutScheme16, url::kStandardSchemeSeparator16});
- const std::u16string embedderAbout = base::StrCat(
- {base::UTF8ToUTF16(client_->GetEmbedderRepresentationOfAboutScheme()),
- url::kStandardSchemeSeparator16});
+ const std::u16string embedderAbout = base::StrCat({
+#if defined(SAMSUNG_NEXT_BROWSER)
+ base::ASCIIToUTF16(std::string(url::kInternetUIScheme)),
+#else
+ base::UTF8ToUTF16(client_->GetEmbedderRepresentationOfAboutScheme()),
+#endif
+ url::kStandardSchemeSeparator16});
const int kUrl = ACMatchClassification::URL;
const int kMatch = kUrl | ACMatchClassification::MATCH;
#if (!BUILDFLAG(IS_ANDROID) || BUILDFLAG(ENABLE_VR)) && !BUILDFLAG(IS_IOS)
#include "components/omnibox/browser/vector_icons.h" // nogncheck
#endif
+#if defined(SAMSUNG_NEXT_BROWSER)
+#include "content/public/common/url_constants.h"
+#endif
+
using metrics::OmniboxEventProto;
}
GURL url(GetURL());
+#if defined(SAMSUNG_NEXT_BROWSER)
+ if (url.SchemeIs(content::kChromeUIScheme)) {
+ GURL::Replacements replacements;
+ replacements.SetSchemeStr(content::kInternetUIScheme);
+ url = url.ReplaceComponents(replacements);
+ }
+#endif
#if BUILDFLAG(IS_IOS)
// On iOS, the blob: display URLs should be simply the domain name. However,
// text (whether it's in the elided or unelided form), copy the omnibox
// contents as a hyperlink to the current page.
if (!user_input_in_progress_ &&
+#if defined(SAMSUNG_NEXT_BROWSER)
+ !(text->rfind(u"internet://", 0) == 0) &&
+#endif
(*text == display_text_ || *text == url_for_editing_)) {
*url_from_text = controller_->client()->GetNavigationEntryURL();
*write_url = true;
// static
bool PageInfo::IsFileOrInternalPage(const GURL& url) {
return url.SchemeIs(content::kChromeUIScheme) ||
+#if defined(SAMSUNG_NEXT_BROWSER)
+ url.SchemeIs(content::kInternetUIScheme) ||
+#endif
url.SchemeIs(content::kChromeDevToolsScheme) ||
url.SchemeIs(content::kViewSourceScheme) ||
url.SchemeIs(url::kFileScheme);
return;
}
- if (url.SchemeIs(content::kChromeUIScheme) || is_chrome_ui_native_scheme) {
+#if defined(SAMSUNG_NEXT_BROWSER)
+ if (url.SchemeIs(content::kChromeUIScheme) || is_chrome_ui_native_scheme ||
+ url.SchemeIs(content::kInternetUIScheme))
+#else
+ if (url.SchemeIs(content::kChromeUIScheme) || is_chrome_ui_native_scheme)
+#endif
+{
site_identity_status_ = SITE_IDENTITY_STATUS_INTERNAL_PAGE;
#if BUILDFLAG(IS_ANDROID)
identity_status_description_android_ =
const std::string& scheme2) {
return scheme1 == scheme2 ||
(scheme1 == url::kAboutScheme && scheme2 == kChromeUIScheme) ||
+#if defined(SAMSUNG_NEXT_BROWSER)
+ (scheme1 == url::kInternetUIScheme && scheme2 == kChromeUIScheme) ||
+ (scheme1 == kChromeUIScheme && scheme2 == url::kInternetUIScheme) ||
+ (scheme1 == url::kInternetUIScheme && scheme2 == url::kAboutScheme) ||
+ (scheme1 == url::kAboutScheme && scheme2 == url::kInternetUIScheme) ||
+#endif
(scheme1 == kChromeUIScheme && scheme2 == url::kAboutScheme);
}
// Special URL used to rewrite URLs coming from untrusted processes, when the
// source process is not allowed access to the initially requested URL.
inline constexpr char kBlockedURL[] = "about:blank#blocked";
+#if defined(SAMSUNG_NEXT_BROWSER)
+inline constexpr char kInternetUIScheme[] = "internet";
+#endif
} // namespace content
inline constexpr char kStandardSchemeSeparator[] = "://";
inline constexpr char16_t kStandardSchemeSeparator16[] = u"://";
+#if defined(SAMSUNG_NEXT_BROWSER)
+inline const char kChromeUIScheme[] = "chrome";
+inline const char kInternetUIScheme[] = "internet";
+#endif
+
// Max GURL length passed between processes. See url::mojom::kMaxURLChars, which
// has the same value, for more details.
inline constexpr size_t kMaxURLChars = 2 * 1024 * 1024;