#include "third_party/blink/renderer/modules/navigatorcontentutils/navigator_content_utils.h"
#include "services/network/public/cpp/is_potentially_trustworthy.h"
#include "third_party/blink/public/common/custom_handlers/protocol_handler_utils.h"
#include "third_party/blink/public/common/scheme_registry.h"
#include "third_party/blink/public/common/security/protocol_handler_security_level.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/web_security_origin.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/web_local_frame_impl.h"
#include "third_party/blink/renderer/modules/navigatorcontentutils/navigator_content_utils_client.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/weborigin/scheme_registry.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
#include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
#include "third_party/blink/renderer/platform/wtf/text/string_utf8_adaptor.h"
namespace blink {
const char NavigatorContentUtils::kSupplementName[] = …;
namespace {
static bool VerifyCustomHandlerURLSecurity(
const LocalDOMWindow& window,
const KURL& full_url,
String& error_message,
ProtocolHandlerSecurityLevel security_level) { … }
static bool VerifyCustomHandlerURL(
const LocalDOMWindow& window,
const String& user_url,
ExceptionState& exception_state,
ProtocolHandlerSecurityLevel security_level) { … }
}
bool VerifyCustomHandlerScheme(const String& scheme,
String& error_string,
ProtocolHandlerSecurityLevel security_level) { … }
bool VerifyCustomHandlerURLSyntax(const KURL& full_url,
const KURL& base_url,
const String& user_url,
String& error_message) { … }
NavigatorContentUtils& NavigatorContentUtils::From(Navigator& navigator,
LocalFrame& frame) { … }
NavigatorContentUtils::~NavigatorContentUtils() = default;
void NavigatorContentUtils::registerProtocolHandler(
Navigator& navigator,
const String& scheme,
const String& url,
ExceptionState& exception_state) { … }
void NavigatorContentUtils::unregisterProtocolHandler(
Navigator& navigator,
const String& scheme,
const String& url,
ExceptionState& exception_state) { … }
void NavigatorContentUtils::Trace(Visitor* visitor) const { … }
}