Lines Matching refs:characters

34 static inline size_t findSlashDotDotSlash(const UChar* characters, size_t length, size_t position)
40 if (characters[i] == '/' && characters[i + 1] == '.' && characters[i + 2] == '.' && characters[i + 3] == '/')
46 static inline size_t findSlashSlash(const UChar* characters, size_t length, size_t position)
52 if (characters[i] == '/' && characters[i + 1] == '/')
58 static inline size_t findSlashDotSlash(const UChar* characters, size_t length, size_t position)
64 if (characters[i] == '/' && characters[i + 1] == '.' && characters[i + 2] == '/')
70 static inline bool containsColonSlashSlash(const UChar* characters, unsigned length)
76 if (characters[i] == ':' && characters[i + 1] == '/' && characters[i + 2] == '/')
172 static inline bool needsTrailingSlash(const UChar* characters, unsigned length)
176 if (!matchLetter(characters[0], 'h')
177 || !matchLetter(characters[1], 't')
178 || !matchLetter(characters[2], 't')
179 || !matchLetter(characters[3], 'p'))
181 if (!(characters[4] == ':'
182 || (matchLetter(characters[4], 's') && characters[5] == ':')))
185 unsigned pos = characters[4] == ':' ? 5 : 6;
188 if (pos + 1 < length && characters[pos] == '/' && characters[pos + 1] == '/')
192 while (pos < length && characters[pos] != '/')
213 const UChar* characters = attributeURL.characters();
227 bool hasColonSlashSlash = containsColonSlashSlash(characters, length);
229 if (hasColonSlashSlash && !needsTrailingSlash(characters, length)) {
230 buffer.append(attributeURL.characters(), attributeURL.length());
238 buffer.append(characters, length);
244 buffer.append(base.string().characters(), base.string().length());
246 switch (characters[0]) {
248 buffer.append(base.string().characters(), base.pathStart());
251 buffer.append(base.string().characters(), base.pathEnd());
254 buffer.append(base.string().characters(), base.pathAfterLastSlash());
258 buffer.append(characters, length);