зеркало из https://github.com/mozilla/pjs.git
changes for wallet
This commit is contained in:
Родитель
c83b5e5810
Коммит
2fc6feebe9
|
@ -63,6 +63,7 @@ CPP_OBJS= \
|
||||||
|
|
||||||
LINCS=-I$(PUBLIC)\xpcom -I$(PUBLIC)\raptor -I$(PUBLIC)\js \
|
LINCS=-I$(PUBLIC)\xpcom -I$(PUBLIC)\raptor -I$(PUBLIC)\js \
|
||||||
-I$(PUBLIC)\dom -I$(PUBLIC)\netlib \
|
-I$(PUBLIC)\dom -I$(PUBLIC)\netlib \
|
||||||
|
-I$(PUBLIC)\walletlib \
|
||||||
-I..\..\base\src -I..\..\style\src \
|
-I..\..\base\src -I..\..\style\src \
|
||||||
-I..\..\..\base\src -I..\..\content\src
|
-I..\..\..\base\src -I..\..\content\src
|
||||||
|
|
||||||
|
|
|
@ -51,20 +51,40 @@
|
||||||
#include "nsHTMLParts.h"
|
#include "nsHTMLParts.h"
|
||||||
#include "nsIReflowCommand.h"
|
#include "nsIReflowCommand.h"
|
||||||
|
|
||||||
|
// GetParentHTMLFrameDocument
|
||||||
|
#include "nsIWebShell.h"
|
||||||
|
#include "nsIContentViewerContainer.h"
|
||||||
|
#include "nsIDocumentViewer.h"
|
||||||
|
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "xp_file.h"
|
#include "xp_file.h"
|
||||||
#include "prio.h"
|
#include "prio.h"
|
||||||
#include "prmem.h"
|
#include "prmem.h"
|
||||||
#include "prenv.h"
|
#include "prenv.h"
|
||||||
|
|
||||||
|
#if defined(ClientWallet) || defined(SingleSignon)
|
||||||
|
#include "nsIServiceManager.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// GetParentHTMLFrameDocument
|
||||||
|
static NS_DEFINE_IID(kIWebshellIID, NS_IWEB_SHELL_IID);
|
||||||
|
static NS_DEFINE_IID(kIContentViewerContainerIID, NS_ICONTENT_VIEWER_CONTAINER_IID);
|
||||||
|
static NS_DEFINE_IID(kIDocumentViewerIID, NS_IDOCUMENT_VIEWER_IID);
|
||||||
|
|
||||||
#ifdef SingleSignon
|
#ifdef SingleSignon
|
||||||
#define FORM_TYPE_TEXT 1
|
#define FORM_TYPE_TEXT 1
|
||||||
#define FORM_TYPE_PASSWORD 7
|
#define FORM_TYPE_PASSWORD 7
|
||||||
#include "nsINetService.h"
|
#include "nsINetService.h"
|
||||||
#include "nsIServiceManager.h"
|
|
||||||
static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID);
|
static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID);
|
||||||
static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID);
|
static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef ClientWallet
|
||||||
|
#include "nsIWalletService.h"
|
||||||
|
static NS_DEFINE_IID(kIWalletServiceIID, NS_IWALLETSERVICE_IID);
|
||||||
|
static NS_DEFINE_IID(kWalletServiceCID, NS_WALLETSERVICE_CID);
|
||||||
|
#endif
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
static NS_DEFINE_IID(kIFormManagerIID, NS_IFORMMANAGER_IID);
|
static NS_DEFINE_IID(kIFormManagerIID, NS_IFORMMANAGER_IID);
|
||||||
|
@ -546,10 +566,14 @@ nsFormFrame::OnSubmit(nsIPresContext* aPresContext, nsIFrame* aFrame)
|
||||||
nsIURL* docURL = nsnull;
|
nsIURL* docURL = nsnull;
|
||||||
nsIDocument* doc = nsnull;
|
nsIDocument* doc = nsnull;
|
||||||
mContent->GetDocument(doc);
|
mContent->GetDocument(doc);
|
||||||
if (nsnull != doc) {
|
while (doc && !docURL) {
|
||||||
doc->GetBaseURL(docURL);
|
doc->GetBaseURL(docURL);
|
||||||
NS_RELEASE(doc);
|
if (!docURL) {
|
||||||
|
doc = GetParentHTMLFrameDocument(doc);
|
||||||
|
if (!doc) break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
NS_IF_RELEASE(doc);
|
||||||
|
|
||||||
nsAutoString target;
|
nsAutoString target;
|
||||||
GetTarget(&target);
|
GetTarget(&target);
|
||||||
|
@ -564,6 +588,33 @@ nsFormFrame::OnSubmit(nsIPresContext* aPresContext, nsIFrame* aFrame)
|
||||||
NS_MakeAbsoluteURL(docURL, base, href, absURLSpec);
|
NS_MakeAbsoluteURL(docURL, base, href, absURLSpec);
|
||||||
NS_IF_RELEASE(docURL);
|
NS_IF_RELEASE(docURL);
|
||||||
|
|
||||||
|
#ifdef ClientWallet
|
||||||
|
#ifndef HTMLDialogs
|
||||||
|
if (href == "internal-walletPrefill-handler") {
|
||||||
|
nsresult res;
|
||||||
|
nsIWalletService *walletservice;
|
||||||
|
res = nsServiceManager::GetService(kWalletServiceCID,
|
||||||
|
kIWalletServiceIID,
|
||||||
|
(nsISupports **)&walletservice);
|
||||||
|
if ((NS_OK == res) && (nsnull != walletservice)) {
|
||||||
|
res = walletservice->WALLET_Prefill(nsnull, PR_FALSE);
|
||||||
|
NS_RELEASE(walletservice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (href == "internal-walletEditor-handler") {
|
||||||
|
nsresult res;
|
||||||
|
nsIWalletService *walletservice;
|
||||||
|
res = nsServiceManager::GetService(kWalletServiceCID,
|
||||||
|
kIWalletServiceIID,
|
||||||
|
(nsISupports **)&walletservice);
|
||||||
|
if ((NS_OK == res) && (nsnull != walletservice)) {
|
||||||
|
res = walletservice->WALLET_PreEdit(nsnull);
|
||||||
|
NS_RELEASE(walletservice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
// Now pass on absolute url to the click handler
|
// Now pass on absolute url to the click handler
|
||||||
nsIPostData* postData = nsnull;
|
nsIPostData* postData = nsnull;
|
||||||
if (isPost) {
|
if (isPost) {
|
||||||
|
@ -630,6 +681,44 @@ nsString* URLEncode(nsString& aString)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Hack to get the document from the parent HTML Frame.
|
||||||
|
// We need this to find the base URL for submitting forms that are created in Javascript
|
||||||
|
nsIDocument*
|
||||||
|
nsFormFrame::GetParentHTMLFrameDocument(nsIDocument* doc) {
|
||||||
|
nsIDocument* parentDocument = nsnull;
|
||||||
|
nsIScriptContextOwner* webshellOwner = nsnull;
|
||||||
|
if (!doc) return nsnull;
|
||||||
|
if ((webshellOwner = doc->GetScriptContextOwner())) {
|
||||||
|
nsIWebShell* webshell = nsnull;
|
||||||
|
if (NS_OK == webshellOwner->QueryInterface(kIWebshellIID, (void **)&webshell)) {
|
||||||
|
nsIWebShell* pWebshell = nsnull;
|
||||||
|
if (NS_OK == webshell->GetParent(pWebshell)) {
|
||||||
|
nsIContentViewerContainer* pContentViewerContainer = nsnull;
|
||||||
|
if (NS_OK == pWebshell->QueryInterface(kIContentViewerContainerIID, (void **)&pContentViewerContainer)) {
|
||||||
|
nsIContentViewer* pContentViewer = nsnull;
|
||||||
|
if (NS_OK == pContentViewerContainer->GetContentViewer(&pContentViewer)) {
|
||||||
|
nsIDocumentViewer* pDocumentViewer;
|
||||||
|
if (NS_OK == pContentViewer->QueryInterface(kIDocumentViewerIID, (void **)&pDocumentViewer)) {
|
||||||
|
nsIDocument* pDocument = nsnull;
|
||||||
|
if (NS_OK == pDocumentViewer->GetDocument(pDocument)) {
|
||||||
|
parentDocument = pDocument;
|
||||||
|
NS_RELEASE(doc); // Release the child doc for the caller
|
||||||
|
}
|
||||||
|
NS_RELEASE (pDocumentViewer);
|
||||||
|
}
|
||||||
|
NS_RELEASE(pContentViewer);
|
||||||
|
}
|
||||||
|
NS_RELEASE(pContentViewerContainer);
|
||||||
|
}
|
||||||
|
NS_RELEASE(pWebshell);
|
||||||
|
}
|
||||||
|
NS_RELEASE(webshell);
|
||||||
|
}
|
||||||
|
NS_RELEASE(webshellOwner);
|
||||||
|
}
|
||||||
|
return parentDocument;
|
||||||
|
}
|
||||||
|
|
||||||
#define CRLF "\015\012"
|
#define CRLF "\015\012"
|
||||||
void nsFormFrame::ProcessAsURLEncoded(PRBool isPost, nsString& aData, nsIFormControlFrame* aFrame)
|
void nsFormFrame::ProcessAsURLEncoded(PRBool isPost, nsString& aData, nsIFormControlFrame* aFrame)
|
||||||
{
|
{
|
||||||
|
@ -637,26 +726,59 @@ void nsFormFrame::ProcessAsURLEncoded(PRBool isPost, nsString& aData, nsIFormCon
|
||||||
PRBool firstTime = PR_TRUE;
|
PRBool firstTime = PR_TRUE;
|
||||||
PRUint32 numChildren = mFormControls.Count();
|
PRUint32 numChildren = mFormControls.Count();
|
||||||
|
|
||||||
|
#if defined(ClientWallet) || defined(SingleSignon)
|
||||||
|
/* get url name as ascii string */
|
||||||
|
char *URLName = nsnull;
|
||||||
|
nsIURL* docURL = nsnull;
|
||||||
|
nsIDocument* doc = nsnull;
|
||||||
|
mContent->GetDocument(doc);
|
||||||
|
|
||||||
|
while (doc && !docURL) {
|
||||||
|
docURL = doc->GetDocumentURL();
|
||||||
|
if (!docURL) {
|
||||||
|
doc = GetParentHTMLFrameDocument(doc);
|
||||||
|
if (!doc) break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (nsnull != docURL) {
|
||||||
|
const char* spec;
|
||||||
|
(void)docURL->GetSpec(&spec);
|
||||||
|
URLName = (char*)PR_Malloc(PL_strlen(spec)+1);
|
||||||
|
PL_strcpy(URLName, spec);
|
||||||
|
NS_IF_RELEASE(docURL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef SingleSignon
|
#ifdef SingleSignon
|
||||||
#define MAX_ARRAY_SIZE 50
|
#define MAX_ARRAY_SIZE 50
|
||||||
char* name_array[MAX_ARRAY_SIZE];
|
char* name_array[MAX_ARRAY_SIZE];
|
||||||
char* value_array[MAX_ARRAY_SIZE];
|
char* value_array[MAX_ARRAY_SIZE];
|
||||||
uint8 type_array[MAX_ARRAY_SIZE];
|
uint8 type_array[MAX_ARRAY_SIZE];
|
||||||
PRInt32 value_cnt = 0;
|
PRInt32 value_cnt = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* get url name as ascii string */
|
#ifdef ClientWallet
|
||||||
char *URLName;
|
/* determine if form is significant enough to capture data for */
|
||||||
nsIURL* docURL = nsnull;
|
PRBool OKToCapture = FALSE;
|
||||||
nsIDocument* doc = nsnull;
|
PRInt32 count = 0;
|
||||||
mContent->GetDocument(doc);
|
PRUint32 numChildren2 = mFormControls.Count();
|
||||||
if (nsnull != doc) {
|
for (PRUint32 childX2 = 0; childX2 < numChildren2; childX2++) {
|
||||||
docURL = doc->GetDocumentURL();
|
nsIFormControlFrame* child = (nsIFormControlFrame*) mFormControls.ElementAt(childX2);
|
||||||
NS_RELEASE(doc);
|
if (child && child->IsSuccessful(aFrame)) {
|
||||||
const char* spec;
|
PRInt32 type;
|
||||||
(void)docURL->GetSpec(&spec);
|
child->GetType(&type);
|
||||||
URLName = (char*)PR_Malloc(PL_strlen(spec)+1);
|
if (type == NS_FORM_INPUT_TEXT) {
|
||||||
PL_strcpy(URLName, spec);
|
count++;
|
||||||
NS_RELEASE(docURL);
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nsIWalletService *service2;
|
||||||
|
nsresult res2 = nsServiceManager::GetService(kWalletServiceCID,
|
||||||
|
kIWalletServiceIID,
|
||||||
|
(nsISupports **)&service2);
|
||||||
|
if ((NS_OK == res2) && (nsnull != service2)) {
|
||||||
|
service2->WALLET_OKToCapture(&OKToCapture, count, URLName);
|
||||||
|
NS_RELEASE(service2);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -672,9 +794,23 @@ void nsFormFrame::ProcessAsURLEncoded(PRBool isPost, nsString& aData, nsIFormCon
|
||||||
nsString* names = new nsString[maxNumValues];
|
nsString* names = new nsString[maxNumValues];
|
||||||
nsString* values = new nsString[maxNumValues];
|
nsString* values = new nsString[maxNumValues];
|
||||||
if (PR_TRUE == child->GetNamesValues(maxNumValues, numValues, values, names)) {
|
if (PR_TRUE == child->GetNamesValues(maxNumValues, numValues, values, names)) {
|
||||||
#ifdef SingleSignon
|
#if defined(ClientWallet) || defined(SingleSignon)
|
||||||
PRInt32 type;
|
PRInt32 type;
|
||||||
child->GetType(&type);
|
child->GetType(&type);
|
||||||
|
#endif
|
||||||
|
#ifdef ClientWallet
|
||||||
|
if (OKToCapture && (NS_FORM_INPUT_TEXT == type)) {
|
||||||
|
nsIWalletService *service;
|
||||||
|
nsresult res = nsServiceManager::GetService(kWalletServiceCID,
|
||||||
|
kIWalletServiceIID,
|
||||||
|
(nsISupports **)&service);
|
||||||
|
if ((NS_OK == res) && (nsnull != service)) {
|
||||||
|
res = service->WALLET_Capture(doc, *names, *values);
|
||||||
|
NS_RELEASE(service);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef SingleSignon
|
||||||
if ((type == NS_FORM_INPUT_PASSWORD) || (type == NS_FORM_INPUT_TEXT)) {
|
if ((type == NS_FORM_INPUT_PASSWORD) || (type == NS_FORM_INPUT_TEXT)) {
|
||||||
if (type == NS_FORM_INPUT_PASSWORD) {
|
if (type == NS_FORM_INPUT_PASSWORD) {
|
||||||
type_array[value_cnt] = FORM_TYPE_PASSWORD;
|
type_array[value_cnt] = FORM_TYPE_PASSWORD;
|
||||||
|
@ -718,12 +854,19 @@ void nsFormFrame::ProcessAsURLEncoded(PRBool isPost, nsString& aData, nsIFormCon
|
||||||
(URLName, (char**)name_array, (char**)value_array, (char**)type_array, value_cnt);
|
(URLName, (char**)name_array, (char**)value_array, (char**)type_array, value_cnt);
|
||||||
NS_RELEASE(service);
|
NS_RELEASE(service);
|
||||||
}
|
}
|
||||||
PR_FREEIF(URLName);
|
|
||||||
while (value_cnt--) {
|
while (value_cnt--) {
|
||||||
PR_FREEIF(name_array[value_cnt]);
|
PR_FREEIF(name_array[value_cnt]);
|
||||||
PR_FREEIF(value_array[value_cnt]);
|
PR_FREEIF(value_array[value_cnt]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(ClientWallet) || defined(SingleSignon)
|
||||||
|
if (nsnull != doc) {
|
||||||
|
NS_RELEASE(doc);
|
||||||
|
}
|
||||||
|
if (nsnull != URLName) {
|
||||||
|
PR_FREEIF(URLName);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
aData.SetLength(0);
|
aData.SetLength(0);
|
||||||
if (isPost) {
|
if (isPost) {
|
||||||
|
|
|
@ -129,6 +129,9 @@ protected:
|
||||||
static char* Temp_GenerateTempFileName(PRInt32 aMaxSize, char* aBuffer);
|
static char* Temp_GenerateTempFileName(PRInt32 aMaxSize, char* aBuffer);
|
||||||
static void Temp_GetContentType(char* aPathName, char* aContentType);
|
static void Temp_GetContentType(char* aPathName, char* aContentType);
|
||||||
|
|
||||||
|
// XXX Hack to get document from parent html frame. Should Document do this?
|
||||||
|
nsIDocument* GetParentHTMLFrameDocument(nsIDocument* doc);
|
||||||
|
|
||||||
nsVoidArray mFormControls;
|
nsVoidArray mFormControls;
|
||||||
nsVoidArray mRadioGroups;
|
nsVoidArray mRadioGroups;
|
||||||
nsIFormControlFrame* mTextSubmitter;
|
nsIFormControlFrame* mTextSubmitter;
|
||||||
|
|
|
@ -45,6 +45,7 @@ LINCS=-I..\public -I$(PUBLIC)\xpcom -I$(PUBLIC)\raptor \
|
||||||
-I$(PUBLIC)\plugin -I$(PUBLIC)\java -I$(PUBLIC)\pref \
|
-I$(PUBLIC)\plugin -I$(PUBLIC)\java -I$(PUBLIC)\pref \
|
||||||
-I$(PUBLIC)\js -I$(DEPTH)\include -I$(PUBLIC)\jsurl \
|
-I$(PUBLIC)\js -I$(DEPTH)\include -I$(PUBLIC)\jsurl \
|
||||||
-I$(PUBLIC)\editor -I$(PUBLIC)\rdf \
|
-I$(PUBLIC)\editor -I$(PUBLIC)\rdf \
|
||||||
|
-I$(PUBLIC)\walletlib \
|
||||||
-I$(PUBLIC)\oji \
|
-I$(PUBLIC)\oji \
|
||||||
-I$(PUBLIC)\uconv \
|
-I$(PUBLIC)\uconv \
|
||||||
-I$(PUBLIC)\strres \
|
-I$(PUBLIC)\strres \
|
||||||
|
|
|
@ -69,6 +69,7 @@ LINCS= \
|
||||||
-I$(PUBLIC)\intl \
|
-I$(PUBLIC)\intl \
|
||||||
-I$(PUBLIC)\rdf \
|
-I$(PUBLIC)\rdf \
|
||||||
-I$(PUBLIC)\silentdl \
|
-I$(PUBLIC)\silentdl \
|
||||||
|
-I$(PUBLIC)\walletlib \
|
||||||
!if defined(NGPREFS)
|
!if defined(NGPREFS)
|
||||||
-I$(PUBLIC)\ngprefs \
|
-I$(PUBLIC)\ngprefs \
|
||||||
!endif
|
!endif
|
||||||
|
|
|
@ -89,6 +89,23 @@
|
||||||
#include "nsUnitConversion.h"
|
#include "nsUnitConversion.h"
|
||||||
#include "nsIDeviceContext.h"
|
#include "nsIDeviceContext.h"
|
||||||
|
|
||||||
|
#if defined(CookieManagement) || defined(SingleSignon) || defined(ClientWallet)
|
||||||
|
#include "nsIServiceManager.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CookieManagement) || defined(SingleSignon)
|
||||||
|
#include "nsINetService.h"
|
||||||
|
static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID);
|
||||||
|
static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ClientWallet
|
||||||
|
#include "nsIWalletService.h"
|
||||||
|
static NS_DEFINE_IID(kIWalletServiceIID, NS_IWALLETSERVICE_IID);
|
||||||
|
static NS_DEFINE_IID(kWalletServiceCID, NS_WALLETSERVICE_CID);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define THROBBING_N
|
#define THROBBING_N
|
||||||
|
|
||||||
// XXX greasy constants
|
// XXX greasy constants
|
||||||
|
@ -450,6 +467,18 @@ HandleLocationEvent(nsGUIEvent *aEvent)
|
||||||
nsEventStatus
|
nsEventStatus
|
||||||
nsBrowserWindow::DispatchMenuItem(PRInt32 aID)
|
nsBrowserWindow::DispatchMenuItem(PRInt32 aID)
|
||||||
{
|
{
|
||||||
|
#if defined(CookieManagement) || defined(SingleSignon) || defined(ClientWallet)
|
||||||
|
nsresult res;
|
||||||
|
#if defined(CookieManagement) || defined(SingleSignon)
|
||||||
|
nsINetService *netservice;
|
||||||
|
#endif
|
||||||
|
#ifdef ClientWallet
|
||||||
|
#define WALLET_EDITOR_URL "file:///y|/walleted.html"
|
||||||
|
nsIWalletService *walletservice;
|
||||||
|
nsAutoString urlString(WALLET_EDITOR_URL);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
nsEventStatus result;
|
nsEventStatus result;
|
||||||
#ifdef NS_DEBUG
|
#ifdef NS_DEBUG
|
||||||
result = DispatchDebugMenu(aID);
|
result = DispatchDebugMenu(aID);
|
||||||
|
@ -575,6 +604,76 @@ nsBrowserWindow::DispatchMenuItem(PRInt32 aID)
|
||||||
DoImageInspector();
|
DoImageInspector();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#ifdef ClientWallet
|
||||||
|
case PRVCY_PREFILL:
|
||||||
|
case PRVCY_QPREFILL:
|
||||||
|
nsIPresShell* shell;
|
||||||
|
shell = nsnull;
|
||||||
|
shell = GetPresShell();
|
||||||
|
res = nsServiceManager::GetService(kWalletServiceCID,
|
||||||
|
kIWalletServiceIID,
|
||||||
|
(nsISupports **)&walletservice);
|
||||||
|
if ((NS_OK == res) && (nsnull != walletservice)) {
|
||||||
|
res = walletservice->WALLET_Prefill(shell, (PRVCY_QPREFILL == aID));
|
||||||
|
NS_RELEASE(walletservice);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef HTMLDialogs
|
||||||
|
if (aID == PRVCY_PREFILL) {
|
||||||
|
nsAutoString url("file:///y|/htmldlgs.htm");
|
||||||
|
nsIBrowserWindow* bw = nsnull;
|
||||||
|
mApp->OpenWindow(PRUint32(~0), bw);
|
||||||
|
bw->Show();
|
||||||
|
((nsBrowserWindow *)bw)->GoTo(url);
|
||||||
|
NS_RELEASE(bw);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PRVCY_DISPLAY_WALLET:
|
||||||
|
|
||||||
|
/* set a cookie for the javascript wallet editor */
|
||||||
|
res = nsServiceManager::GetService(kWalletServiceCID,
|
||||||
|
kIWalletServiceIID,
|
||||||
|
(nsISupports **)&walletservice);
|
||||||
|
if ((NS_OK == res) && (nsnull != walletservice)) {
|
||||||
|
nsIURL * url;
|
||||||
|
if (!NS_FAILED(NS_NewURL(&url, WALLET_EDITOR_URL))) {
|
||||||
|
res = walletservice->WALLET_PreEdit(url);
|
||||||
|
NS_RELEASE(walletservice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* invoke the javascript wallet editor */
|
||||||
|
mWebShell->LoadURL(urlString);
|
||||||
|
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CookieManagement)
|
||||||
|
case PRVCY_DISPLAY_COOKIES:
|
||||||
|
res = nsServiceManager::GetService(kNetServiceCID,
|
||||||
|
kINetServiceIID,
|
||||||
|
(nsISupports **)&netservice);
|
||||||
|
if ((NS_OK == res) && (nsnull != netservice)) {
|
||||||
|
res = netservice->NET_DisplayCookieInfoAsHTML();
|
||||||
|
NS_RELEASE(netservice);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(SingleSignon)
|
||||||
|
case PRVCY_DISPLAY_SIGNONS:
|
||||||
|
res = nsServiceManager::GetService(kNetServiceCID,
|
||||||
|
kINetServiceIID,
|
||||||
|
(nsISupports **)&netservice);
|
||||||
|
if ((NS_OK == res) && (nsnull != netservice)) {
|
||||||
|
res = netservice->SI_DisplaySignonInfoAsHTML();
|
||||||
|
NS_RELEASE(netservice);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Any menu IDs that the editor uses will be processed here
|
// Any menu IDs that the editor uses will be processed here
|
||||||
|
@ -838,7 +937,6 @@ nsEventStatus nsBrowserWindow::ProcessDialogEvent(nsGUIEvent *aEvent)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
nsBrowserWindow::DoFind()
|
nsBrowserWindow::DoFind()
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,6 +24,9 @@
|
||||||
#include "nsViewsCID.h"
|
#include "nsViewsCID.h"
|
||||||
#include "nsPluginsCID.h"
|
#include "nsPluginsCID.h"
|
||||||
#include "nsRDFCID.h"
|
#include "nsRDFCID.h"
|
||||||
|
#ifdef ClientWallet
|
||||||
|
#include "nsIWalletService.h"
|
||||||
|
#endif wallet
|
||||||
|
|
||||||
#include "nsIBrowserWindow.h"
|
#include "nsIBrowserWindow.h"
|
||||||
#include "nsIWebShell.h"
|
#include "nsIWebShell.h"
|
||||||
|
@ -72,6 +75,9 @@
|
||||||
#define DOM_DLL "jsdom.dll"
|
#define DOM_DLL "jsdom.dll"
|
||||||
#define LAYOUT_DLL "raptorhtml.dll"
|
#define LAYOUT_DLL "raptorhtml.dll"
|
||||||
#define NETLIB_DLL "netlib.dll"
|
#define NETLIB_DLL "netlib.dll"
|
||||||
|
#ifdef ClientWallet
|
||||||
|
#define WALLETLIB_DLL "walletlib.dll"
|
||||||
|
#endif
|
||||||
#define EDITOR_DLL "ender.dll"
|
#define EDITOR_DLL "ender.dll"
|
||||||
#define RDF_DLL "rdf.dll"
|
#define RDF_DLL "rdf.dll"
|
||||||
#define CAPS_DLL "caps.dll"
|
#define CAPS_DLL "caps.dll"
|
||||||
|
@ -102,6 +108,9 @@
|
||||||
#define DOM_DLL "DOM_DLL"
|
#define DOM_DLL "DOM_DLL"
|
||||||
#define LAYOUT_DLL "LAYOUT_DLL"
|
#define LAYOUT_DLL "LAYOUT_DLL"
|
||||||
#define NETLIB_DLL "NETLIB_DLL"
|
#define NETLIB_DLL "NETLIB_DLL"
|
||||||
|
#ifdef ClientWallet
|
||||||
|
#define WALLETLIB_DLL "WALLETLIB_DLL"
|
||||||
|
#endif
|
||||||
#define EDITOR_DLL "ENDER_DLL"
|
#define EDITOR_DLL "ENDER_DLL"
|
||||||
#define RDF_DLL "RDF_DLL"
|
#define RDF_DLL "RDF_DLL"
|
||||||
#define UCONV_DLL "UCONV_DLL"
|
#define UCONV_DLL "UCONV_DLL"
|
||||||
|
@ -133,6 +142,9 @@
|
||||||
#define DOM_DLL "libjsdom.so"
|
#define DOM_DLL "libjsdom.so"
|
||||||
#define LAYOUT_DLL "libraptorhtml.so"
|
#define LAYOUT_DLL "libraptorhtml.so"
|
||||||
#define NETLIB_DLL "libnetlib.so"
|
#define NETLIB_DLL "libnetlib.so"
|
||||||
|
#ifdef ClientWallet
|
||||||
|
#define WALLETLIB_DLL "walletlib.so"
|
||||||
|
#endif
|
||||||
#define EDITOR_DLL "libender.so"
|
#define EDITOR_DLL "libender.so"
|
||||||
#define RDF_DLL "librdf.so"
|
#define RDF_DLL "librdf.so"
|
||||||
#define UCONV_DLL "libuconv.so"
|
#define UCONV_DLL "libuconv.so"
|
||||||
|
@ -195,6 +207,9 @@ static NS_DEFINE_IID(kCImageDocument, NS_IMAGEDOCUMENT_CID);
|
||||||
static NS_DEFINE_IID(kCHTMLImageElement, NS_HTMLIMAGEELEMENT_CID);
|
static NS_DEFINE_IID(kCHTMLImageElement, NS_HTMLIMAGEELEMENT_CID);
|
||||||
static NS_DEFINE_CID(kNameSpaceManagerCID, NS_NAMESPACEMANAGER_CID);
|
static NS_DEFINE_CID(kNameSpaceManagerCID, NS_NAMESPACEMANAGER_CID);
|
||||||
static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID);
|
static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID);
|
||||||
|
#ifdef ClientWallet
|
||||||
|
static NS_DEFINE_IID(kWalletServiceCID, NS_WALLETSERVICE_CID);
|
||||||
|
#endif
|
||||||
static NS_DEFINE_IID(kIEditFactoryIID, NS_IEDITORFACTORY_IID);
|
static NS_DEFINE_IID(kIEditFactoryIID, NS_IEDITORFACTORY_IID);
|
||||||
static NS_DEFINE_IID(kITextEditFactoryIID, NS_ITEXTEDITORFACTORY_IID);
|
static NS_DEFINE_IID(kITextEditFactoryIID, NS_ITEXTEDITORFACTORY_IID);
|
||||||
static NS_DEFINE_IID(kIHTMLEditFactoryIID, NS_IHTMLEDITORFACTORY_IID);
|
static NS_DEFINE_IID(kIHTMLEditFactoryIID, NS_IHTMLEDITORFACTORY_IID);
|
||||||
|
@ -301,6 +316,9 @@ NS_SetupRegistry()
|
||||||
nsComponentManager::RegisterComponent(kCHTMLImageElement, NULL, NULL, LAYOUT_DLL, PR_FALSE, PR_FALSE);
|
nsComponentManager::RegisterComponent(kCHTMLImageElement, NULL, NULL, LAYOUT_DLL, PR_FALSE, PR_FALSE);
|
||||||
nsComponentManager::RegisterComponent(kNameSpaceManagerCID, NULL, NULL, LAYOUT_DLL, PR_FALSE, PR_FALSE);
|
nsComponentManager::RegisterComponent(kNameSpaceManagerCID, NULL, NULL, LAYOUT_DLL, PR_FALSE, PR_FALSE);
|
||||||
nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE);
|
nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE);
|
||||||
|
#ifdef ClientWallet
|
||||||
|
nsComponentManager::RegisterComponent(kWalletServiceCID, NULL, NULL, WALLETLIB_DLL, PR_FALSE, PR_FALSE);
|
||||||
|
#endif
|
||||||
nsComponentManager::RegisterComponent(kIEditFactoryIID, NULL, NULL, EDITOR_DLL, PR_FALSE, PR_FALSE);
|
nsComponentManager::RegisterComponent(kIEditFactoryIID, NULL, NULL, EDITOR_DLL, PR_FALSE, PR_FALSE);
|
||||||
nsComponentManager::RegisterComponent(kITextEditFactoryIID, NULL, NULL, EDITOR_DLL, PR_FALSE, PR_FALSE);
|
nsComponentManager::RegisterComponent(kITextEditFactoryIID, NULL, NULL, EDITOR_DLL, PR_FALSE, PR_FALSE);
|
||||||
nsComponentManager::RegisterComponent(kIHTMLEditFactoryIID, NULL, NULL, EDITOR_DLL, PR_FALSE, PR_FALSE);
|
nsComponentManager::RegisterComponent(kIHTMLEditFactoryIID, NULL, NULL, EDITOR_DLL, PR_FALSE, PR_FALSE);
|
||||||
|
|
|
@ -103,6 +103,12 @@
|
||||||
|
|
||||||
#define VIEWER_RL_BASE 41000
|
#define VIEWER_RL_BASE 41000
|
||||||
|
|
||||||
|
#define PRVCY_PREFILL 40290
|
||||||
|
#define PRVCY_QPREFILL 40291
|
||||||
|
#define PRVCY_DISPLAY_WALLET 40292
|
||||||
|
#define PRVCY_DISPLAY_COOKIES 40293
|
||||||
|
#define PRVCY_DISPLAY_SIGNONS 40294
|
||||||
|
|
||||||
#define VIEWER_TOP100 40300
|
#define VIEWER_TOP100 40300
|
||||||
|
|
||||||
#define VIEWER_XPTOOLKITDEMOBASE 40900
|
#define VIEWER_XPTOOLKITDEMOBASE 40900
|
||||||
|
|
|
@ -124,6 +124,15 @@ VIEWER MENU DISCARDABLE
|
||||||
MENUITEM "&JavaScript Console", JS_CONSOLE
|
MENUITEM "&JavaScript Console", JS_CONSOLE
|
||||||
MENUITEM "&Editor Mode", EDITOR_MODE
|
MENUITEM "&Editor Mode", EDITOR_MODE
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
|
POPUP "&Privacy Tools"
|
||||||
|
{
|
||||||
|
MENUITEM "Safe Prefill from &Wallet", PRVCY_PREFILL
|
||||||
|
MENUITEM "&Quick Prefill from &Wallet", PRVCY_QPREFILL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Display Wa&llet", PRVCY_DISPLAY_WALLET
|
||||||
|
MENUITEM "Display &Cookies", PRVCY_DISPLAY_COOKIES
|
||||||
|
MENUITEM "Display &Signons", PRVCY_DISPLAY_SIGNONS
|
||||||
|
}
|
||||||
POPUP "Editor Tests"
|
POPUP "Editor Tests"
|
||||||
{
|
{
|
||||||
MENUITEM "Insert Table", VIEWER_EDIT_INSERT_TABLE
|
MENUITEM "Insert Table", VIEWER_EDIT_INSERT_TABLE
|
||||||
|
|
Загрузка…
Ссылка в новой задаче