chromium/chrome/common/extensions/api/url_handlers/url_handlers_parser.cc

// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#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;

// TODO(sergeygs): Use the same strategy that externally_connectable does for
// parsing the manifest: declare a schema for the manifest entry in
// manifest_types.json, then use it here.
//
// See:
// chrome/common/extensions/api/manifest_types.json
// chrome/common/extensions/manifest_handlers/externally_connectable.*
//
// Do the same in (at least) file_handlers_parser.cc as well.

namespace extensions {

namespace {

const UrlHandlerInfo* GetMatchingUrlHandler(const Extension* extension,
                                            const GURL& url) {}

}  // namespace

mkeys;
merrors;

UrlHandlerInfo::UrlHandlerInfo() {}

UrlHandlerInfo::UrlHandlerInfo(UrlHandlerInfo&& other) = default;

UrlHandlerInfo::~UrlHandlerInfo() {}

UrlHandlers::UrlHandlers() {}

UrlHandlers::~UrlHandlers() {}

// static
const std::vector<UrlHandlerInfo>* UrlHandlers::GetUrlHandlers(
    const Extension* extension) {}

// static
bool UrlHandlers::CanPlatformAppHandleUrl(const Extension* app,
                                          const GURL& url) {}

// static
// TODO(crbug.com/40124309): Clean up this function and related paths.
bool UrlHandlers::CanBookmarkAppHandleUrl(const Extension* app,
                                          const GURL& url) {}

// static
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 {}

}  // namespace extensions