mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 03:35:33 +00:00
98f4f1ce42
Also taking the opportunity to rework the nsIURIFixupInfo interface to use more sensible booleans, and the relevant test to specify outcomes directly, instead of trying to use the same logic as the implementation to infer them from the input. --HG-- extra : rebase_source : 43b54b9ff412c05dc3fd2575a80919fc085d2d49
65 lines
1.8 KiB
C++
65 lines
1.8 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef NSDEFAULTURIFIXUP_H
|
|
#define NSDEFAULTURIFIXUP_H
|
|
|
|
#include "nsIURIFixup.h"
|
|
|
|
class nsDefaultURIFixupInfo;
|
|
|
|
/* Header file */
|
|
class nsDefaultURIFixup : public nsIURIFixup
|
|
{
|
|
public:
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIURIFIXUP
|
|
|
|
nsDefaultURIFixup();
|
|
|
|
protected:
|
|
virtual ~nsDefaultURIFixup();
|
|
|
|
private:
|
|
/* additional members */
|
|
nsresult FileURIFixup(const nsACString &aStringURI, nsIURI** aURI);
|
|
nsresult ConvertFileToStringURI(const nsACString& aIn, nsCString& aOut);
|
|
nsresult FixupURIProtocol(const nsACString& aIn,
|
|
nsDefaultURIFixupInfo* aFixupInfo,
|
|
nsIURI** aURI);
|
|
void KeywordURIFixup(const nsACString &aStringURI,
|
|
nsDefaultURIFixupInfo* aFixupInfo,
|
|
nsIInputStream** aPostData);
|
|
bool PossiblyByteExpandedFileName(const nsAString& aIn);
|
|
bool PossiblyHostPortUrl(const nsACString& aUrl);
|
|
bool MakeAlternateURI(nsIURI *aURI);
|
|
bool IsLikelyFTP(const nsCString& aHostSpec);
|
|
};
|
|
|
|
class nsDefaultURIFixupInfo : public nsIURIFixupInfo
|
|
{
|
|
public:
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIURIFIXUPINFO
|
|
|
|
nsDefaultURIFixupInfo(const nsACString& aOriginalInput);
|
|
|
|
friend class nsDefaultURIFixup;
|
|
|
|
protected:
|
|
virtual ~nsDefaultURIFixupInfo();
|
|
|
|
private:
|
|
nsCOMPtr<nsISupports> mConsumer;
|
|
nsCOMPtr<nsIURI> mPreferredURI;
|
|
nsCOMPtr<nsIURI> mFixedURI;
|
|
bool mFixupUsedKeyword;
|
|
bool mFixupChangedProtocol;
|
|
bool mFixupCreatedAlternateURI;
|
|
nsAutoCString mOriginalInput;
|
|
};
|
|
#endif
|