LCOV - code coverage report
Current view: top level - obj-x86_64-pc-linux-gnu/dom/bindings - FetchBinding.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 241 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 30 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* THIS FILE IS AUTOGENERATED FROM Fetch.webidl BY Codegen.py - DO NOT EDIT */
       2             : 
       3             : #include "FetchBinding.h"
       4             : #include "mozilla/dom/Blob.h"
       5             : #include "mozilla/dom/FormData.h"
       6             : #include "mozilla/dom/NonRefcountedDOMObject.h"
       7             : #include "mozilla/dom/URLSearchParams.h"
       8             : 
       9             : namespace mozilla {
      10             : namespace dom {
      11             : 
      12             : void
      13           0 : ImplCycleCollectionTraverse(nsCycleCollectionTraversalCallback& aCallback, OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString& aUnion, const char* aName, uint32_t aFlags)
      14             : {
      15           0 :   if (aUnion.IsBlob()) {
      16           0 :     ImplCycleCollectionTraverse(aCallback, aUnion.GetAsBlob(), "mBlob", aFlags);
      17           0 :   } else if (aUnion.IsFormData()) {
      18           0 :     ImplCycleCollectionTraverse(aCallback, aUnion.GetAsFormData(), "mFormData", aFlags);
      19           0 :   } else if (aUnion.IsURLSearchParams()) {
      20           0 :     ImplCycleCollectionTraverse(aCallback, aUnion.GetAsURLSearchParams(), "mURLSearchParams", aFlags);
      21             :   }
      22           0 : }
      23             : 
      24             : 
      25             : void
      26           0 : ImplCycleCollectionUnlink(OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString& aUnion)
      27             : {
      28           0 :   aUnion.Uninit();
      29           0 : }
      30             : 
      31             : 
      32             : bool
      33           0 : BlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const
      34             : {
      35           0 :   switch (mType) {
      36             :     case eUninitialized: {
      37           0 :       return false;
      38             :       break;
      39             :     }
      40             :     case eBlob: {
      41           0 :       if (!GetOrCreateDOMReflector(cx, mValue.mBlob.Value(), rval)) {
      42           0 :         MOZ_ASSERT(true || JS_IsExceptionPending(cx));
      43           0 :         return false;
      44             :       }
      45           0 :       return true;
      46             :       break;
      47             :     }
      48             :     case eArrayBufferView: {
      49           0 :       rval.setObject(*mValue.mArrayBufferView.Value().Obj());
      50           0 :       if (!MaybeWrapNonDOMObjectValue(cx, rval)) {
      51           0 :         return false;
      52             :       }
      53           0 :       return true;
      54             :       break;
      55             :     }
      56             :     case eArrayBuffer: {
      57           0 :       rval.setObject(*mValue.mArrayBuffer.Value().Obj());
      58           0 :       if (!MaybeWrapNonDOMObjectValue(cx, rval)) {
      59           0 :         return false;
      60             :       }
      61           0 :       return true;
      62             :       break;
      63             :     }
      64             :     case eFormData: {
      65           0 :       if (!GetOrCreateDOMReflector(cx, mValue.mFormData.Value(), rval)) {
      66           0 :         MOZ_ASSERT(true || JS_IsExceptionPending(cx));
      67           0 :         return false;
      68             :       }
      69           0 :       return true;
      70             :       break;
      71             :     }
      72             :     case eURLSearchParams: {
      73           0 :       if (!GetOrCreateDOMReflector(cx, mValue.mURLSearchParams.Value(), rval)) {
      74           0 :         MOZ_ASSERT(true || JS_IsExceptionPending(cx));
      75           0 :         return false;
      76             :       }
      77           0 :       return true;
      78             :       break;
      79             :     }
      80             :     case eUSVString: {
      81           0 :       if (!xpc::NonVoidStringToJsval(cx, mValue.mUSVString.Value(), rval)) {
      82           0 :         return false;
      83             :       }
      84           0 :       return true;
      85             :       break;
      86             :     }
      87             :     default: {
      88           0 :       return false;
      89             :       break;
      90             :     }
      91             :   }
      92             : 
      93             :   return false;
      94             : }
      95             : 
      96             : 
      97             : OwningNonNull<mozilla::dom::Blob>&
      98           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::RawSetAsBlob()
      99             : {
     100           0 :   if (mType == eBlob) {
     101           0 :     return mValue.mBlob.Value();
     102             :   }
     103           0 :   MOZ_ASSERT(mType == eUninitialized);
     104           0 :   mType = eBlob;
     105           0 :   return mValue.mBlob.SetValue();
     106             : }
     107             : 
     108             : OwningNonNull<mozilla::dom::Blob>&
     109           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::SetAsBlob()
     110             : {
     111           0 :   if (mType == eBlob) {
     112           0 :     return mValue.mBlob.Value();
     113             :   }
     114           0 :   Uninit();
     115           0 :   mType = eBlob;
     116           0 :   return mValue.mBlob.SetValue();
     117             : }
     118             : 
     119             : bool
     120           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::TrySetToBlob(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl)
     121             : {
     122           0 :   tryNext = false;
     123             :   { // scope for memberSlot
     124           0 :     OwningNonNull<mozilla::dom::Blob>& memberSlot = RawSetAsBlob();
     125             :     static_assert(IsRefcounted<mozilla::dom::Blob>::value, "We can only store refcounted classes.");{
     126           0 :       nsresult rv = UnwrapObject<prototypes::id::Blob, mozilla::dom::Blob>(value, memberSlot);
     127           0 :       if (NS_FAILED(rv)) {
     128           0 :         DestroyBlob();
     129           0 :         tryNext = true;
     130           0 :         return true;
     131             :       }
     132             :     }
     133             :   }
     134           0 :   return true;
     135             : }
     136             : 
     137             : void
     138           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::DestroyBlob()
     139             : {
     140           0 :   MOZ_ASSERT(IsBlob(), "Wrong type!");
     141           0 :   mValue.mBlob.Destroy();
     142           0 :   mType = eUninitialized;
     143           0 : }
     144             : 
     145             : 
     146             : 
     147             : 
     148             : ArrayBufferView&
     149           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::RawSetAsArrayBufferView()
     150             : {
     151           0 :   if (mType == eArrayBufferView) {
     152           0 :     return mValue.mArrayBufferView.Value();
     153             :   }
     154           0 :   MOZ_ASSERT(mType == eUninitialized);
     155           0 :   mType = eArrayBufferView;
     156           0 :   return mValue.mArrayBufferView.SetValue();
     157             : }
     158             : 
     159             : ArrayBufferView&
     160           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::SetAsArrayBufferView()
     161             : {
     162           0 :   if (mType == eArrayBufferView) {
     163           0 :     return mValue.mArrayBufferView.Value();
     164             :   }
     165           0 :   Uninit();
     166           0 :   mType = eArrayBufferView;
     167           0 :   return mValue.mArrayBufferView.SetValue();
     168             : }
     169             : 
     170             : bool
     171           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::TrySetToArrayBufferView(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl)
     172             : {
     173           0 :   tryNext = false;
     174             :   { // scope for memberSlot
     175           0 :     ArrayBufferView& memberSlot = RawSetAsArrayBufferView();
     176           0 :     if (!memberSlot.Init(&value.toObject())) {
     177           0 :       DestroyArrayBufferView();
     178           0 :       tryNext = true;
     179           0 :       return true;
     180             :     }
     181             :   }
     182           0 :   return true;
     183             : }
     184             : 
     185             : void
     186           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::DestroyArrayBufferView()
     187             : {
     188           0 :   MOZ_ASSERT(IsArrayBufferView(), "Wrong type!");
     189           0 :   mValue.mArrayBufferView.Destroy();
     190           0 :   mType = eUninitialized;
     191           0 : }
     192             : 
     193             : 
     194             : 
     195             : 
     196             : ArrayBuffer&
     197           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::RawSetAsArrayBuffer()
     198             : {
     199           0 :   if (mType == eArrayBuffer) {
     200           0 :     return mValue.mArrayBuffer.Value();
     201             :   }
     202           0 :   MOZ_ASSERT(mType == eUninitialized);
     203           0 :   mType = eArrayBuffer;
     204           0 :   return mValue.mArrayBuffer.SetValue();
     205             : }
     206             : 
     207             : ArrayBuffer&
     208           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::SetAsArrayBuffer()
     209             : {
     210           0 :   if (mType == eArrayBuffer) {
     211           0 :     return mValue.mArrayBuffer.Value();
     212             :   }
     213           0 :   Uninit();
     214           0 :   mType = eArrayBuffer;
     215           0 :   return mValue.mArrayBuffer.SetValue();
     216             : }
     217             : 
     218             : bool
     219           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::TrySetToArrayBuffer(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl)
     220             : {
     221           0 :   tryNext = false;
     222             :   { // scope for memberSlot
     223           0 :     ArrayBuffer& memberSlot = RawSetAsArrayBuffer();
     224           0 :     if (!memberSlot.Init(&value.toObject())) {
     225           0 :       DestroyArrayBuffer();
     226           0 :       tryNext = true;
     227           0 :       return true;
     228             :     }
     229             :   }
     230           0 :   return true;
     231             : }
     232             : 
     233             : void
     234           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::DestroyArrayBuffer()
     235             : {
     236           0 :   MOZ_ASSERT(IsArrayBuffer(), "Wrong type!");
     237           0 :   mValue.mArrayBuffer.Destroy();
     238           0 :   mType = eUninitialized;
     239           0 : }
     240             : 
     241             : 
     242             : 
     243             : 
     244             : OwningNonNull<mozilla::dom::FormData>&
     245           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::RawSetAsFormData()
     246             : {
     247           0 :   if (mType == eFormData) {
     248           0 :     return mValue.mFormData.Value();
     249             :   }
     250           0 :   MOZ_ASSERT(mType == eUninitialized);
     251           0 :   mType = eFormData;
     252           0 :   return mValue.mFormData.SetValue();
     253             : }
     254             : 
     255             : OwningNonNull<mozilla::dom::FormData>&
     256           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::SetAsFormData()
     257             : {
     258           0 :   if (mType == eFormData) {
     259           0 :     return mValue.mFormData.Value();
     260             :   }
     261           0 :   Uninit();
     262           0 :   mType = eFormData;
     263           0 :   return mValue.mFormData.SetValue();
     264             : }
     265             : 
     266             : bool
     267           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::TrySetToFormData(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl)
     268             : {
     269           0 :   tryNext = false;
     270             :   { // scope for memberSlot
     271           0 :     OwningNonNull<mozilla::dom::FormData>& memberSlot = RawSetAsFormData();
     272             :     static_assert(IsRefcounted<mozilla::dom::FormData>::value, "We can only store refcounted classes.");{
     273           0 :       nsresult rv = UnwrapObject<prototypes::id::FormData, mozilla::dom::FormData>(value, memberSlot);
     274           0 :       if (NS_FAILED(rv)) {
     275           0 :         DestroyFormData();
     276           0 :         tryNext = true;
     277           0 :         return true;
     278             :       }
     279             :     }
     280             :   }
     281           0 :   return true;
     282             : }
     283             : 
     284             : void
     285           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::DestroyFormData()
     286             : {
     287           0 :   MOZ_ASSERT(IsFormData(), "Wrong type!");
     288           0 :   mValue.mFormData.Destroy();
     289           0 :   mType = eUninitialized;
     290           0 : }
     291             : 
     292             : 
     293             : 
     294             : 
     295             : OwningNonNull<mozilla::dom::URLSearchParams>&
     296           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::RawSetAsURLSearchParams()
     297             : {
     298           0 :   if (mType == eURLSearchParams) {
     299           0 :     return mValue.mURLSearchParams.Value();
     300             :   }
     301           0 :   MOZ_ASSERT(mType == eUninitialized);
     302           0 :   mType = eURLSearchParams;
     303           0 :   return mValue.mURLSearchParams.SetValue();
     304             : }
     305             : 
     306             : OwningNonNull<mozilla::dom::URLSearchParams>&
     307           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::SetAsURLSearchParams()
     308             : {
     309           0 :   if (mType == eURLSearchParams) {
     310           0 :     return mValue.mURLSearchParams.Value();
     311             :   }
     312           0 :   Uninit();
     313           0 :   mType = eURLSearchParams;
     314           0 :   return mValue.mURLSearchParams.SetValue();
     315             : }
     316             : 
     317             : bool
     318           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::TrySetToURLSearchParams(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl)
     319             : {
     320           0 :   tryNext = false;
     321             :   { // scope for memberSlot
     322           0 :     OwningNonNull<mozilla::dom::URLSearchParams>& memberSlot = RawSetAsURLSearchParams();
     323             :     static_assert(IsRefcounted<mozilla::dom::URLSearchParams>::value, "We can only store refcounted classes.");{
     324           0 :       nsresult rv = UnwrapObject<prototypes::id::URLSearchParams, mozilla::dom::URLSearchParams>(value, memberSlot);
     325           0 :       if (NS_FAILED(rv)) {
     326           0 :         DestroyURLSearchParams();
     327           0 :         tryNext = true;
     328           0 :         return true;
     329             :       }
     330             :     }
     331             :   }
     332           0 :   return true;
     333             : }
     334             : 
     335             : void
     336           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::DestroyURLSearchParams()
     337             : {
     338           0 :   MOZ_ASSERT(IsURLSearchParams(), "Wrong type!");
     339           0 :   mValue.mURLSearchParams.Destroy();
     340           0 :   mType = eUninitialized;
     341           0 : }
     342             : 
     343             : 
     344             : 
     345             : 
     346             : nsString&
     347           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::RawSetAsUSVString()
     348             : {
     349           0 :   if (mType == eUSVString) {
     350           0 :     return mValue.mUSVString.Value();
     351             :   }
     352           0 :   MOZ_ASSERT(mType == eUninitialized);
     353           0 :   mType = eUSVString;
     354           0 :   return mValue.mUSVString.SetValue();
     355             : }
     356             : 
     357             : nsString&
     358           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::SetAsUSVString()
     359             : {
     360           0 :   if (mType == eUSVString) {
     361           0 :     return mValue.mUSVString.Value();
     362             :   }
     363           0 :   Uninit();
     364           0 :   mType = eUSVString;
     365           0 :   return mValue.mUSVString.SetValue();
     366             : }
     367             : 
     368             : bool
     369           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::TrySetToUSVString(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl)
     370             : {
     371           0 :   tryNext = false;
     372             :   { // scope for memberSlot
     373           0 :     nsString& memberSlot = RawSetAsUSVString();
     374           0 :     if (!ConvertJSValueToString(cx, value, eStringify, eStringify, memberSlot)) {
     375           0 :       return false;
     376             :     }
     377           0 :     NormalizeUSVString(memberSlot);
     378             :   }
     379           0 :   return true;
     380             : }
     381             : 
     382             : 
     383             : void
     384           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::DestroyUSVString()
     385             : {
     386           0 :   MOZ_ASSERT(IsUSVString(), "Wrong type!");
     387           0 :   mValue.mUSVString.Destroy();
     388           0 :   mType = eUninitialized;
     389           0 : }
     390             : 
     391             : 
     392             : 
     393             : 
     394             : void
     395           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::Uninit()
     396             : {
     397           0 :   switch (mType) {
     398             :     case eUninitialized: {
     399           0 :       break;
     400             :     }
     401             :     case eBlob: {
     402           0 :       DestroyBlob();
     403           0 :       break;
     404             :     }
     405             :     case eArrayBufferView: {
     406           0 :       DestroyArrayBufferView();
     407           0 :       break;
     408             :     }
     409             :     case eArrayBuffer: {
     410           0 :       DestroyArrayBuffer();
     411           0 :       break;
     412             :     }
     413             :     case eFormData: {
     414           0 :       DestroyFormData();
     415           0 :       break;
     416             :     }
     417             :     case eURLSearchParams: {
     418           0 :       DestroyURLSearchParams();
     419           0 :       break;
     420             :     }
     421             :     case eUSVString: {
     422           0 :       DestroyUSVString();
     423           0 :       break;
     424             :     }
     425             :   }
     426           0 : }
     427             : 
     428             : bool
     429           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const
     430             : {
     431           0 :   switch (mType) {
     432             :     case eUninitialized: {
     433           0 :       return false;
     434             :       break;
     435             :     }
     436             :     case eBlob: {
     437           0 :       if (!GetOrCreateDOMReflector(cx, mValue.mBlob.Value(), rval)) {
     438           0 :         MOZ_ASSERT(true || JS_IsExceptionPending(cx));
     439           0 :         return false;
     440             :       }
     441           0 :       return true;
     442             :       break;
     443             :     }
     444             :     case eArrayBufferView: {
     445           0 :       rval.setObject(*mValue.mArrayBufferView.Value().Obj());
     446           0 :       if (!MaybeWrapNonDOMObjectValue(cx, rval)) {
     447           0 :         return false;
     448             :       }
     449           0 :       return true;
     450             :       break;
     451             :     }
     452             :     case eArrayBuffer: {
     453           0 :       rval.setObject(*mValue.mArrayBuffer.Value().Obj());
     454           0 :       if (!MaybeWrapNonDOMObjectValue(cx, rval)) {
     455           0 :         return false;
     456             :       }
     457           0 :       return true;
     458             :       break;
     459             :     }
     460             :     case eFormData: {
     461           0 :       if (!GetOrCreateDOMReflector(cx, mValue.mFormData.Value(), rval)) {
     462           0 :         MOZ_ASSERT(true || JS_IsExceptionPending(cx));
     463           0 :         return false;
     464             :       }
     465           0 :       return true;
     466             :       break;
     467             :     }
     468             :     case eURLSearchParams: {
     469           0 :       if (!GetOrCreateDOMReflector(cx, mValue.mURLSearchParams.Value(), rval)) {
     470           0 :         MOZ_ASSERT(true || JS_IsExceptionPending(cx));
     471           0 :         return false;
     472             :       }
     473           0 :       return true;
     474             :       break;
     475             :     }
     476             :     case eUSVString: {
     477           0 :       if (!xpc::NonVoidStringToJsval(cx, mValue.mUSVString.Value(), rval)) {
     478           0 :         return false;
     479             :       }
     480           0 :       return true;
     481             :       break;
     482             :     }
     483             :     default: {
     484           0 :       return false;
     485             :       break;
     486             :     }
     487             :   }
     488             : 
     489             :   return false;
     490             : }
     491             : 
     492             : void
     493           0 : OwningBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString::TraceUnion(JSTracer* trc)
     494             : {
     495           0 :   switch (mType) {
     496             :     case eArrayBufferView: {
     497           0 :       mValue.mArrayBufferView.Value().TraceSelf(trc);
     498           0 :       break;
     499             :     }
     500             :     case eArrayBuffer: {
     501           0 :       mValue.mArrayBuffer.Value().TraceSelf(trc);
     502           0 :       break;
     503             :     }
     504             :     default: {
     505           0 :       break;
     506             :     }
     507             :   }
     508           0 : }
     509             : 
     510             : 
     511             : } // namespace dom
     512             : } // namespace mozilla

Generated by: LCOV version 1.13