diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-09-04 17:55:18 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-09-04 17:55:18 +0200 |
commit | 19f010c62022e269f99066a8d90e3522fe31adaf (patch) | |
tree | 4ad67dcc3ec63790f1ed75b7aed912b7d69b8036 /dom/base/nsContentUtils.cpp | |
parent | b28ab55f9675f2e97dda9a4fcac0d4f5267a2bb9 (diff) | |
download | UXP-19f010c62022e269f99066a8d90e3522fe31adaf.tar UXP-19f010c62022e269f99066a8d90e3522fe31adaf.tar.gz UXP-19f010c62022e269f99066a8d90e3522fe31adaf.tar.lz UXP-19f010c62022e269f99066a8d90e3522fe31adaf.tar.xz UXP-19f010c62022e269f99066a8d90e3522fe31adaf.zip |
Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)
`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a util function.
Diffstat (limited to 'dom/base/nsContentUtils.cpp')
-rw-r--r-- | dom/base/nsContentUtils.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index 34c7d23b8..8612e76df 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -9787,3 +9787,19 @@ 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 |