10465, r=vidur. navigator js now uses the new HTTP service of user agent components.

git-svn-id: svn://10.0.0.236/trunk@60093 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
valeski%netscape.com
2000-02-08 06:22:21 +00:00
parent 7765025177
commit ee08f8fed8
2 changed files with 36 additions and 49 deletions

View File

@@ -79,7 +79,7 @@
#include "nsBarProps.h"
#include "nsIScriptSecurityManager.h"
#include "nsIJSContextStack.h"
#include "nsIIOService.h"
#include "nsIHTTPProtocolHandler.h"
#include "nsIURL.h"
#include "nsNetUtil.h"
#include "nsRDFCID.h"
@@ -89,7 +89,7 @@
#include "nsICharsetConverterManager.h"
#include "nsEscape.h"
static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID);
static NS_DEFINE_CID(kHTTPHandlerCID, NS_IHTTPHANDLER_CID);
#include "nsIJVMManager.h"
@@ -3550,7 +3550,7 @@ NS_IMETHODIMP
NavigatorImpl::GetUserAgent(nsString& aUserAgent)
{
nsresult res;
NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res);
NS_WITH_SERVICE(nsIHTTPProtocolHandler, service, kHTTPHandlerCID, &res);
if (NS_SUCCEEDED(res) && (nsnull != service)) {
PRUnichar *ua = nsnull;
res = service->GetUserAgent(&ua);
@@ -3565,10 +3565,10 @@ NS_IMETHODIMP
NavigatorImpl::GetAppCodeName(nsString& aAppCodeName)
{
nsresult res;
NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res);
NS_WITH_SERVICE(nsIHTTPProtocolHandler, service, kHTTPHandlerCID, &res);
if (NS_SUCCEEDED(res) && (nsnull != service)) {
PRUnichar *appName = nsnull;
res = service->GetAppCodeName(&appName);
res = service->GetAppName(&appName);
aAppCodeName = appName;
Recycle(appName);
}
@@ -3580,12 +3580,29 @@ NS_IMETHODIMP
NavigatorImpl::GetAppVersion(nsString& aAppVersion)
{
nsresult res;
NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res);
NS_WITH_SERVICE(nsIHTTPProtocolHandler, service, kHTTPHandlerCID, &res);
if (NS_SUCCEEDED(res) && (nsnull != service)) {
PRUnichar *appVer = nsnull;
res = service->GetAppVersion(&appVer);
aAppVersion = appVer;
Recycle(appVer);
PRUnichar *str = nsnull;
res = service->GetAppVersion(&str);
aAppVersion = str;
Recycle(str);
aAppVersion += " (";
res = service->GetPlatform(&str);
if (NS_FAILED(res)) return res;
aAppVersion += str;
Recycle(str);
aAppVersion += "; ";
res = service->GetLanguage(&str);
if (NS_FAILED(res)) return res;
aAppVersion += str;
Recycle(str);
aAppVersion += ')';
}
return res;
@@ -3594,23 +3611,19 @@ NavigatorImpl::GetAppVersion(nsString& aAppVersion)
NS_IMETHODIMP
NavigatorImpl::GetAppName(nsString& aAppName)
{
nsresult res;
NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res);
if (NS_SUCCEEDED(res) && (nsnull != service)) {
PRUnichar *appName = nsnull;
res = service->GetAppName(&appName);
aAppName = appName;
Recycle(appName);
}
return res;
// This is hardcoded for backwards compatibility reasons.
// Existing JS sniffers use this method to get "Netscape" out
// of our products. The internal semantics of our User Agent
// component implemetation do not include a "Netscape" string.
aAppName = "Netscape";
return NS_OK;
}
NS_IMETHODIMP
NavigatorImpl::GetLanguage(nsString& aLanguage)
{
nsresult res;
NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res);
NS_WITH_SERVICE(nsIHTTPProtocolHandler, service, kHTTPHandlerCID, &res);
if (NS_SUCCEEDED(res) && (nsnull != service)) {
PRUnichar *lang = nsnull;
res = service->GetLanguage(&lang);
@@ -3625,7 +3638,7 @@ NS_IMETHODIMP
NavigatorImpl::GetPlatform(nsString& aPlatform)
{
nsresult res;
NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res);
NS_WITH_SERVICE(nsIHTTPProtocolHandler, service, kHTTPHandlerCID, &res);
if (NS_SUCCEEDED(res) && (nsnull != service)) {
PRUnichar *plat = nsnull;
res = service->GetPlatform(&plat);

View File

@@ -337,36 +337,10 @@ public:
virtual ~NavigatorImpl();
NS_DECL_ISUPPORTS
NS_DECL_IDOMNAVIGATOR
NS_IMETHOD GetScriptObject(nsIScriptContext *aContext, void** aScriptObject);
NS_IMETHOD SetScriptObject(void *aScriptObject);
NS_IMETHOD GetAppCodeName(nsString& aAppCodeName);
NS_IMETHOD GetAppName(nsString& aAppName);
NS_IMETHOD GetAppVersion(nsString& aAppVersion);
NS_IMETHOD GetLanguage(nsString& aLanguage);
NS_IMETHOD GetMimeTypes(nsIDOMMimeTypeArray** aMimeTypes);
NS_IMETHOD GetPlatform(nsString& aPlatform);
NS_IMETHOD GetPlugins(nsIDOMPluginArray** aPlugins);
NS_IMETHOD GetSecurityPolicy(nsString& aSecurityPolicy);
NS_IMETHOD GetUserAgent(nsString& aUserAgent);
NS_IMETHOD GetCookieEnabled(PRBool* aCookieEnabled);
NS_IMETHOD JavaEnabled(PRBool* aReturn);
NS_IMETHOD TaintEnabled(PRBool* aReturn);
NS_IMETHOD Preference(JSContext* cx, jsval* argv, PRUint32 argc, jsval* aReturn);
protected:
void *mScriptObject;
nsIDOMMimeTypeArray* mMimeTypes;