// static bool FetchUtil::ExtractHeader(nsACString::const_iterator& aStart, nsACString::const_iterator& aEnd, nsCString& aHeaderName, nsCString& aHeaderValue, bool* aWasEmptyHeader) { MOZ_ASSERT(aWasEmptyHeader); // Set it to a valid value here so we don't forget later. *aWasEmptyHeader = false; const char* beginning = aStart.get(); nsACString::const_iterator end(aEnd); if (!FindCRLF(aStart, end)) { return false; } if (aStart.get() == beginning) { *aWasEmptyHeader = true; return true; } nsAutoCString header(beginning, aStart.get() - beginning); nsACString::const_iterator headerStart, iter, headerEnd; header.BeginReading(headerStart); header.EndReading(headerEnd); iter = headerStart; if (!FindCharInReadable(':', iter, headerEnd)) { return false; } aHeaderName.Assign(StringHead(header, iter - headerStart)); aHeaderName.CompressWhitespace(); if (!NS_IsValidHTTPToken(aHeaderName)) { return false; } aHeaderValue.Assign(Substring(++iter, headerEnd)); if (!NS_IsReasonableHTTPHeaderValue(aHeaderValue)) { return false; } aHeaderValue.CompressWhitespace(); return PushOverLine(aStart, aEnd); }
void CBrowserView::GetBrowserWindowTitle(nsCString& title) { nsXPIDLString idlStrTitle; if(mBaseWindow) mBaseWindow->GetTitle(getter_Copies(idlStrTitle)); title.AssignWithConversion(idlStrTitle); // Sanitize the title of all illegal characters title.CompressWhitespace(); // Remove whitespace from the ends title.StripChars("\\*|:\"><?"); // Strip illegal characters title.ReplaceChar('.', L'_'); // Dots become underscores title.ReplaceChar('/', L'-'); // Forward slashes become hyphens }