fix #115308, NPN_PostURL[Notify] does not handle binary data; r=bnesse, sr=darin

git-svn-id: svn://10.0.0.236/trunk@113181 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
serge%netscape.com
2002-01-30 02:40:46 +00:00
parent b801661659
commit 72ccea118e
7 changed files with 344 additions and 147 deletions

View File

@@ -1075,18 +1075,9 @@ NS_IMETHODIMP pluginInstanceOwner::GetURL(const char *aURL, const char *aTarget,
// deal with post data, either in a file or raw data, and any headers
if (aPostData) {
const char * dataToPost = (const char *)aPostData; // default to raw data
nsXPIDLCString filename;
if (isFile) {
// convert file:///c:/ to c: if needed
nsCOMPtr<nsILocalFile> aFile = do_CreateInstance(NS_LOCAL_FILE_CONTRACTID);
if (NS_SUCCEEDED(NS_InitFileFromURLSpec(aFile,dataToPost)) &&
NS_SUCCEEDED(aFile->GetPath(getter_Copies(filename))))
dataToPost = filename;
}
rv = NS_NewPluginPostDataStream(getter_AddRefs(postDataStream), dataToPost, aPostDataLen, isFile);
rv = NS_NewPluginPostDataStream(getter_AddRefs(postDataStream), (const char *)aPostData, aPostDataLen, isFile);
NS_ASSERTION(NS_SUCCEEDED(rv),"failed in creating plugin post data stream");
if (NS_FAILED(rv)) return rv;
if (aHeadersData) {
rv = NS_NewPluginPostDataStream(getter_AddRefs(headersDataStream),
@@ -1095,6 +1086,7 @@ NS_IMETHODIMP pluginInstanceOwner::GetURL(const char *aURL, const char *aTarget,
PR_FALSE,
PR_TRUE); // last arg says we are headers
NS_ASSERTION(NS_SUCCEEDED(rv),"failed in creating plugin header data stream");
if (NS_FAILED(rv)) return rv;
}
}