#include "chrome/common/extensions/api/url_handlers/url_handlers_parser.h"
#include <memory>
#include "base/command_line.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "extensions/common/error_utils.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/manifest_handlers/offline_enabled_info.h"
#include "extensions/common/switches.h"
#include "net/base/network_change_notifier.h"
#include "url/gurl.h"
NetworkChangeNotifier;
namespace extensions {
namespace {
const UrlHandlerInfo* GetMatchingUrlHandler(const Extension* extension,
const GURL& url) { … }
}
mkeys;
merrors;
UrlHandlerInfo::UrlHandlerInfo() { … }
UrlHandlerInfo::UrlHandlerInfo(UrlHandlerInfo&& other) = default;
UrlHandlerInfo::~UrlHandlerInfo() { … }
UrlHandlers::UrlHandlers() { … }
UrlHandlers::~UrlHandlers() { … }
const std::vector<UrlHandlerInfo>* UrlHandlers::GetUrlHandlers(
const Extension* extension) { … }
bool UrlHandlers::CanPlatformAppHandleUrl(const Extension* app,
const GURL& url) { … }
bool UrlHandlers::CanBookmarkAppHandleUrl(const Extension* app,
const GURL& url) { … }
const UrlHandlerInfo* UrlHandlers::GetMatchingPlatformAppUrlHandler(
const Extension* app,
const GURL& url) { … }
UrlHandlersParser::UrlHandlersParser() { … }
UrlHandlersParser::~UrlHandlersParser() { … }
bool ParseUrlHandler(const std::string& handler_id,
const base::Value::Dict& handler_info,
std::vector<UrlHandlerInfo>* url_handlers,
std::u16string* error,
Extension* extension) { … }
bool UrlHandlersParser::Parse(Extension* extension, std::u16string* error) { … }
base::span<const char* const> UrlHandlersParser::Keys() const { … }
}