123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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& aResult);
- nsresult FixupURIProtocol(const nsACString& aIn,
- nsDefaultURIFixupInfo* aFixupInfo,
- nsIURI** aURI);
- nsresult KeywordURIFixup(const nsACString& aStringURI,
- nsDefaultURIFixupInfo* aFixupInfo,
- nsIInputStream** aPostData);
- nsresult TryKeywordFixupForURIInfo(const nsACString& aStringURI,
- nsDefaultURIFixupInfo* aFixupInfo,
- nsIInputStream** aPostData);
- bool PossiblyByteExpandedFileName(const nsAString& aIn);
- bool PossiblyHostPortUrl(const nsACString& aUrl);
- bool MakeAlternateURI(nsIURI* aURI);
- bool IsDomainWhitelisted(const nsACString& aAsciiHost,
- const uint32_t aDotLoc);
- };
- class nsDefaultURIFixupInfo : public nsIURIFixupInfo
- {
- public:
- NS_DECL_ISUPPORTS
- NS_DECL_NSIURIFIXUPINFO
- explicit nsDefaultURIFixupInfo(const nsACString& aOriginalInput);
- friend class nsDefaultURIFixup;
- protected:
- virtual ~nsDefaultURIFixupInfo();
- private:
- nsCOMPtr<nsISupports> mConsumer;
- nsCOMPtr<nsIURI> mPreferredURI;
- nsCOMPtr<nsIURI> mFixedURI;
- bool mFixupChangedProtocol;
- bool mFixupCreatedAlternateURI;
- nsString mKeywordProviderName;
- nsString mKeywordAsSent;
- nsCString mOriginalInput;
- };
- #endif
|