| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/public/common/origin_util.h" |
| |
| #include "base/lazy_instance.h" |
| #include "base/macros.h" |
| #include "base/stl_util.h" |
| #include "base/strings/pattern.h" |
| #include "content/common/url_schemes.h" |
| #include "services/network/public/cpp/is_potentially_trustworthy.h" |
| #include "third_party/blink/public/common/loader/network_utils.h" |
| #include "url/gurl.h" |
| #include "url/url_util.h" |
| |
| namespace content { |
| |
| bool OriginCanAccessServiceWorkers(const GURL& url) { |
| if (url.SchemeIsHTTPOrHTTPS() && blink::network_utils::IsOriginSecure(url)) |
| return true; |
| |
| if (base::Contains(GetServiceWorkerSchemes(), url.scheme())) { |
| return true; |
| } |
| |
| return false; |
| } |
| |
| bool IsPotentiallyTrustworthyOrigin(const url::Origin& origin) { |
| return network::IsOriginPotentiallyTrustworthy(origin); |
| } |
| |
| } // namespace content |