mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-03 04:27:41 +00:00
Bug 1493292 - Remove aDataLen parameters from nsITransferable.getTransferData. r=smaug
Depends on D11200 Differential Revision: https://phabricator.services.mozilla.com/D11201 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
aa53a63c78
commit
5a9d2a428c
@ -731,13 +731,12 @@ function getTextFromClipboard() {
|
||||
Services.clipboard.getData(trans, Services.clipboard.kGlobalClipboard);
|
||||
|
||||
var str = {};
|
||||
var strLength = {};
|
||||
trans.getTransferData("text/unicode", str, strLength);
|
||||
trans.getTransferData("text/unicode", str);
|
||||
|
||||
if (str)
|
||||
str = str.value.QueryInterface(Ci.nsISupportsString);
|
||||
if (str)
|
||||
return str.data.substring(0, strLength.value / 2);
|
||||
return str.data;
|
||||
|
||||
return "";
|
||||
}
|
||||
|
@ -2504,12 +2504,11 @@ function readFromClipboard() {
|
||||
Services.clipboard.getData(trans, Services.clipboard.kGlobalClipboard);
|
||||
|
||||
var data = {};
|
||||
var dataLen = {};
|
||||
trans.getTransferData("text/unicode", data, dataLen);
|
||||
trans.getTransferData("text/unicode", data);
|
||||
|
||||
if (data) {
|
||||
data = data.value.QueryInterface(Ci.nsISupportsString);
|
||||
url = data.data.substring(0, dataLen.value / 2);
|
||||
url = data.data;
|
||||
}
|
||||
} catch (ex) {
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ add_task(async function copyURL() {
|
||||
transferable.addDataFlavor(flavor);
|
||||
Services.clipboard.getData(transferable, Services.clipboard.kGlobalClipboard);
|
||||
let strObj = {};
|
||||
transferable.getTransferData(flavor, strObj, {});
|
||||
transferable.getTransferData(flavor, strObj);
|
||||
Assert.ok(!!strObj.value);
|
||||
strObj.value.QueryInterface(Ci.nsISupportsString);
|
||||
Assert.equal(strObj.value.data, gBrowser.selectedBrowser.currentURI.spec);
|
||||
|
@ -965,7 +965,7 @@ PlacesController.prototype = {
|
||||
xferable.init(null);
|
||||
xferable.addDataFlavor(PlacesUtils.TYPE_X_MOZ_PLACE_ACTION);
|
||||
this.clipboard.getData(xferable, Ci.nsIClipboard.kGlobalClipboard);
|
||||
xferable.getTransferData(PlacesUtils.TYPE_X_MOZ_PLACE_ACTION, action, {});
|
||||
xferable.getTransferData(PlacesUtils.TYPE_X_MOZ_PLACE_ACTION, action);
|
||||
[action, actionOwner] =
|
||||
action.value.QueryInterface(Ci.nsISupportsString).data.split(",");
|
||||
} catch (ex) {
|
||||
|
@ -2618,8 +2618,7 @@ dump(`callFromJSON: < ${JSON.stringify(call)}\n`);
|
||||
Services.clipboard.getData(
|
||||
trans, Services.clipboard.kGlobalClipboard);
|
||||
let str = {};
|
||||
let strLength = {};
|
||||
trans.getTransferData("text/unicode", str, strLength);
|
||||
trans.getTransferData("text/unicode", str);
|
||||
let pasteText = str.value.QueryInterface(Ci.nsISupportsString).data;
|
||||
return new String_PP_Var(pasteText);
|
||||
}
|
||||
|
@ -165,11 +165,9 @@ async function getImageSizeFromClipboard() {
|
||||
|
||||
clip.getData(trans, clipid.kGlobalClipboard);
|
||||
const data = {};
|
||||
const dataLength = {};
|
||||
trans.getTransferData(flavor, data, dataLength);
|
||||
trans.getTransferData(flavor, data);
|
||||
|
||||
ok(data.value, "screenshot exists");
|
||||
ok(dataLength.value > 0, "screenshot has length");
|
||||
|
||||
let image = data.value;
|
||||
|
||||
|
@ -42,7 +42,7 @@ function getText() {
|
||||
|
||||
const data = {};
|
||||
try {
|
||||
xferable.getTransferData(flavor, data, {});
|
||||
xferable.getTransferData(flavor, data);
|
||||
} catch (e) {
|
||||
// Clipboard doesn't contain data in flavor, return null.
|
||||
return null;
|
||||
|
@ -243,9 +243,7 @@ nsContentAreaDragDropDataProvider::GetFlavorData(nsITransferable *aTransferable,
|
||||
// get the URI from the kFilePromiseURLMime flavor
|
||||
NS_ENSURE_ARG(aTransferable);
|
||||
nsCOMPtr<nsISupports> tmp;
|
||||
uint32_t dataSize = 0;
|
||||
aTransferable->GetTransferData(kFilePromiseURLMime,
|
||||
getter_AddRefs(tmp), &dataSize);
|
||||
aTransferable->GetTransferData(kFilePromiseURLMime, getter_AddRefs(tmp));
|
||||
nsCOMPtr<nsISupportsString> supportsString =
|
||||
do_QueryInterface(tmp);
|
||||
if (!supportsString)
|
||||
@ -261,7 +259,7 @@ nsContentAreaDragDropDataProvider::GetFlavorData(nsITransferable *aTransferable,
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
aTransferable->GetTransferData(kFilePromiseDestFilename,
|
||||
getter_AddRefs(tmp), &dataSize);
|
||||
getter_AddRefs(tmp));
|
||||
supportsString = do_QueryInterface(tmp);
|
||||
if (!supportsString)
|
||||
return NS_ERROR_FAILURE;
|
||||
@ -280,7 +278,7 @@ nsContentAreaDragDropDataProvider::GetFlavorData(nsITransferable *aTransferable,
|
||||
// content processes.
|
||||
if (XRE_IsParentProcess()) {
|
||||
aTransferable->GetTransferData(kImageRequestMime,
|
||||
getter_AddRefs(tmp), &dataSize);
|
||||
getter_AddRefs(tmp));
|
||||
supportsString = do_QueryInterface(tmp);
|
||||
if (!supportsString)
|
||||
return NS_ERROR_FAILURE;
|
||||
@ -328,9 +326,8 @@ nsContentAreaDragDropDataProvider::GetFlavorData(nsITransferable *aTransferable,
|
||||
// get the target directory from the kFilePromiseDirectoryMime
|
||||
// flavor
|
||||
nsCOMPtr<nsISupports> dirPrimitive;
|
||||
dataSize = 0;
|
||||
aTransferable->GetTransferData(kFilePromiseDirectoryMime,
|
||||
getter_AddRefs(dirPrimitive), &dataSize);
|
||||
getter_AddRefs(dirPrimitive));
|
||||
nsCOMPtr<nsIFile> destDirectory = do_QueryInterface(dirPrimitive);
|
||||
if (!destDirectory)
|
||||
return NS_ERROR_FAILURE;
|
||||
@ -794,27 +791,22 @@ DragDataProducer::Produce(DataTransfer* aDataTransfer,
|
||||
|
||||
nsCOMPtr<nsISupports> supports;
|
||||
nsCOMPtr<nsISupportsString> data;
|
||||
uint32_t dataSize;
|
||||
rv = transferable->GetTransferData(kHTMLMime, getter_AddRefs(supports),
|
||||
&dataSize);
|
||||
rv = transferable->GetTransferData(kHTMLMime, getter_AddRefs(supports));
|
||||
data = do_QueryInterface(supports);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
data->GetData(mHtmlString);
|
||||
}
|
||||
rv = transferable->GetTransferData(kHTMLContext, getter_AddRefs(supports),
|
||||
&dataSize);
|
||||
rv = transferable->GetTransferData(kHTMLContext, getter_AddRefs(supports));
|
||||
data = do_QueryInterface(supports);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
data->GetData(mContextString);
|
||||
}
|
||||
rv = transferable->GetTransferData(kHTMLInfo, getter_AddRefs(supports),
|
||||
&dataSize);
|
||||
rv = transferable->GetTransferData(kHTMLInfo, getter_AddRefs(supports));
|
||||
data = do_QueryInterface(supports);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
data->GetData(mInfoString);
|
||||
}
|
||||
rv = transferable->GetTransferData(kUnicodeMime, getter_AddRefs(supports),
|
||||
&dataSize);
|
||||
rv = transferable->GetTransferData(kUnicodeMime, getter_AddRefs(supports));
|
||||
data = do_QueryInterface(supports);
|
||||
NS_ENSURE_SUCCESS(rv, rv); // require plain text at a minimum
|
||||
data->GetData(mTitleString);
|
||||
|
@ -7994,8 +7994,7 @@ nsContentUtils::TransferableToIPCTransferable(nsITransferable* aTransferable,
|
||||
}
|
||||
|
||||
nsCOMPtr<nsISupports> data;
|
||||
uint32_t dataLen = 0;
|
||||
aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(data), &dataLen);
|
||||
aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(data));
|
||||
|
||||
nsCOMPtr<nsISupportsString> text = do_QueryInterface(data);
|
||||
nsCOMPtr<nsISupportsCString> ctext = do_QueryInterface(data);
|
||||
|
@ -85,7 +85,7 @@ async function testCopyPaste (isXHTML) {
|
||||
transferable.addDataFlavor(mime);
|
||||
clipboard.getData(transferable, 1);
|
||||
var data = SpecialPowers.createBlankObject();
|
||||
transferable.getTransferData(mime, data, {}) ;
|
||||
transferable.getTransferData(mime, data) ;
|
||||
return data;
|
||||
}
|
||||
function testHtmlClipboardValue(mime, expected) {
|
||||
|
@ -60,7 +60,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=816298
|
||||
transferable.addDataFlavor(mime);
|
||||
clipboard.getData(transferable, 1);
|
||||
var data = SpecialPowers.createBlankObject();
|
||||
transferable.getTransferData(mime, data, {}) ;
|
||||
transferable.getTransferData(mime, data) ;
|
||||
return SpecialPowers.wrap(data);
|
||||
}
|
||||
function testHtmlClipboardValue(mime, expected, test) {
|
||||
|
@ -32,7 +32,7 @@ function testCopyImage () {
|
||||
transferable.addDataFlavor(mime);
|
||||
clipboard.getData(transferable, 1);
|
||||
var data = SpecialPowers.createBlankObject();
|
||||
transferable.getTransferData(mime, data, {});
|
||||
transferable.getTransferData(mime, data);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
@ -179,9 +179,8 @@ DataTransferItem::FillInExternalData()
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t length = 0;
|
||||
nsCOMPtr<nsISupports> data;
|
||||
nsresult rv = trans->GetTransferData(format, getter_AddRefs(data), &length);
|
||||
nsresult rv = trans->GetTransferData(format, getter_AddRefs(data));
|
||||
if (NS_WARN_IF(NS_FAILED(rv) || !data)) {
|
||||
return;
|
||||
}
|
||||
|
@ -1585,7 +1585,6 @@ HTMLEditor::PasteInternal(int32_t aClipboardType,
|
||||
bool bHavePrivateHTMLFlavor = HavePrivateHTMLFlavor(clipboard);
|
||||
if (bHavePrivateHTMLFlavor) {
|
||||
nsCOMPtr<nsISupports> contextDataObj, infoDataObj;
|
||||
uint32_t contextLen, infoLen;
|
||||
nsCOMPtr<nsISupportsString> textDataObj;
|
||||
|
||||
nsCOMPtr<nsITransferable> contextTransferable =
|
||||
@ -1597,8 +1596,7 @@ HTMLEditor::PasteInternal(int32_t aClipboardType,
|
||||
contextTransferable->AddDataFlavor(kHTMLContext);
|
||||
clipboard->GetData(contextTransferable, aClipboardType);
|
||||
contextTransferable->GetTransferData(kHTMLContext,
|
||||
getter_AddRefs(contextDataObj),
|
||||
&contextLen);
|
||||
getter_AddRefs(contextDataObj));
|
||||
|
||||
nsCOMPtr<nsITransferable> infoTransferable =
|
||||
do_CreateInstance("@mozilla.org/widget/transferable;1");
|
||||
@ -1609,23 +1607,16 @@ HTMLEditor::PasteInternal(int32_t aClipboardType,
|
||||
infoTransferable->AddDataFlavor(kHTMLInfo);
|
||||
clipboard->GetData(infoTransferable, aClipboardType);
|
||||
infoTransferable->GetTransferData(kHTMLInfo,
|
||||
getter_AddRefs(infoDataObj),
|
||||
&infoLen);
|
||||
getter_AddRefs(infoDataObj));
|
||||
|
||||
if (contextDataObj) {
|
||||
nsAutoString text;
|
||||
textDataObj = do_QueryInterface(contextDataObj);
|
||||
textDataObj->GetData(text);
|
||||
MOZ_ASSERT(text.Length() <= contextLen / 2);
|
||||
contextStr.Assign(text.get(), contextLen / 2);
|
||||
textDataObj->GetData(contextStr);
|
||||
}
|
||||
|
||||
if (infoDataObj) {
|
||||
nsAutoString text;
|
||||
textDataObj = do_QueryInterface(infoDataObj);
|
||||
textDataObj->GetData(text);
|
||||
MOZ_ASSERT(text.Length() <= infoLen / 2);
|
||||
infoStr.Assign(text.get(), infoLen / 2);
|
||||
textDataObj->GetData(infoStr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1794,10 +1785,8 @@ HTMLEditor::CanPasteTransferable(nsITransferable* aTransferable)
|
||||
|
||||
for (size_t i = 0; i < length; i++, flavors++) {
|
||||
nsCOMPtr<nsISupports> data;
|
||||
uint32_t dataLen;
|
||||
nsresult rv = aTransferable->GetTransferData(*flavors,
|
||||
getter_AddRefs(data),
|
||||
&dataLen);
|
||||
getter_AddRefs(data));
|
||||
if (NS_SUCCEEDED(rv) && data) {
|
||||
return true;
|
||||
}
|
||||
|
@ -465,10 +465,8 @@ TextEditor::CanPasteTransferable(nsITransferable* aTransferable)
|
||||
}
|
||||
|
||||
nsCOMPtr<nsISupports> data;
|
||||
uint32_t dataLen;
|
||||
nsresult rv = aTransferable->GetTransferData(kUnicodeMime,
|
||||
getter_AddRefs(data),
|
||||
&dataLen);
|
||||
getter_AddRefs(data));
|
||||
if (NS_SUCCEEDED(rv) && data) {
|
||||
return true;
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ function copyCF_HTML(cfhtml, success, failure) {
|
||||
cb.getData(trans, cb.kGlobalClipboard);
|
||||
var data = SpecialPowers.createBlankObject();
|
||||
try {
|
||||
trans.getTransferData(CF_HTML, data, {});
|
||||
trans.getTransferData(CF_HTML, data);
|
||||
data = SpecialPowers.wrap(data).value.QueryInterface(Ci.nsISupportsCString).data;
|
||||
} catch (e) {
|
||||
setTimeout(function() { copyCF_HTML_worker(successFn, failureFn); }, 100);
|
||||
|
@ -1794,7 +1794,7 @@ SpecialPowersAPI.prototype = {
|
||||
Services.clipboard.getData(xferable, whichClipboard);
|
||||
var data = {};
|
||||
try {
|
||||
xferable.getTransferData(flavor, data, {});
|
||||
xferable.getTransferData(flavor, data);
|
||||
} catch (e) {}
|
||||
data = data.value || null;
|
||||
if (data == null)
|
||||
|
@ -611,8 +611,7 @@ function GetClipboardSearchString(aLoadContext) {
|
||||
Clipboard.getData(trans, Ci.nsIClipboard.kFindClipboard);
|
||||
|
||||
let data = {};
|
||||
let dataLen = {};
|
||||
trans.getTransferData("text/unicode", data, dataLen);
|
||||
trans.getTransferData("text/unicode", data);
|
||||
if (data.value) {
|
||||
data = data.value.QueryInterface(Ci.nsISupportsString);
|
||||
searchString = data.toString();
|
||||
|
@ -33,9 +33,7 @@ nsClipboard::SetData(nsITransferable *aTransferable,
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
|
||||
nsCOMPtr<nsISupports> tmp;
|
||||
uint32_t len;
|
||||
nsresult rv = aTransferable->GetTransferData(kUnicodeMime, getter_AddRefs(tmp),
|
||||
&len);
|
||||
nsresult rv = aTransferable->GetTransferData(kUnicodeMime, getter_AddRefs(tmp));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
nsCOMPtr<nsISupportsString> supportsString = do_QueryInterface(tmp);
|
||||
// No support for non-text data
|
||||
|
@ -6257,9 +6257,8 @@ provideDataForType:(NSString*)aType
|
||||
// Now request the kFilePromiseMime data, which will invoke the data
|
||||
// provider. If successful, the file will have been created.
|
||||
nsCOMPtr<nsISupports> fileDataPrimitive;
|
||||
uint32_t dataSize = 0;
|
||||
item->GetTransferData(kFilePromiseMime,
|
||||
getter_AddRefs(fileDataPrimitive), &dataSize);
|
||||
getter_AddRefs(fileDataPrimitive));
|
||||
}
|
||||
CFRelease(urlRef);
|
||||
CFRelease(pboardRef);
|
||||
|
@ -389,10 +389,9 @@ nsClipboard::GetNativeClipboardData(nsITransferable* aTransferable, int32_t aWhi
|
||||
nsCString& flavorStr = flavors[i];
|
||||
|
||||
nsCOMPtr<nsISupports> dataSupports;
|
||||
uint32_t dataSize = 0;
|
||||
rv = mTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(dataSupports), &dataSize);
|
||||
rv = mTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(dataSupports));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
aTransferable->SetTransferData(flavorStr.get(), dataSupports, dataSize);
|
||||
aTransferable->SetTransferData(flavorStr.get(), dataSupports, 0);
|
||||
return NS_OK; // maybe try to fill in more types? Is there a point?
|
||||
}
|
||||
}
|
||||
@ -517,9 +516,8 @@ nsClipboard::PasteboardDictFromTransferable(nsITransferable* aTransferable)
|
||||
NSString *pboardType = nil;
|
||||
|
||||
if (nsClipboard::IsStringType(flavorStr, &pboardType)) {
|
||||
uint32_t dataSize = 0;
|
||||
nsCOMPtr<nsISupports> genericDataWrapper;
|
||||
rv = aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(genericDataWrapper), &dataSize);
|
||||
rv = aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(genericDataWrapper));
|
||||
if (NS_FAILED(rv)) {
|
||||
[pboardType release];
|
||||
continue;
|
||||
@ -542,9 +540,8 @@ nsClipboard::PasteboardDictFromTransferable(nsITransferable* aTransferable)
|
||||
[pasteboardOutputDict setObject:nativeString forKey:pboardType];
|
||||
}
|
||||
else if (flavorStr.EqualsLiteral(kCustomTypesMime)) {
|
||||
uint32_t dataSize = 0;
|
||||
nsCOMPtr<nsISupports> genericDataWrapper;
|
||||
rv = aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(genericDataWrapper), &dataSize);
|
||||
rv = aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(genericDataWrapper));
|
||||
if (NS_FAILED(rv)) {
|
||||
continue;
|
||||
}
|
||||
@ -564,9 +561,8 @@ nsClipboard::PasteboardDictFromTransferable(nsITransferable* aTransferable)
|
||||
else if (flavorStr.EqualsLiteral(kPNGImageMime) || flavorStr.EqualsLiteral(kJPEGImageMime) ||
|
||||
flavorStr.EqualsLiteral(kJPGImageMime) || flavorStr.EqualsLiteral(kGIFImageMime) ||
|
||||
flavorStr.EqualsLiteral(kNativeImageMime)) {
|
||||
uint32_t dataSize = 0;
|
||||
nsCOMPtr<nsISupports> transferSupports;
|
||||
aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(transferSupports), &dataSize);
|
||||
aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(transferSupports));
|
||||
|
||||
nsCOMPtr<imgIContainer> image(do_QueryInterface(transferSupports));
|
||||
if (!image) {
|
||||
@ -613,9 +609,8 @@ nsClipboard::PasteboardDictFromTransferable(nsITransferable* aTransferable)
|
||||
CFRelease(tiffData);
|
||||
}
|
||||
else if (flavorStr.EqualsLiteral(kFileMime)) {
|
||||
uint32_t len = 0;
|
||||
nsCOMPtr<nsISupports> genericFile;
|
||||
rv = aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(genericFile), &len);
|
||||
rv = aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(genericFile));
|
||||
if (NS_FAILED(rv)) {
|
||||
continue;
|
||||
}
|
||||
@ -651,9 +646,8 @@ nsClipboard::PasteboardDictFromTransferable(nsITransferable* aTransferable)
|
||||
forKey:urlPromiseContent];
|
||||
}
|
||||
else if (flavorStr.EqualsLiteral(kURLMime)) {
|
||||
uint32_t len = 0;
|
||||
nsCOMPtr<nsISupports> genericURL;
|
||||
rv = aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(genericURL), &len);
|
||||
rv = aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(genericURL));
|
||||
nsCOMPtr<nsISupportsString> urlObject(do_QueryInterface(genericURL));
|
||||
|
||||
nsAutoString url;
|
||||
@ -669,7 +663,7 @@ nsClipboard::PasteboardDictFromTransferable(nsITransferable* aTransferable)
|
||||
|
||||
nsAutoString urlTitle;
|
||||
urlObject->GetData(urlTitle);
|
||||
urlTitle.Mid(urlTitle, newlinePos + 1, len - (newlinePos + 1));
|
||||
urlTitle.Mid(urlTitle, newlinePos + 1, urlTitle.Length() - (newlinePos + 1));
|
||||
|
||||
nativeTitle =
|
||||
[NSString stringWithCharacters:
|
||||
|
@ -393,10 +393,9 @@ nsDragService::GetData(nsITransferable* aTransferable, uint32_t aItemIndex)
|
||||
nsCString& flavorStr = flavors[i];
|
||||
|
||||
nsCOMPtr<nsISupports> dataSupports;
|
||||
uint32_t dataSize = 0;
|
||||
rv = currentTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(dataSupports), &dataSize);
|
||||
rv = currentTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(dataSupports));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
aTransferable->SetTransferData(flavorStr.get(), dataSupports, dataSize);
|
||||
aTransferable->SetTransferData(flavorStr.get(), dataSupports, 0);
|
||||
return NS_OK; // maybe try to fill in more types? Is there a point?
|
||||
}
|
||||
}
|
||||
|
@ -475,7 +475,6 @@ nsClipboard::SelectionGetEvent(GtkClipboard *aClipboard,
|
||||
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsISupports> item;
|
||||
uint32_t len;
|
||||
|
||||
GdkAtom selectionTarget = gtk_selection_data_get_target(aSelectionData);
|
||||
|
||||
@ -484,8 +483,7 @@ nsClipboard::SelectionGetEvent(GtkClipboard *aClipboard,
|
||||
// Try to convert our internal type into a text string. Get
|
||||
// the transferable for this clipboard and try to get the
|
||||
// text/unicode type for it.
|
||||
rv = trans->GetTransferData("text/unicode", getter_AddRefs(item),
|
||||
&len);
|
||||
rv = trans->GetTransferData("text/unicode", getter_AddRefs(item));
|
||||
if (!item || NS_FAILED(rv))
|
||||
return;
|
||||
|
||||
@ -511,7 +509,11 @@ nsClipboard::SelectionGetEvent(GtkClipboard *aClipboard,
|
||||
nsCOMPtr<nsISupports> imageItem;
|
||||
nsCOMPtr<imgIContainer> image;
|
||||
for (uint32_t i = 0; i < ArrayLength(imageMimeTypes); i++) {
|
||||
rv = trans->GetTransferData(imageMimeTypes[i], getter_AddRefs(imageItem), &len);
|
||||
rv = trans->GetTransferData(imageMimeTypes[i], getter_AddRefs(imageItem));
|
||||
if (NS_FAILED(rv)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
image = do_QueryInterface(imageItem);
|
||||
if (image) {
|
||||
break;
|
||||
@ -532,7 +534,7 @@ nsClipboard::SelectionGetEvent(GtkClipboard *aClipboard,
|
||||
}
|
||||
|
||||
if (selectionTarget == gdk_atom_intern(kHTMLMime, FALSE)) {
|
||||
rv = trans->GetTransferData(kHTMLMime, getter_AddRefs(item), &len);
|
||||
rv = trans->GetTransferData(kHTMLMime, getter_AddRefs(item));
|
||||
if (!item || NS_FAILED(rv)) {
|
||||
return;
|
||||
}
|
||||
@ -562,7 +564,7 @@ nsClipboard::SelectionGetEvent(GtkClipboard *aClipboard,
|
||||
if (!target_name)
|
||||
return;
|
||||
|
||||
rv = trans->GetTransferData(target_name, getter_AddRefs(item), &len);
|
||||
rv = trans->GetTransferData(target_name, getter_AddRefs(item));
|
||||
// nothing found?
|
||||
if (!item || NS_FAILED(rv)) {
|
||||
g_free(target_name);
|
||||
|
@ -709,20 +709,17 @@ nsDragService::GetData(nsITransferable * aTransferable,
|
||||
continue;
|
||||
|
||||
nsCOMPtr<nsISupports> data;
|
||||
uint32_t tmpDataLen = 0;
|
||||
MOZ_LOG(sDragLm, LogLevel::Debug,
|
||||
("trying to get transfer data for %s\n",
|
||||
flavorStr.get()));
|
||||
rv = item->GetTransferData(flavorStr.get(),
|
||||
getter_AddRefs(data),
|
||||
&tmpDataLen);
|
||||
getter_AddRefs(data));
|
||||
if (NS_FAILED(rv)) {
|
||||
MOZ_LOG(sDragLm, LogLevel::Debug, ("failed.\n"));
|
||||
continue;
|
||||
}
|
||||
MOZ_LOG(sDragLm, LogLevel::Debug, ("succeeded.\n"));
|
||||
rv = aTransferable->SetTransferData(flavorStr.get(), data,
|
||||
tmpDataLen);
|
||||
rv = aTransferable->SetTransferData(flavorStr.get(), data, 0);
|
||||
if (NS_FAILED(rv)) {
|
||||
MOZ_LOG(sDragLm,
|
||||
LogLevel::Debug,
|
||||
@ -1490,9 +1487,7 @@ CreateURIList(nsIArray* aItems, nsACString& aURIList)
|
||||
}
|
||||
|
||||
nsCOMPtr<nsISupports> data;
|
||||
uint32_t len = 0;
|
||||
nsresult rv = item->GetTransferData(kURLMime, getter_AddRefs(data),
|
||||
&len);
|
||||
nsresult rv = item->GetTransferData(kURLMime, getter_AddRefs(data));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
nsCOMPtr<nsISupportsString> string = do_QueryInterface(data);
|
||||
|
||||
@ -1515,7 +1510,7 @@ CreateURIList(nsIArray* aItems, nsACString& aURIList)
|
||||
|
||||
// There is no URI available. If there is a file available, create
|
||||
// a URI from the file.
|
||||
rv = item->GetTransferData(kFileMime, getter_AddRefs(data), &len);
|
||||
rv = item->GetTransferData(kFileMime, getter_AddRefs(data));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
if (nsCOMPtr<nsIFile> file = do_QueryInterface(data)) {
|
||||
nsCOMPtr<nsIURI> fileURI;
|
||||
@ -1677,10 +1672,8 @@ nsDragService::SourceDataGet(GtkWidget *aWidget,
|
||||
}
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsISupports> data;
|
||||
uint32_t len;
|
||||
rv = item->GetTransferData(actualFlavor,
|
||||
getter_AddRefs(data),
|
||||
&len);
|
||||
getter_AddRefs(data));
|
||||
|
||||
if (strcmp(actualFlavor, kFilePromiseMime) == 0) {
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
@ -1750,9 +1743,8 @@ nsDragService::SourceBeginDrag(GdkDragContext *aContext)
|
||||
for (uint32_t i = 0; i < flavors.Length(); ++i) {
|
||||
if (flavors[i].EqualsLiteral(kFilePromiseDestFilename)) {
|
||||
nsCOMPtr<nsISupports> data;
|
||||
uint32_t dataSize = 0;
|
||||
transferable->GetTransferData(kFilePromiseDestFilename,
|
||||
getter_AddRefs(data), &dataSize);
|
||||
getter_AddRefs(data));
|
||||
nsCOMPtr<nsISupportsString> fileName = do_QueryInterface(data);
|
||||
if (!fileName)
|
||||
return;
|
||||
|
@ -32,10 +32,8 @@ HeadlessClipboard::SetData(nsITransferable *aTransferable,
|
||||
|
||||
// Only support plain text for now.
|
||||
nsCOMPtr<nsISupports> clip;
|
||||
uint32_t len;
|
||||
nsresult rv = aTransferable->GetTransferData(kUnicodeMime,
|
||||
getter_AddRefs(clip),
|
||||
&len);
|
||||
getter_AddRefs(clip));
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
}
|
||||
|
@ -16,12 +16,11 @@ function getString(clipboard) {
|
||||
|
||||
try {
|
||||
var data = {};
|
||||
var dataLen = {};
|
||||
trans.getTransferData("text/unicode", data, dataLen);
|
||||
trans.getTransferData("text/unicode", data);
|
||||
|
||||
if (data) {
|
||||
data = data.value.QueryInterface(Ci.nsISupportsString);
|
||||
str = data.data.substring(0, dataLen.value / 2);
|
||||
str = data.data;
|
||||
}
|
||||
} catch (ex) {
|
||||
// If the clipboard is empty getTransferData will throw.
|
||||
|
@ -132,7 +132,7 @@ interface nsITransferable : nsISupports
|
||||
* @param aData the data. Some variant of class in nsISupportsPrimitives.idl
|
||||
* @param aDataLen the length of the data
|
||||
*/
|
||||
void getTransferData ( in string aFlavor, out nsISupports aData, out unsigned long aDataLen ) ;
|
||||
void getTransferData(in string aFlavor, out nsISupports aData);
|
||||
|
||||
/**
|
||||
* Returns the best flavor in the transferable, given those that have
|
||||
|
@ -260,13 +260,11 @@ nsTransferable::FindDataFlavor(const char* aFlavor)
|
||||
//
|
||||
NS_IMETHODIMP
|
||||
nsTransferable::GetTransferData(const char* aFlavor,
|
||||
nsISupports** aData,
|
||||
uint32_t* aDataLen)
|
||||
nsISupports** aData)
|
||||
{
|
||||
MOZ_ASSERT(mInitialized);
|
||||
|
||||
*aData = nullptr;
|
||||
*aDataLen = 0;
|
||||
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
@ -288,7 +286,6 @@ nsTransferable::GetTransferData(const char* aFlavor,
|
||||
}
|
||||
|
||||
if (dataBytes) {
|
||||
*aDataLen = len;
|
||||
dataBytes.forget(aData);
|
||||
return NS_OK;
|
||||
}
|
||||
@ -318,8 +315,9 @@ nsTransferable::GetTransferData(const char* aFlavor,
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t dataLen;
|
||||
return mFormatConv->Convert(data.GetFlavor().get(), dataBytes, len,
|
||||
aFlavor, aData, aDataLen);
|
||||
aFlavor, aData, &dataLen);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -66,12 +66,11 @@ function readFromClipboard()
|
||||
trans.addDataFlavor('text/html');
|
||||
clip.getData(trans,clipid.kGlobalClipboard);
|
||||
var str = new Object();
|
||||
var strLength = new Object();
|
||||
trans.getTransferData("text/html",str,strLength);
|
||||
trans.getTransferData("text/html",str);
|
||||
if (str)
|
||||
str = str.value.QueryInterface(Ci.nsISupportsString);
|
||||
if (str)
|
||||
pastetext = str.data.substring(0,strLength.value / 2);
|
||||
pastetext = str.data;
|
||||
return pastetext;
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=565392
|
||||
transferable.addDataFlavor(mime);
|
||||
clipboard.getData(transferable, 1);
|
||||
var data = {};
|
||||
transferable.getTransferData(mime, data, {}) ;
|
||||
transferable.getTransferData(mime, data);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
@ -37,16 +37,15 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=948065
|
||||
trans.addDataFlavor("text/unicode");
|
||||
clipboard.getData(trans, Ci.nsIClipboard.kGlobalClipboard);
|
||||
let str = {};
|
||||
let length = {};
|
||||
try {
|
||||
trans.getTransferData('text/unicode', str, length);
|
||||
trans.getTransferData('text/unicode', str);
|
||||
} catch (e) {
|
||||
str = '';
|
||||
}
|
||||
if (str) {
|
||||
str = str.value.QueryInterface(Ci.nsISupportsString);
|
||||
if (str) {
|
||||
str = str.data.substring(0, length.value / 2);
|
||||
str = str.data;
|
||||
}
|
||||
}
|
||||
return str;
|
||||
|
@ -30,13 +30,11 @@
|
||||
|
||||
function checkTransferableText(transferable, expectedString, description) {
|
||||
var data = {};
|
||||
var dataLen = {};
|
||||
transferable.getTransferData("text/unicode", data, dataLen);
|
||||
transferable.getTransferData("text/unicode", data);
|
||||
var actualValue = data.value.QueryInterface(Ci.nsISupportsString).data;
|
||||
// Use ok + shortenString instead of is(...) to avoid dumping millions of characters in the output.
|
||||
ok(actualValue === expectedString, description + ": text should match. " +
|
||||
"Expected " + shortenString(expectedString) + ", got " + shortenString(actualValue));
|
||||
is(dataLen.value, expectedString.length * 2, description + ": text length should match");
|
||||
|
||||
function shortenString(str) {
|
||||
return str && str.length > 30 ? str.slice(0, 10) + "..." + str.slice(-10) : String(str);
|
||||
|
@ -898,9 +898,8 @@ nsDataObj::GetDib(const nsACString& inFlavor,
|
||||
STGMEDIUM & aSTG)
|
||||
{
|
||||
ULONG result = E_FAIL;
|
||||
uint32_t len = 0;
|
||||
nsCOMPtr<nsISupports> genericDataWrapper;
|
||||
mTransferable->GetTransferData(PromiseFlatCString(inFlavor).get(), getter_AddRefs(genericDataWrapper), &len);
|
||||
mTransferable->GetTransferData(PromiseFlatCString(inFlavor).get(), getter_AddRefs(genericDataWrapper));
|
||||
nsCOMPtr<imgIContainer> image ( do_QueryInterface(genericDataWrapper) );
|
||||
if ( image ) {
|
||||
nsCOMPtr<imgITools> imgTools = do_CreateInstance("@mozilla.org/image/tools;1");
|
||||
@ -1364,7 +1363,6 @@ HRESULT nsDataObj::GetPreferredDropEffect ( FORMATETC& aFE, STGMEDIUM& aSTG )
|
||||
HRESULT nsDataObj::GetText(const nsACString & aDataFlavor, FORMATETC& aFE, STGMEDIUM& aSTG)
|
||||
{
|
||||
void* data = nullptr;
|
||||
uint32_t len;
|
||||
|
||||
// if someone asks for text/plain, look up text/unicode instead in the transferable.
|
||||
const char* flavorStr;
|
||||
@ -1376,9 +1374,11 @@ HRESULT nsDataObj::GetText(const nsACString & aDataFlavor, FORMATETC& aFE, STGME
|
||||
|
||||
// NOTE: CreateDataFromPrimitive creates new memory, that needs to be deleted
|
||||
nsCOMPtr<nsISupports> genericDataWrapper;
|
||||
mTransferable->GetTransferData(flavorStr, getter_AddRefs(genericDataWrapper), &len);
|
||||
if ( !len )
|
||||
mTransferable->GetTransferData(flavorStr, getter_AddRefs(genericDataWrapper));
|
||||
if ( !genericDataWrapper )
|
||||
return E_FAIL;
|
||||
|
||||
uint32_t len;
|
||||
nsPrimitiveHelpers::CreateDataFromPrimitive(
|
||||
nsDependentCString(flavorStr), genericDataWrapper, &data, &len);
|
||||
if ( !data )
|
||||
@ -1482,11 +1482,9 @@ HRESULT nsDataObj::GetFile(FORMATETC& aFE, STGMEDIUM& aSTG)
|
||||
HRESULT nsDataObj::DropFile(FORMATETC& aFE, STGMEDIUM& aSTG)
|
||||
{
|
||||
nsresult rv;
|
||||
uint32_t len = 0;
|
||||
nsCOMPtr<nsISupports> genericDataWrapper;
|
||||
|
||||
mTransferable->GetTransferData(kFileMime, getter_AddRefs(genericDataWrapper),
|
||||
&len);
|
||||
mTransferable->GetTransferData(kFileMime, getter_AddRefs(genericDataWrapper));
|
||||
nsCOMPtr<nsIFile> file ( do_QueryInterface(genericDataWrapper) );
|
||||
if (!file)
|
||||
return E_FAIL;
|
||||
@ -1537,10 +1535,9 @@ HRESULT nsDataObj::DropImage(FORMATETC& aFE, STGMEDIUM& aSTG)
|
||||
{
|
||||
nsresult rv;
|
||||
if (!mCachedTempFile) {
|
||||
uint32_t len = 0;
|
||||
nsCOMPtr<nsISupports> genericDataWrapper;
|
||||
|
||||
mTransferable->GetTransferData(kNativeImageMime, getter_AddRefs(genericDataWrapper), &len);
|
||||
mTransferable->GetTransferData(kNativeImageMime, getter_AddRefs(genericDataWrapper));
|
||||
nsCOMPtr<imgIContainer> image(do_QueryInterface(genericDataWrapper));
|
||||
if (!image)
|
||||
return E_FAIL;
|
||||
@ -1841,9 +1838,8 @@ nsDataObj :: ExtractShortcutURL ( nsString & outURL )
|
||||
NS_ASSERTION ( mTransferable, "We don't have a good transferable" );
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
uint32_t len = 0;
|
||||
nsCOMPtr<nsISupports> genericURL;
|
||||
if ( NS_SUCCEEDED(mTransferable->GetTransferData(kURLMime, getter_AddRefs(genericURL), &len)) ) {
|
||||
if ( NS_SUCCEEDED(mTransferable->GetTransferData(kURLMime, getter_AddRefs(genericURL)))) {
|
||||
nsCOMPtr<nsISupportsString> urlObject ( do_QueryInterface(genericURL) );
|
||||
if ( urlObject ) {
|
||||
nsAutoString url;
|
||||
@ -1859,8 +1855,8 @@ nsDataObj :: ExtractShortcutURL ( nsString & outURL )
|
||||
rv = NS_OK;
|
||||
}
|
||||
}
|
||||
} else if ( NS_SUCCEEDED(mTransferable->GetTransferData(kURLDataMime, getter_AddRefs(genericURL), &len)) ||
|
||||
NS_SUCCEEDED(mTransferable->GetTransferData(kURLPrivateMime, getter_AddRefs(genericURL), &len)) ) {
|
||||
} else if ( NS_SUCCEEDED(mTransferable->GetTransferData(kURLDataMime, getter_AddRefs(genericURL))) ||
|
||||
NS_SUCCEEDED(mTransferable->GetTransferData(kURLPrivateMime, getter_AddRefs(genericURL))) ) {
|
||||
nsCOMPtr<nsISupportsString> urlObject ( do_QueryInterface(genericURL) );
|
||||
if ( urlObject ) {
|
||||
nsAutoString url;
|
||||
@ -1892,9 +1888,8 @@ nsDataObj :: ExtractShortcutTitle ( nsString & outTitle )
|
||||
NS_ASSERTION ( mTransferable, "We'd don't have a good transferable" );
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
uint32_t len = 0;
|
||||
nsCOMPtr<nsISupports> genericURL;
|
||||
if ( NS_SUCCEEDED(mTransferable->GetTransferData(kURLMime, getter_AddRefs(genericURL), &len)) ) {
|
||||
if ( NS_SUCCEEDED(mTransferable->GetTransferData(kURLMime, getter_AddRefs(genericURL)) )) {
|
||||
nsCOMPtr<nsISupportsString> urlObject ( do_QueryInterface(genericURL) );
|
||||
if ( urlObject ) {
|
||||
nsAutoString url;
|
||||
@ -1905,7 +1900,7 @@ nsDataObj :: ExtractShortcutTitle ( nsString & outTitle )
|
||||
int32_t lineIndex = url.FindChar ( '\n' );
|
||||
NS_ASSERTION ( lineIndex != -1, "Format for url flavor is <url> <linefeed> <page title>" );
|
||||
if ( lineIndex != -1 ) {
|
||||
url.Mid ( outTitle, lineIndex + 1, (len/2) - (lineIndex + 1) );
|
||||
url.Mid ( outTitle, lineIndex + 1, url.Length() - (lineIndex + 1) );
|
||||
rv = NS_OK;
|
||||
}
|
||||
}
|
||||
@ -2101,8 +2096,7 @@ HRESULT nsDataObj::GetDownloadDetails(nsIURI **aSourceURI,
|
||||
|
||||
// get the URI from the kFilePromiseURLMime flavor
|
||||
nsCOMPtr<nsISupports> urlPrimitive;
|
||||
uint32_t dataSize = 0;
|
||||
mTransferable->GetTransferData(kFilePromiseURLMime, getter_AddRefs(urlPrimitive), &dataSize);
|
||||
mTransferable->GetTransferData(kFilePromiseURLMime, getter_AddRefs(urlPrimitive));
|
||||
nsCOMPtr<nsISupportsString> srcUrlPrimitive = do_QueryInterface(urlPrimitive);
|
||||
NS_ENSURE_TRUE(srcUrlPrimitive, E_FAIL);
|
||||
|
||||
@ -2115,7 +2109,7 @@ HRESULT nsDataObj::GetDownloadDetails(nsIURI **aSourceURI,
|
||||
|
||||
nsAutoString srcFileName;
|
||||
nsCOMPtr<nsISupports> fileNamePrimitive;
|
||||
mTransferable->GetTransferData(kFilePromiseDestFilename, getter_AddRefs(fileNamePrimitive), &dataSize);
|
||||
mTransferable->GetTransferData(kFilePromiseDestFilename, getter_AddRefs(fileNamePrimitive));
|
||||
nsCOMPtr<nsISupportsString> srcFileNamePrimitive = do_QueryInterface(fileNamePrimitive);
|
||||
if (srcFileNamePrimitive) {
|
||||
srcFileNamePrimitive->GetData(srcFileName);
|
||||
|
Loading…
x
Reference in New Issue
Block a user