#include "chrome/browser/ui/url_identity.h"
#include <optional>
#include <string>
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/types/expected.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/url_constants.h"
#include "components/url_formatter/elide_url.h"
#include "components/url_formatter/url_formatter.h"
#include "extensions/buildflags/buildflags.h"
#include "url/gurl.h"
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/web_applications/isolated_web_apps/isolated_web_app_url_info.h"
#include "chrome/browser/web_applications/web_app.h"
#include "chrome/browser/web_applications/web_app_provider.h"
#include "chrome/browser/web_applications/web_app_registrar.h"
#include "components/webapps/common/web_app_id.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"
#endif
Type;
DefaultFormatOptions;
FormatOptions;
namespace {
UrlIdentity CreateDefaultUrlIdentityFromUrl(const GURL& url,
const FormatOptions& options) { … }
#if BUILDFLAG(ENABLE_EXTENSIONS)
UrlIdentity CreateChromeExtensionIdentityFromUrl(Profile* profile,
const GURL& url,
const FormatOptions& options) { … }
std::optional<webapps::AppId> GetIsolatedWebAppIdFromUrl(const GURL& url) { … }
UrlIdentity CreateIsolatedWebAppIdentityFromUrl(Profile* profile,
const GURL& url,
const FormatOptions& options) { … }
#endif
UrlIdentity CreateFileIdentityFromUrl(Profile* profile,
const GURL& url,
const FormatOptions& options) { … }
}
UrlIdentity UrlIdentity::CreateFromUrl(Profile* profile,
const GURL& url,
const TypeSet& allowed_types,
const FormatOptions& options) { … }