summaryrefslogtreecommitdiffstats
path: root/dom/base/nsContentUtils.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-09-04 17:55:18 +0200
committerwolfbeast <mcwerewolf@gmail.com>2018-09-04 17:55:18 +0200
commit19f010c62022e269f99066a8d90e3522fe31adaf (patch)
tree4ad67dcc3ec63790f1ed75b7aed912b7d69b8036 /dom/base/nsContentUtils.cpp
parentb28ab55f9675f2e97dda9a4fcac0d4f5267a2bb9 (diff)
downloadUXP-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.cpp16
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