From b43a1afcd369cb7a04d681c0a1bd21002a9ab724 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Tue, 4 Sep 2018 17:59:40 +0200 Subject: Revert "Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)" This reverts commit 19f010c62022e269f99066a8d90e3522fe31adaf. --- dom/base/nsContentUtils.cpp | 16 ---------------- dom/base/nsContentUtils.h | 7 ------- layout/style/nsCSSValue.cpp | 20 ++++++++++++++++++-- 3 files changed, 18 insertions(+), 25 deletions(-) diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index 8612e76df..34c7d23b8 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -9787,19 +9787,3 @@ nsContentUtils::AttemptLargeAllocationLoad(nsIHttpChannel* aChannel) return reloadSucceeded; } - -/* static */ bool -nsContentUtils::IsLocalRefURL(const nsString& aString) -{ - // Find the first non-"C0 controls + space" character. - const char16_t* current = aString.get(); - for (; *current != '\0'; current++) { - if (*current > 0x20) { - // if the first non-"C0 controls + space" character is '#', this is a - // local-ref URL. - return *current == '#'; - } - } - - return false; -} \ No newline at end of file diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h index c255f813a..9ae6d2155 100644 --- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h @@ -2730,13 +2730,6 @@ public: static bool AttemptLargeAllocationLoad(nsIHttpChannel* aChannel); - /** - * Detect whether a string is a (CSS) local-url. - * https://drafts.csswg.org/css-values/#local-urls - */ - static bool - IsLocalRefURL(const nsString& aString); - private: static bool InitializeEventTable(); diff --git a/layout/style/nsCSSValue.cpp b/layout/style/nsCSSValue.cpp index e9c391737..baf5b7897 100644 --- a/layout/style/nsCSSValue.cpp +++ b/layout/style/nsCSSValue.cpp @@ -29,6 +29,22 @@ using namespace mozilla; +static bool +IsLocalRefURL(nsStringBuffer* aString) +{ + // Find the first non-"C0 controls + space" character. + char16_t* current = static_cast(aString->Data()); + for (; *current != '\0'; current++) { + if (*current > 0x20) { + // if the first non-"C0 controls + space" character is '#', this is a + // local-ref URL. + return *current == '#'; + } + } + + return false; +} + nsCSSValue::nsCSSValue(int32_t aValue, nsCSSUnit aUnit) : mUnit(aUnit) { @@ -2707,7 +2723,7 @@ css::URLValueData::URLValueData(already_AddRefed> aURI, , mReferrer(Move(aReferrer)) , mOriginPrincipal(Move(aOriginPrincipal)) , mURIResolved(true) - , mIsLocalRef(nsContentUtils::IsLocalRefURL(aString)) + , mIsLocalRef(IsLocalRefURL(aString)) { MOZ_ASSERT(mString); MOZ_ASSERT(mBaseURI); @@ -2724,7 +2740,7 @@ css::URLValueData::URLValueData(nsStringBuffer* aString, , mReferrer(Move(aReferrer)) , mOriginPrincipal(Move(aOriginPrincipal)) , mURIResolved(false) - , mIsLocalRef(nsContentUtils::IsLocalRefURL(aString)) + , mIsLocalRef(IsLocalRefURL(aString)) { MOZ_ASSERT(aString); MOZ_ASSERT(mBaseURI); -- cgit v1.2.3