already_AddRefed<DOMMatrix> DOMMatrix::Constructor(const GlobalObject& aGlobal, const Sequence<double>& aNumberSequence, ErrorResult& aRv) { RefPtr<DOMMatrix> obj = new DOMMatrix(aGlobal.GetAsSupports()); SetDataInMatrix(obj, aNumberSequence.Elements(), aNumberSequence.Length(), aRv); return obj.forget(); }
already_AddRefed<nsIDocument> nsDOMParser::ParseFromBuffer(const Sequence<uint8_t>& aBuf, uint32_t aBufLen, SupportedType aType, ErrorResult& rv) { if (aBufLen > aBuf.Length()) { rv.Throw(NS_ERROR_XPC_NOT_ENOUGH_ELEMENTS_IN_ARRAY); return nullptr; } nsCOMPtr<nsIDOMDocument> domDocument; rv = nsDOMParser::ParseFromBuffer(aBuf.Elements(), aBufLen, SupportedTypeValues::strings[aType].value, getter_AddRefs(domDocument)); nsCOMPtr<nsIDocument> document(do_QueryInterface(domDocument)); return document.forget(); }
void nsBrowserElement::SendTouchEvent(const nsAString& aType, const Sequence<uint32_t>& aIdentifiers, const Sequence<int32_t>& aXs, const Sequence<int32_t>& aYs, const Sequence<uint32_t>& aRxs, const Sequence<uint32_t>& aRys, const Sequence<float>& aRotationAngles, const Sequence<float>& aForces, uint32_t aCount, uint32_t aModifiers, ErrorResult& aRv) { NS_ENSURE_TRUE_VOID(IsBrowserElementOrThrow(aRv)); NS_ENSURE_TRUE_VOID(IsNotWidgetOrThrow(aRv)); if (aIdentifiers.Length() != aCount || aXs.Length() != aCount || aYs.Length() != aCount || aRxs.Length() != aCount || aRys.Length() != aCount || aRotationAngles.Length() != aCount || aForces.Length() != aCount) { aRv.Throw(NS_ERROR_DOM_INVALID_ACCESS_ERR); return; } nsresult rv = mBrowserElementAPI->SendTouchEvent(aType, aIdentifiers.Elements(), aXs.Elements(), aYs.Elements(), aRxs.Elements(), aRys.Elements(), aRotationAngles.Elements(), aForces.Elements(), aCount, aModifiers); if (NS_WARN_IF(NS_FAILED(rv))) { aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); } }