Bug 1832701 - Part 2: Add IPCTransferable for clipboard write parameters; r=nika
Move IPCTransferable* into a separated file to avoid circular dependency and use `hg cp` in order to keep the history. Differential Revision: https://phabricator.services.mozilla.com/D178070
This commit is contained in:
@@ -7944,6 +7944,28 @@ nsresult nsContentUtils::IPCTransferableDataToTransferable(
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsContentUtils::IPCTransferableToTransferable(
|
||||
const IPCTransferable& aIPCTransferable, bool aAddDataFlavor,
|
||||
nsITransferable* aTransferable, const bool aFilterUnknownFlavors) {
|
||||
nsresult rv =
|
||||
IPCTransferableDataToTransferable(aIPCTransferable.data(), aAddDataFlavor,
|
||||
aTransferable, aFilterUnknownFlavors);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
aTransferable->SetIsPrivateData(aIPCTransferable.isPrivateData());
|
||||
aTransferable->SetRequestingPrincipal(aIPCTransferable.requestingPrincipal());
|
||||
if (aIPCTransferable.cookieJarSettings().isSome()) {
|
||||
nsCOMPtr<nsICookieJarSettings> cookieJarSettings;
|
||||
net::CookieJarSettings::Deserialize(
|
||||
aIPCTransferable.cookieJarSettings().ref(),
|
||||
getter_AddRefs(cookieJarSettings));
|
||||
aTransferable->SetCookieJarSettings(cookieJarSettings);
|
||||
}
|
||||
aTransferable->SetContentPolicyType(aIPCTransferable.contentPolicyType());
|
||||
aTransferable->SetReferrerInfo(aIPCTransferable.referrerInfo());
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsContentUtils::IPCTransferableDataItemToVariant(
|
||||
const IPCTransferableDataItem& aItem, nsIWritableVariant* aVariant) {
|
||||
MOZ_ASSERT(aVariant);
|
||||
@@ -8279,6 +8301,30 @@ void nsContentUtils::TransferableToIPCTransferableData(
|
||||
}
|
||||
}
|
||||
|
||||
void nsContentUtils::TransferableToIPCTransferable(
|
||||
nsITransferable* aTransferable, IPCTransferable* aIPCTransferable,
|
||||
bool aInSyncMessage, mozilla::dom::ContentParent* aParent) {
|
||||
IPCTransferableData ipcTransferableData;
|
||||
TransferableToIPCTransferableData(aTransferable, &ipcTransferableData,
|
||||
aInSyncMessage, aParent);
|
||||
|
||||
Maybe<net::CookieJarSettingsArgs> cookieJarSettingsArgs;
|
||||
if (nsCOMPtr<nsICookieJarSettings> cookieJarSettings =
|
||||
aTransferable->GetCookieJarSettings()) {
|
||||
net::CookieJarSettingsArgs args;
|
||||
net::CookieJarSettings::Cast(cookieJarSettings)->Serialize(args);
|
||||
cookieJarSettingsArgs = Some(std::move(args));
|
||||
}
|
||||
|
||||
aIPCTransferable->data() = std::move(ipcTransferableData);
|
||||
aIPCTransferable->isPrivateData() = aTransferable->GetIsPrivateData();
|
||||
aIPCTransferable->requestingPrincipal() =
|
||||
aTransferable->GetRequestingPrincipal();
|
||||
aIPCTransferable->cookieJarSettings() = std::move(cookieJarSettingsArgs);
|
||||
aIPCTransferable->contentPolicyType() = aTransferable->GetContentPolicyType();
|
||||
aIPCTransferable->referrerInfo() = aTransferable->GetReferrerInfo();
|
||||
}
|
||||
|
||||
Maybe<BigBuffer> nsContentUtils::GetSurfaceData(DataSourceSurface& aSurface,
|
||||
size_t* aLength,
|
||||
int32_t* aStride) {
|
||||
|
||||
Reference in New Issue
Block a user