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:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user