#include "third_party/blink/renderer/core/loader/web_bundle/script_web_bundle_rule.h"
#include "base/containers/contains.h"
#include "base/metrics/histogram_macros.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
#include "third_party/blink/renderer/platform/json/json_parser.h"
#include "third_party/blink/renderer/platform/json/json_values.h"
namespace blink {
namespace {
const char kSourceKey[] = …;
const char kCredentialsKey[] = …;
const char kScopesKey[] = …;
const char kResourcesKey[] = …;
const char* const kKnownKeys[] = …;
HashSet<KURL> ParseJSONArrayAsURLs(JSONArray* array, const KURL& base_url) { … }
network::mojom::CredentialsMode ParseCredentials(const String& credentials) { … }
}
absl::variant<ScriptWebBundleRule, ScriptWebBundleError>
ScriptWebBundleRule::ParseJson(const String& inline_text,
const KURL& base_url,
ConsoleLogger* logger) { … }
ScriptWebBundleRule::ScriptWebBundleRule(
const KURL& source_url,
network::mojom::CredentialsMode credentials_mode,
HashSet<KURL> scope_urls,
HashSet<KURL> resource_urls)
: … { … }
bool ScriptWebBundleRule::ResourcesOrScopesMatch(const KURL& url) const { … }
}