| Index: Source/weborigin/SchemeRegistry.cpp
|
| diff --git a/Source/weborigin/SchemeRegistry.cpp b/Source/weborigin/SchemeRegistry.cpp
|
| deleted file mode 100644
|
| index 7679fce8a1524426e16d083fc5c2af41ebf6f9a4..0000000000000000000000000000000000000000
|
| --- a/Source/weborigin/SchemeRegistry.cpp
|
| +++ /dev/null
|
| @@ -1,274 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2010 Apple Inc. All Rights Reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE, INC. ``AS IS'' AND ANY
|
| - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
| - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
| - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
|
| - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
| - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
| - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
| - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
| - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - *
|
| - */
|
| -
|
| -#include "config.h"
|
| -#include "weborigin/SchemeRegistry.h"
|
| -
|
| -#include "wtf/MainThread.h"
|
| -
|
| -namespace WebCore {
|
| -
|
| -static URLSchemesMap& localURLSchemes()
|
| -{
|
| - DEFINE_STATIC_LOCAL(URLSchemesMap, localSchemes, ());
|
| -
|
| - if (localSchemes.isEmpty())
|
| - localSchemes.add("file");
|
| -
|
| - return localSchemes;
|
| -}
|
| -
|
| -static URLSchemesMap& displayIsolatedURLSchemes()
|
| -{
|
| - DEFINE_STATIC_LOCAL(URLSchemesMap, displayIsolatedSchemes, ());
|
| - return displayIsolatedSchemes;
|
| -}
|
| -
|
| -static URLSchemesMap& secureSchemes()
|
| -{
|
| - DEFINE_STATIC_LOCAL(URLSchemesMap, secureSchemes, ());
|
| -
|
| - if (secureSchemes.isEmpty()) {
|
| - secureSchemes.add("https");
|
| - secureSchemes.add("about");
|
| - secureSchemes.add("data");
|
| - }
|
| -
|
| - return secureSchemes;
|
| -}
|
| -
|
| -static URLSchemesMap& schemesWithUniqueOrigins()
|
| -{
|
| - DEFINE_STATIC_LOCAL(URLSchemesMap, schemesWithUniqueOrigins, ());
|
| -
|
| - if (schemesWithUniqueOrigins.isEmpty()) {
|
| - schemesWithUniqueOrigins.add("about");
|
| - schemesWithUniqueOrigins.add("javascript");
|
| - // This is a willful violation of HTML5.
|
| - // See https://bugs.webkit.org/show_bug.cgi?id=11885
|
| - schemesWithUniqueOrigins.add("data");
|
| - }
|
| -
|
| - return schemesWithUniqueOrigins;
|
| -}
|
| -
|
| -static URLSchemesMap& emptyDocumentSchemes()
|
| -{
|
| - DEFINE_STATIC_LOCAL(URLSchemesMap, emptyDocumentSchemes, ());
|
| -
|
| - if (emptyDocumentSchemes.isEmpty())
|
| - emptyDocumentSchemes.add("about");
|
| -
|
| - return emptyDocumentSchemes;
|
| -}
|
| -
|
| -static HashSet<String>& schemesForbiddenFromDomainRelaxation()
|
| -{
|
| - DEFINE_STATIC_LOCAL(HashSet<String>, schemes, ());
|
| - return schemes;
|
| -}
|
| -
|
| -static URLSchemesMap& canDisplayOnlyIfCanRequestSchemes()
|
| -{
|
| - DEFINE_STATIC_LOCAL(URLSchemesMap, canDisplayOnlyIfCanRequestSchemes, ());
|
| -
|
| - if (canDisplayOnlyIfCanRequestSchemes.isEmpty()) {
|
| - canDisplayOnlyIfCanRequestSchemes.add("blob");
|
| - canDisplayOnlyIfCanRequestSchemes.add("filesystem");
|
| - }
|
| -
|
| - return canDisplayOnlyIfCanRequestSchemes;
|
| -}
|
| -
|
| -static URLSchemesMap& notAllowingJavascriptURLsSchemes()
|
| -{
|
| - DEFINE_STATIC_LOCAL(URLSchemesMap, notAllowingJavascriptURLsSchemes, ());
|
| - return notAllowingJavascriptURLsSchemes;
|
| -}
|
| -
|
| -void SchemeRegistry::registerURLSchemeAsLocal(const String& scheme)
|
| -{
|
| - localURLSchemes().add(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::removeURLSchemeRegisteredAsLocal(const String& scheme)
|
| -{
|
| - if (scheme == "file")
|
| - return;
|
| - localURLSchemes().remove(scheme);
|
| -}
|
| -
|
| -const URLSchemesMap& SchemeRegistry::localSchemes()
|
| -{
|
| - return localURLSchemes();
|
| -}
|
| -
|
| -static URLSchemesMap& CORSEnabledSchemes()
|
| -{
|
| - // FIXME: http://bugs.webkit.org/show_bug.cgi?id=77160
|
| - DEFINE_STATIC_LOCAL(URLSchemesMap, CORSEnabledSchemes, ());
|
| -
|
| - if (CORSEnabledSchemes.isEmpty()) {
|
| - CORSEnabledSchemes.add("http");
|
| - CORSEnabledSchemes.add("https");
|
| - }
|
| -
|
| - return CORSEnabledSchemes;
|
| -}
|
| -
|
| -static URLSchemesMap& ContentSecurityPolicyBypassingSchemes()
|
| -{
|
| - DEFINE_STATIC_LOCAL(URLSchemesMap, schemes, ());
|
| - return schemes;
|
| -}
|
| -
|
| -bool SchemeRegistry::shouldTreatURLSchemeAsLocal(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return localURLSchemes().contains(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::registerURLSchemeAsNoAccess(const String& scheme)
|
| -{
|
| - schemesWithUniqueOrigins().add(scheme);
|
| -}
|
| -
|
| -bool SchemeRegistry::shouldTreatURLSchemeAsNoAccess(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return schemesWithUniqueOrigins().contains(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::registerURLSchemeAsDisplayIsolated(const String& scheme)
|
| -{
|
| - displayIsolatedURLSchemes().add(scheme);
|
| -}
|
| -
|
| -bool SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return displayIsolatedURLSchemes().contains(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::registerURLSchemeAsSecure(const String& scheme)
|
| -{
|
| - secureSchemes().add(scheme);
|
| -}
|
| -
|
| -bool SchemeRegistry::shouldTreatURLSchemeAsSecure(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return secureSchemes().contains(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::registerURLSchemeAsEmptyDocument(const String& scheme)
|
| -{
|
| - emptyDocumentSchemes().add(scheme);
|
| -}
|
| -
|
| -bool SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return emptyDocumentSchemes().contains(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::setDomainRelaxationForbiddenForURLScheme(bool forbidden, const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return;
|
| -
|
| - if (forbidden)
|
| - schemesForbiddenFromDomainRelaxation().add(scheme);
|
| - else
|
| - schemesForbiddenFromDomainRelaxation().remove(scheme);
|
| -}
|
| -
|
| -bool SchemeRegistry::isDomainRelaxationForbiddenForURLScheme(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return schemesForbiddenFromDomainRelaxation().contains(scheme);
|
| -}
|
| -
|
| -bool SchemeRegistry::canDisplayOnlyIfCanRequest(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return canDisplayOnlyIfCanRequestSchemes().contains(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest(const String& scheme)
|
| -{
|
| - canDisplayOnlyIfCanRequestSchemes().add(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs(const String& scheme)
|
| -{
|
| - notAllowingJavascriptURLsSchemes().add(scheme);
|
| -}
|
| -
|
| -bool SchemeRegistry::shouldTreatURLSchemeAsNotAllowingJavascriptURLs(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return notAllowingJavascriptURLsSchemes().contains(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::registerURLSchemeAsCORSEnabled(const String& scheme)
|
| -{
|
| - CORSEnabledSchemes().add(scheme);
|
| -}
|
| -
|
| -bool SchemeRegistry::shouldTreatURLSchemeAsCORSEnabled(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return CORSEnabledSchemes().contains(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy(const String& scheme)
|
| -{
|
| - ContentSecurityPolicyBypassingSchemes().add(scheme);
|
| -}
|
| -
|
| -void SchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy(const String& scheme)
|
| -{
|
| - ContentSecurityPolicyBypassingSchemes().remove(scheme);
|
| -}
|
| -
|
| -bool SchemeRegistry::schemeShouldBypassContentSecurityPolicy(const String& scheme)
|
| -{
|
| - if (scheme.isEmpty())
|
| - return false;
|
| - return ContentSecurityPolicyBypassingSchemes().contains(scheme);
|
| -}
|
| -
|
| -} // namespace WebCore
|
|
|