LCOV - code coverage report
Current view: directory - objdir/js/xpconnect/src - DictionaryHelpers.cpp (source / functions) Found Hit Coverage
Test: app.info Lines: 498 126 25.3 %
Date: 2012-06-02 Functions: 53 12 22.6 %

       1                 : /* THIS FILE IS AUTOGENERATED - DO NOT EDIT */
       2                 : 
       3                 : #include "DictionaryHelpers.h"
       4                 : #include "nsContentUtils.h"
       5                 : #include "XPCQuickStubs.h"
       6                 : #include "nsIDOMEvent.h"
       7                 : #include "nsIDOMCustomEvent.h"
       8                 : #include "nsIDOMPopStateEvent.h"
       9                 : #include "nsIDOMHashChangeEvent.h"
      10                 : #include "nsIDOMPageTransitionEvent.h"
      11                 : #include "nsIDOMCloseEvent.h"
      12                 : #include "nsIDOMUIEvent.h"
      13                 : #include "nsIDOMMouseEvent.h"
      14                 : #include "nsIIDBDatabase.h"
      15                 : #include "nsIIDBObjectStore.h"
      16                 : #include "nsIDOMStorageEvent.h"
      17                 : #include "nsIDOMFile.h"
      18                 : #include "nsIVariant.h"
      19                 : #include "nsIDOMWindow.h"
      20                 : #include "nsIDOMEventTarget.h"
      21                 : #include "nsIDOMStorage.h"
      22                 : 
      23                 : using namespace mozilla::dom;
      24                 : 
      25            1464 : static jsid gDictionary_id_bubbles = JSID_VOID;
      26            1464 : static jsid gDictionary_id_cancelable = JSID_VOID;
      27            1464 : static jsid gDictionary_id_detail = JSID_VOID;
      28            1464 : static jsid gDictionary_id_state = JSID_VOID;
      29            1464 : static jsid gDictionary_id_oldURL = JSID_VOID;
      30            1464 : static jsid gDictionary_id_newURL = JSID_VOID;
      31            1464 : static jsid gDictionary_id_persisted = JSID_VOID;
      32            1464 : static jsid gDictionary_id_wasClean = JSID_VOID;
      33            1464 : static jsid gDictionary_id_code = JSID_VOID;
      34            1464 : static jsid gDictionary_id_reason = JSID_VOID;
      35            1464 : static jsid gDictionary_id_view = JSID_VOID;
      36            1464 : static jsid gDictionary_id_screenX = JSID_VOID;
      37            1464 : static jsid gDictionary_id_screenY = JSID_VOID;
      38            1464 : static jsid gDictionary_id_clientX = JSID_VOID;
      39            1464 : static jsid gDictionary_id_clientY = JSID_VOID;
      40            1464 : static jsid gDictionary_id_ctrlKey = JSID_VOID;
      41            1464 : static jsid gDictionary_id_shiftKey = JSID_VOID;
      42            1464 : static jsid gDictionary_id_altKey = JSID_VOID;
      43            1464 : static jsid gDictionary_id_metaKey = JSID_VOID;
      44            1464 : static jsid gDictionary_id_button = JSID_VOID;
      45            1464 : static jsid gDictionary_id_relatedTarget = JSID_VOID;
      46            1464 : static jsid gDictionary_id_keyPath = JSID_VOID;
      47            1464 : static jsid gDictionary_id_autoIncrement = JSID_VOID;
      48            1464 : static jsid gDictionary_id_unique = JSID_VOID;
      49            1464 : static jsid gDictionary_id_multiEntry = JSID_VOID;
      50            1464 : static jsid gDictionary_id_key = JSID_VOID;
      51            1464 : static jsid gDictionary_id_oldValue = JSID_VOID;
      52            1464 : static jsid gDictionary_id_newValue = JSID_VOID;
      53            1464 : static jsid gDictionary_id_url = JSID_VOID;
      54            1464 : static jsid gDictionary_id_storageArea = JSID_VOID;
      55            1464 : static jsid gDictionary_id_type = JSID_VOID;
      56            1464 : static jsid gDictionary_id_endings = JSID_VOID;
      57                 : 
      58                 : static bool
      59           44928 : InternStaticJSVal(JSContext* aCx, jsid &id, const char* aString)
      60                 : {
      61           44928 :   if (JSString* str = JS_InternString(aCx, aString)) {
      62           44928 :     id = INTERNED_STRING_TO_JSID(aCx, str);
      63           44928 :     return true;
      64                 :   }
      65               0 :   return false;
      66                 : }
      67                 : 
      68                 : bool
      69            1404 : InternStaticDictionaryJSVals(JSContext* aCx)
      70                 : {
      71            2808 :   JSAutoRequest ar(aCx);
      72                 :   return
      73            1404 :     InternStaticJSVal(aCx, gDictionary_id_bubbles, "bubbles") &&
      74            1404 :     InternStaticJSVal(aCx, gDictionary_id_cancelable, "cancelable") &&
      75            1404 :     InternStaticJSVal(aCx, gDictionary_id_detail, "detail") &&
      76            1404 :     InternStaticJSVal(aCx, gDictionary_id_state, "state") &&
      77            1404 :     InternStaticJSVal(aCx, gDictionary_id_oldURL, "oldURL") &&
      78            1404 :     InternStaticJSVal(aCx, gDictionary_id_newURL, "newURL") &&
      79            1404 :     InternStaticJSVal(aCx, gDictionary_id_persisted, "persisted") &&
      80            1404 :     InternStaticJSVal(aCx, gDictionary_id_wasClean, "wasClean") &&
      81            1404 :     InternStaticJSVal(aCx, gDictionary_id_code, "code") &&
      82            1404 :     InternStaticJSVal(aCx, gDictionary_id_reason, "reason") &&
      83            1404 :     InternStaticJSVal(aCx, gDictionary_id_view, "view") &&
      84            1404 :     InternStaticJSVal(aCx, gDictionary_id_screenX, "screenX") &&
      85            1404 :     InternStaticJSVal(aCx, gDictionary_id_screenY, "screenY") &&
      86            1404 :     InternStaticJSVal(aCx, gDictionary_id_clientX, "clientX") &&
      87            1404 :     InternStaticJSVal(aCx, gDictionary_id_clientY, "clientY") &&
      88            1404 :     InternStaticJSVal(aCx, gDictionary_id_ctrlKey, "ctrlKey") &&
      89            1404 :     InternStaticJSVal(aCx, gDictionary_id_shiftKey, "shiftKey") &&
      90            1404 :     InternStaticJSVal(aCx, gDictionary_id_altKey, "altKey") &&
      91            1404 :     InternStaticJSVal(aCx, gDictionary_id_metaKey, "metaKey") &&
      92            1404 :     InternStaticJSVal(aCx, gDictionary_id_button, "button") &&
      93            1404 :     InternStaticJSVal(aCx, gDictionary_id_relatedTarget, "relatedTarget") &&
      94            1404 :     InternStaticJSVal(aCx, gDictionary_id_keyPath, "keyPath") &&
      95            1404 :     InternStaticJSVal(aCx, gDictionary_id_autoIncrement, "autoIncrement") &&
      96            1404 :     InternStaticJSVal(aCx, gDictionary_id_unique, "unique") &&
      97            1404 :     InternStaticJSVal(aCx, gDictionary_id_multiEntry, "multiEntry") &&
      98            1404 :     InternStaticJSVal(aCx, gDictionary_id_key, "key") &&
      99            1404 :     InternStaticJSVal(aCx, gDictionary_id_oldValue, "oldValue") &&
     100            1404 :     InternStaticJSVal(aCx, gDictionary_id_newValue, "newValue") &&
     101            1404 :     InternStaticJSVal(aCx, gDictionary_id_url, "url") &&
     102            1404 :     InternStaticJSVal(aCx, gDictionary_id_storageArea, "storageArea") &&
     103            1404 :     InternStaticJSVal(aCx, gDictionary_id_type, "type") &&
     104            1404 :     InternStaticJSVal(aCx, gDictionary_id_endings, "endings") &&
     105           44928 :     true;
     106                 : }
     107                 : 
     108               0 : EventInit::EventInit() :
     109                 :   bubbles(false),
     110               0 :   cancelable(false)
     111               0 : {}
     112                 : 
     113               0 : EventInit::~EventInit() {}
     114                 : 
     115                 : static nsresult
     116               0 : EventInit_InitInternal(EventInit& aDict, JSContext* aCx, JSObject* aObj)
     117                 : {
     118               0 :   JSBool found = PR_FALSE;
     119               0 :   jsval v = JSVAL_VOID;
     120               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_bubbles, &found));
     121               0 :   if (found) {
     122               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_bubbles, &v));
     123                 :     JSBool b;
     124               0 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     125               0 :     aDict.bubbles = b;
     126                 :   }
     127               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_cancelable, &found));
     128               0 :   if (found) {
     129               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_cancelable, &v));
     130                 :     JSBool b;
     131               0 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     132               0 :     aDict.cancelable = b;
     133                 :   }
     134               0 :   return NS_OK;
     135                 : }
     136                 : 
     137                 : nsresult
     138               0 : EventInit::Init(JSContext* aCx, const jsval* aVal)
     139                 : {
     140               0 :   if (!aCx || !aVal) {
     141               0 :     return NS_OK;
     142                 :   }
     143               0 :   NS_ENSURE_STATE(aVal->isObject());
     144                 : 
     145               0 :   JSObject* obj = &aVal->toObject();
     146               0 :   nsCxPusher pusher;
     147               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     148               0 :   JSAutoRequest ar(aCx);
     149               0 :   JSAutoEnterCompartment ac;
     150               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     151               0 :   return EventInit_InitInternal(*this, aCx, obj);
     152                 : }
     153                 : 
     154               0 : CustomEventInit::CustomEventInit() :
     155                 :   EventInit(),
     156               0 :   detail(nsnull)
     157               0 : {}
     158                 : 
     159               0 : CustomEventInit::~CustomEventInit() {}
     160                 : 
     161                 : static nsresult
     162               0 : CustomEventInit_InitInternal(CustomEventInit& aDict, JSContext* aCx, JSObject* aObj)
     163                 : {
     164               0 :   nsresult rv = EventInit_InitInternal(aDict, aCx, aObj);
     165               0 :   NS_ENSURE_SUCCESS(rv, rv);
     166               0 :   JSBool found = PR_FALSE;
     167               0 :   jsval v = JSVAL_VOID;
     168               0 :   XPCCallContext ccx(NATIVE_CALLER, aCx);
     169               0 :   NS_ENSURE_STATE(ccx.IsValid());
     170               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_detail, &found));
     171               0 :   if (found) {
     172               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_detail, &v));
     173               0 :     nsCOMPtr<nsIVariant> d(already_AddRefed<nsIVariant>(XPCVariant::newVariant(ccx, v)));
     174               0 :     NS_ENSURE_STATE(d);
     175               0 :     aDict.detail = d;
     176                 :   }
     177               0 :   return NS_OK;
     178                 : }
     179                 : 
     180                 : nsresult
     181               0 : CustomEventInit::Init(JSContext* aCx, const jsval* aVal)
     182                 : {
     183               0 :   if (!aCx || !aVal) {
     184               0 :     return NS_OK;
     185                 :   }
     186               0 :   NS_ENSURE_STATE(aVal->isObject());
     187                 : 
     188               0 :   JSObject* obj = &aVal->toObject();
     189               0 :   nsCxPusher pusher;
     190               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     191               0 :   JSAutoRequest ar(aCx);
     192               0 :   JSAutoEnterCompartment ac;
     193               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     194               0 :   return CustomEventInit_InitInternal(*this, aCx, obj);
     195                 : }
     196                 : 
     197               0 : PopStateEventInit::PopStateEventInit() :
     198                 :   EventInit(),
     199               0 :   state(nsnull)
     200               0 : {}
     201                 : 
     202               0 : PopStateEventInit::~PopStateEventInit() {}
     203                 : 
     204                 : static nsresult
     205               0 : PopStateEventInit_InitInternal(PopStateEventInit& aDict, JSContext* aCx, JSObject* aObj)
     206                 : {
     207               0 :   nsresult rv = EventInit_InitInternal(aDict, aCx, aObj);
     208               0 :   NS_ENSURE_SUCCESS(rv, rv);
     209               0 :   JSBool found = PR_FALSE;
     210               0 :   jsval v = JSVAL_VOID;
     211               0 :   XPCCallContext ccx(NATIVE_CALLER, aCx);
     212               0 :   NS_ENSURE_STATE(ccx.IsValid());
     213               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_state, &found));
     214               0 :   if (found) {
     215               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_state, &v));
     216               0 :     nsCOMPtr<nsIVariant> d(already_AddRefed<nsIVariant>(XPCVariant::newVariant(ccx, v)));
     217               0 :     NS_ENSURE_STATE(d);
     218               0 :     aDict.state = d;
     219                 :   }
     220               0 :   return NS_OK;
     221                 : }
     222                 : 
     223                 : nsresult
     224               0 : PopStateEventInit::Init(JSContext* aCx, const jsval* aVal)
     225                 : {
     226               0 :   if (!aCx || !aVal) {
     227               0 :     return NS_OK;
     228                 :   }
     229               0 :   NS_ENSURE_STATE(aVal->isObject());
     230                 : 
     231               0 :   JSObject* obj = &aVal->toObject();
     232               0 :   nsCxPusher pusher;
     233               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     234               0 :   JSAutoRequest ar(aCx);
     235               0 :   JSAutoEnterCompartment ac;
     236               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     237               0 :   return PopStateEventInit_InitInternal(*this, aCx, obj);
     238                 : }
     239                 : 
     240               0 : HashChangeEventInit::HashChangeEventInit() :
     241                 :   EventInit(),
     242                 :   oldURL(),
     243               0 :   newURL()
     244               0 : {}
     245                 : 
     246               0 : HashChangeEventInit::~HashChangeEventInit() {}
     247                 : 
     248                 : static nsresult
     249               0 : HashChangeEventInit_InitInternal(HashChangeEventInit& aDict, JSContext* aCx, JSObject* aObj)
     250                 : {
     251               0 :   nsresult rv = EventInit_InitInternal(aDict, aCx, aObj);
     252               0 :   NS_ENSURE_SUCCESS(rv, rv);
     253               0 :   JSBool found = PR_FALSE;
     254               0 :   jsval v = JSVAL_VOID;
     255               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_oldURL, &found));
     256               0 :   if (found) {
     257               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_oldURL, &v));
     258               0 :     xpc_qsDOMString d(aCx, v, &v, xpc_qsDOMString::eStringify, xpc_qsDOMString::eStringify);
     259               0 :     NS_ENSURE_STATE(d.IsValid());
     260               0 :     aDict.oldURL = d;
     261                 :   }
     262               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_newURL, &found));
     263               0 :   if (found) {
     264               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_newURL, &v));
     265               0 :     xpc_qsDOMString d(aCx, v, &v, xpc_qsDOMString::eStringify, xpc_qsDOMString::eStringify);
     266               0 :     NS_ENSURE_STATE(d.IsValid());
     267               0 :     aDict.newURL = d;
     268                 :   }
     269               0 :   return NS_OK;
     270                 : }
     271                 : 
     272                 : nsresult
     273               0 : HashChangeEventInit::Init(JSContext* aCx, const jsval* aVal)
     274                 : {
     275               0 :   if (!aCx || !aVal) {
     276               0 :     return NS_OK;
     277                 :   }
     278               0 :   NS_ENSURE_STATE(aVal->isObject());
     279                 : 
     280               0 :   JSObject* obj = &aVal->toObject();
     281               0 :   nsCxPusher pusher;
     282               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     283               0 :   JSAutoRequest ar(aCx);
     284               0 :   JSAutoEnterCompartment ac;
     285               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     286               0 :   return HashChangeEventInit_InitInternal(*this, aCx, obj);
     287                 : }
     288                 : 
     289               0 : PageTransitionEventInit::PageTransitionEventInit() :
     290                 :   EventInit(),
     291               0 :   persisted(false)
     292               0 : {}
     293                 : 
     294               0 : PageTransitionEventInit::~PageTransitionEventInit() {}
     295                 : 
     296                 : static nsresult
     297               0 : PageTransitionEventInit_InitInternal(PageTransitionEventInit& aDict, JSContext* aCx, JSObject* aObj)
     298                 : {
     299               0 :   nsresult rv = EventInit_InitInternal(aDict, aCx, aObj);
     300               0 :   NS_ENSURE_SUCCESS(rv, rv);
     301               0 :   JSBool found = PR_FALSE;
     302               0 :   jsval v = JSVAL_VOID;
     303               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_persisted, &found));
     304               0 :   if (found) {
     305               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_persisted, &v));
     306                 :     JSBool b;
     307               0 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     308               0 :     aDict.persisted = b;
     309                 :   }
     310               0 :   return NS_OK;
     311                 : }
     312                 : 
     313                 : nsresult
     314               0 : PageTransitionEventInit::Init(JSContext* aCx, const jsval* aVal)
     315                 : {
     316               0 :   if (!aCx || !aVal) {
     317               0 :     return NS_OK;
     318                 :   }
     319               0 :   NS_ENSURE_STATE(aVal->isObject());
     320                 : 
     321               0 :   JSObject* obj = &aVal->toObject();
     322               0 :   nsCxPusher pusher;
     323               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     324               0 :   JSAutoRequest ar(aCx);
     325               0 :   JSAutoEnterCompartment ac;
     326               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     327               0 :   return PageTransitionEventInit_InitInternal(*this, aCx, obj);
     328                 : }
     329                 : 
     330               0 : CloseEventInit::CloseEventInit() :
     331                 :   EventInit(),
     332                 :   wasClean(false),
     333                 :   code(0),
     334               0 :   reason()
     335               0 : {}
     336                 : 
     337               0 : CloseEventInit::~CloseEventInit() {}
     338                 : 
     339                 : static nsresult
     340               0 : CloseEventInit_InitInternal(CloseEventInit& aDict, JSContext* aCx, JSObject* aObj)
     341                 : {
     342               0 :   nsresult rv = EventInit_InitInternal(aDict, aCx, aObj);
     343               0 :   NS_ENSURE_SUCCESS(rv, rv);
     344               0 :   JSBool found = PR_FALSE;
     345               0 :   jsval v = JSVAL_VOID;
     346               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_wasClean, &found));
     347               0 :   if (found) {
     348               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_wasClean, &v));
     349                 :     JSBool b;
     350               0 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     351               0 :     aDict.wasClean = b;
     352                 :   }
     353               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_code, &found));
     354               0 :   if (found) {
     355               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_code, &v));
     356                 :     uint32_t u;
     357               0 :     NS_ENSURE_STATE(JS_ValueToECMAUint32(aCx, v, &u));
     358               0 :     aDict.code = u;
     359                 :   }
     360               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_reason, &found));
     361               0 :   if (found) {
     362               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_reason, &v));
     363               0 :     xpc_qsDOMString d(aCx, v, &v, xpc_qsDOMString::eStringify, xpc_qsDOMString::eStringify);
     364               0 :     NS_ENSURE_STATE(d.IsValid());
     365               0 :     aDict.reason = d;
     366                 :   }
     367               0 :   return NS_OK;
     368                 : }
     369                 : 
     370                 : nsresult
     371               0 : CloseEventInit::Init(JSContext* aCx, const jsval* aVal)
     372                 : {
     373               0 :   if (!aCx || !aVal) {
     374               0 :     return NS_OK;
     375                 :   }
     376               0 :   NS_ENSURE_STATE(aVal->isObject());
     377                 : 
     378               0 :   JSObject* obj = &aVal->toObject();
     379               0 :   nsCxPusher pusher;
     380               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     381               0 :   JSAutoRequest ar(aCx);
     382               0 :   JSAutoEnterCompartment ac;
     383               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     384               0 :   return CloseEventInit_InitInternal(*this, aCx, obj);
     385                 : }
     386                 : 
     387               0 : UIEventInit::UIEventInit() :
     388                 :   EventInit(),
     389                 :   view(nsnull),
     390               0 :   detail(0)
     391               0 : {}
     392                 : 
     393               0 : UIEventInit::~UIEventInit() {}
     394                 : 
     395                 : static nsresult
     396               0 : UIEventInit_InitInternal(UIEventInit& aDict, JSContext* aCx, JSObject* aObj)
     397                 : {
     398               0 :   nsresult rv = EventInit_InitInternal(aDict, aCx, aObj);
     399               0 :   NS_ENSURE_SUCCESS(rv, rv);
     400               0 :   JSBool found = PR_FALSE;
     401               0 :   jsval v = JSVAL_VOID;
     402               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_view, &found));
     403               0 :   if (found) {
     404               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_view, &v));
     405                 :     nsIDOMWindow * d;
     406               0 :     xpc_qsSelfRef ref;
     407               0 :     nsresult rv = xpc_qsUnwrapArg<nsIDOMWindow>(aCx, v, &d, &ref.ptr, &v);
     408               0 :     NS_ENSURE_SUCCESS(rv, rv);
     409               0 :     aDict.view = d;
     410                 :   }
     411               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_detail, &found));
     412               0 :   if (found) {
     413               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_detail, &v));
     414               0 :     NS_ENSURE_STATE(JS_ValueToECMAInt32(aCx, v, &aDict.detail));
     415                 :   }
     416               0 :   return NS_OK;
     417                 : }
     418                 : 
     419                 : nsresult
     420               0 : UIEventInit::Init(JSContext* aCx, const jsval* aVal)
     421                 : {
     422               0 :   if (!aCx || !aVal) {
     423               0 :     return NS_OK;
     424                 :   }
     425               0 :   NS_ENSURE_STATE(aVal->isObject());
     426                 : 
     427               0 :   JSObject* obj = &aVal->toObject();
     428               0 :   nsCxPusher pusher;
     429               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     430               0 :   JSAutoRequest ar(aCx);
     431               0 :   JSAutoEnterCompartment ac;
     432               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     433               0 :   return UIEventInit_InitInternal(*this, aCx, obj);
     434                 : }
     435                 : 
     436               0 : MouseEventInit::MouseEventInit() :
     437                 :   UIEventInit(),
     438                 :   screenX(0),
     439                 :   screenY(0),
     440                 :   clientX(0),
     441                 :   clientY(0),
     442                 :   ctrlKey(false),
     443                 :   shiftKey(false),
     444                 :   altKey(false),
     445                 :   metaKey(false),
     446                 :   button(0),
     447               0 :   relatedTarget(nsnull)
     448               0 : {}
     449                 : 
     450               0 : MouseEventInit::~MouseEventInit() {}
     451                 : 
     452                 : static nsresult
     453               0 : MouseEventInit_InitInternal(MouseEventInit& aDict, JSContext* aCx, JSObject* aObj)
     454                 : {
     455               0 :   nsresult rv = UIEventInit_InitInternal(aDict, aCx, aObj);
     456               0 :   NS_ENSURE_SUCCESS(rv, rv);
     457               0 :   JSBool found = PR_FALSE;
     458               0 :   jsval v = JSVAL_VOID;
     459               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_screenX, &found));
     460               0 :   if (found) {
     461               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_screenX, &v));
     462               0 :     NS_ENSURE_STATE(JS_ValueToECMAInt32(aCx, v, &aDict.screenX));
     463                 :   }
     464               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_screenY, &found));
     465               0 :   if (found) {
     466               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_screenY, &v));
     467               0 :     NS_ENSURE_STATE(JS_ValueToECMAInt32(aCx, v, &aDict.screenY));
     468                 :   }
     469               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_clientX, &found));
     470               0 :   if (found) {
     471               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_clientX, &v));
     472               0 :     NS_ENSURE_STATE(JS_ValueToECMAInt32(aCx, v, &aDict.clientX));
     473                 :   }
     474               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_clientY, &found));
     475               0 :   if (found) {
     476               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_clientY, &v));
     477               0 :     NS_ENSURE_STATE(JS_ValueToECMAInt32(aCx, v, &aDict.clientY));
     478                 :   }
     479               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_ctrlKey, &found));
     480               0 :   if (found) {
     481               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_ctrlKey, &v));
     482                 :     JSBool b;
     483               0 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     484               0 :     aDict.ctrlKey = b;
     485                 :   }
     486               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_shiftKey, &found));
     487               0 :   if (found) {
     488               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_shiftKey, &v));
     489                 :     JSBool b;
     490               0 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     491               0 :     aDict.shiftKey = b;
     492                 :   }
     493               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_altKey, &found));
     494               0 :   if (found) {
     495               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_altKey, &v));
     496                 :     JSBool b;
     497               0 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     498               0 :     aDict.altKey = b;
     499                 :   }
     500               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_metaKey, &found));
     501               0 :   if (found) {
     502               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_metaKey, &v));
     503                 :     JSBool b;
     504               0 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     505               0 :     aDict.metaKey = b;
     506                 :   }
     507               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_button, &found));
     508               0 :   if (found) {
     509               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_button, &v));
     510                 :     uint32_t u;
     511               0 :     NS_ENSURE_STATE(JS_ValueToECMAUint32(aCx, v, &u));
     512               0 :     aDict.button = u;
     513                 :   }
     514               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_relatedTarget, &found));
     515               0 :   if (found) {
     516               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_relatedTarget, &v));
     517                 :     nsIDOMEventTarget * d;
     518               0 :     xpc_qsSelfRef ref;
     519               0 :     nsresult rv = xpc_qsUnwrapArg<nsIDOMEventTarget>(aCx, v, &d, &ref.ptr, &v);
     520               0 :     NS_ENSURE_SUCCESS(rv, rv);
     521               0 :     aDict.relatedTarget = d;
     522                 :   }
     523               0 :   return NS_OK;
     524                 : }
     525                 : 
     526                 : nsresult
     527               0 : MouseEventInit::Init(JSContext* aCx, const jsval* aVal)
     528                 : {
     529               0 :   if (!aCx || !aVal) {
     530               0 :     return NS_OK;
     531                 :   }
     532               0 :   NS_ENSURE_STATE(aVal->isObject());
     533                 : 
     534               0 :   JSObject* obj = &aVal->toObject();
     535               0 :   nsCxPusher pusher;
     536               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     537               0 :   JSAutoRequest ar(aCx);
     538               0 :   JSAutoEnterCompartment ac;
     539               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     540               0 :   return MouseEventInit_InitInternal(*this, aCx, obj);
     541                 : }
     542                 : 
     543             202 : IDBObjectStoreParameters::IDBObjectStoreParameters() :
     544                 :   keyPath(JSVAL_VOID),
     545             202 :   autoIncrement(false)
     546             202 : {}
     547                 : 
     548             202 : IDBObjectStoreParameters::~IDBObjectStoreParameters() {}
     549                 : 
     550                 : static nsresult
     551             184 : IDBObjectStoreParameters_InitInternal(IDBObjectStoreParameters& aDict, JSContext* aCx, JSObject* aObj)
     552                 : {
     553             184 :   JSBool found = PR_FALSE;
     554             184 :   jsval v = JSVAL_VOID;
     555             184 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_keyPath, &found));
     556             184 :   if (found) {
     557             164 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_keyPath, &aDict.keyPath));
     558                 :   }
     559             184 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_autoIncrement, &found));
     560             184 :   if (found) {
     561             158 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_autoIncrement, &v));
     562                 :     JSBool b;
     563             158 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     564             158 :     aDict.autoIncrement = b;
     565                 :   }
     566             184 :   return NS_OK;
     567                 : }
     568                 : 
     569                 : nsresult
     570             185 : IDBObjectStoreParameters::Init(JSContext* aCx, const jsval* aVal)
     571                 : {
     572             185 :   if (!aCx || !aVal) {
     573               0 :     return NS_OK;
     574                 :   }
     575             185 :   NS_ENSURE_STATE(aVal->isObject());
     576                 : 
     577             184 :   JSObject* obj = &aVal->toObject();
     578             368 :   nsCxPusher pusher;
     579             184 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     580             368 :   JSAutoRequest ar(aCx);
     581             368 :   JSAutoEnterCompartment ac;
     582             184 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     583             184 :   return IDBObjectStoreParameters_InitInternal(*this, aCx, obj);
     584                 : }
     585                 : 
     586              89 : IDBIndexParameters::IDBIndexParameters() :
     587                 :   unique(false),
     588              89 :   multiEntry(false)
     589              89 : {}
     590                 : 
     591              89 : IDBIndexParameters::~IDBIndexParameters() {}
     592                 : 
     593                 : static nsresult
     594              77 : IDBIndexParameters_InitInternal(IDBIndexParameters& aDict, JSContext* aCx, JSObject* aObj)
     595                 : {
     596              77 :   JSBool found = PR_FALSE;
     597              77 :   jsval v = JSVAL_VOID;
     598              77 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_unique, &found));
     599              77 :   if (found) {
     600              54 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_unique, &v));
     601                 :     JSBool b;
     602              54 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     603              54 :     aDict.unique = b;
     604                 :   }
     605              77 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_multiEntry, &found));
     606              77 :   if (found) {
     607              24 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_multiEntry, &v));
     608                 :     JSBool b;
     609              24 :     MOZ_ALWAYS_TRUE(JS_ValueToBoolean(aCx, v, &b));
     610              24 :     aDict.multiEntry = b;
     611                 :   }
     612              77 :   return NS_OK;
     613                 : }
     614                 : 
     615                 : nsresult
     616              79 : IDBIndexParameters::Init(JSContext* aCx, const jsval* aVal)
     617                 : {
     618              79 :   if (!aCx || !aVal) {
     619               0 :     return NS_OK;
     620                 :   }
     621              79 :   NS_ENSURE_STATE(aVal->isObject());
     622                 : 
     623              77 :   JSObject* obj = &aVal->toObject();
     624             154 :   nsCxPusher pusher;
     625              77 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     626             154 :   JSAutoRequest ar(aCx);
     627             154 :   JSAutoEnterCompartment ac;
     628              77 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     629              77 :   return IDBIndexParameters_InitInternal(*this, aCx, obj);
     630                 : }
     631                 : 
     632               0 : StorageEventInit::StorageEventInit() :
     633                 :   EventInit(),
     634                 :   key(),
     635                 :   oldValue(),
     636                 :   newValue(),
     637                 :   url(),
     638               0 :   storageArea(nsnull)
     639                 : {
     640               0 :   oldValue.SetIsVoid(true);
     641               0 :   newValue.SetIsVoid(true);
     642               0 : }
     643                 : 
     644               0 : StorageEventInit::~StorageEventInit() {}
     645                 : 
     646                 : static nsresult
     647               0 : StorageEventInit_InitInternal(StorageEventInit& aDict, JSContext* aCx, JSObject* aObj)
     648                 : {
     649               0 :   nsresult rv = EventInit_InitInternal(aDict, aCx, aObj);
     650               0 :   NS_ENSURE_SUCCESS(rv, rv);
     651               0 :   JSBool found = PR_FALSE;
     652               0 :   jsval v = JSVAL_VOID;
     653               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_key, &found));
     654               0 :   if (found) {
     655               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_key, &v));
     656               0 :     xpc_qsDOMString d(aCx, v, &v, xpc_qsDOMString::eStringify, xpc_qsDOMString::eStringify);
     657               0 :     NS_ENSURE_STATE(d.IsValid());
     658               0 :     aDict.key = d;
     659                 :   }
     660               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_oldValue, &found));
     661               0 :   if (found) {
     662               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_oldValue, &v));
     663               0 :     xpc_qsDOMString d(aCx, v, &v, xpc_qsDOMString::eNull, xpc_qsDOMString::eNull);
     664               0 :     NS_ENSURE_STATE(d.IsValid());
     665               0 :     aDict.oldValue = d;
     666                 :   }
     667               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_newValue, &found));
     668               0 :   if (found) {
     669               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_newValue, &v));
     670               0 :     xpc_qsDOMString d(aCx, v, &v, xpc_qsDOMString::eNull, xpc_qsDOMString::eNull);
     671               0 :     NS_ENSURE_STATE(d.IsValid());
     672               0 :     aDict.newValue = d;
     673                 :   }
     674               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_url, &found));
     675               0 :   if (found) {
     676               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_url, &v));
     677               0 :     xpc_qsDOMString d(aCx, v, &v, xpc_qsDOMString::eStringify, xpc_qsDOMString::eStringify);
     678               0 :     NS_ENSURE_STATE(d.IsValid());
     679               0 :     aDict.url = d;
     680                 :   }
     681               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_storageArea, &found));
     682               0 :   if (found) {
     683               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_storageArea, &v));
     684                 :     nsIDOMStorage * d;
     685               0 :     xpc_qsSelfRef ref;
     686               0 :     nsresult rv = xpc_qsUnwrapArg<nsIDOMStorage>(aCx, v, &d, &ref.ptr, &v);
     687               0 :     NS_ENSURE_SUCCESS(rv, rv);
     688               0 :     aDict.storageArea = d;
     689                 :   }
     690               0 :   return NS_OK;
     691                 : }
     692                 : 
     693                 : nsresult
     694               0 : StorageEventInit::Init(JSContext* aCx, const jsval* aVal)
     695                 : {
     696               0 :   if (!aCx || !aVal) {
     697               0 :     return NS_OK;
     698                 :   }
     699               0 :   NS_ENSURE_STATE(aVal->isObject());
     700                 : 
     701               0 :   JSObject* obj = &aVal->toObject();
     702               0 :   nsCxPusher pusher;
     703               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     704               0 :   JSAutoRequest ar(aCx);
     705               0 :   JSAutoEnterCompartment ac;
     706               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     707               0 :   return StorageEventInit_InitInternal(*this, aCx, obj);
     708                 : }
     709                 : 
     710               0 : BlobPropertyBag::BlobPropertyBag() :
     711                 :   type(),
     712               0 :   endings(NS_LITERAL_STRING("transparent"))
     713               0 : {}
     714                 : 
     715               0 : BlobPropertyBag::~BlobPropertyBag() {}
     716                 : 
     717                 : static nsresult
     718               0 : BlobPropertyBag_InitInternal(BlobPropertyBag& aDict, JSContext* aCx, JSObject* aObj)
     719                 : {
     720               0 :   JSBool found = PR_FALSE;
     721               0 :   jsval v = JSVAL_VOID;
     722               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_type, &found));
     723               0 :   if (found) {
     724               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_type, &v));
     725               0 :     xpc_qsDOMString d(aCx, v, &v, xpc_qsDOMString::eStringify, xpc_qsDOMString::eStringify);
     726               0 :     NS_ENSURE_STATE(d.IsValid());
     727               0 :     aDict.type = d;
     728                 :   }
     729               0 :   NS_ENSURE_STATE(JS_HasPropertyById(aCx, aObj, gDictionary_id_endings, &found));
     730               0 :   if (found) {
     731               0 :     NS_ENSURE_STATE(JS_GetPropertyById(aCx, aObj, gDictionary_id_endings, &v));
     732               0 :     xpc_qsDOMString d(aCx, v, &v, xpc_qsDOMString::eStringify, xpc_qsDOMString::eStringify);
     733               0 :     NS_ENSURE_STATE(d.IsValid());
     734               0 :     aDict.endings = d;
     735                 :   }
     736               0 :   return NS_OK;
     737                 : }
     738                 : 
     739                 : nsresult
     740               0 : BlobPropertyBag::Init(JSContext* aCx, const jsval* aVal)
     741                 : {
     742               0 :   if (!aCx || !aVal) {
     743               0 :     return NS_OK;
     744                 :   }
     745               0 :   NS_ENSURE_STATE(aVal->isObject());
     746                 : 
     747               0 :   JSObject* obj = &aVal->toObject();
     748               0 :   nsCxPusher pusher;
     749               0 :   NS_ENSURE_STATE(pusher.Push(aCx, false));
     750               0 :   JSAutoRequest ar(aCx);
     751               0 :   JSAutoEnterCompartment ac;
     752               0 :   NS_ENSURE_STATE(ac.enter(aCx, obj));
     753               0 :   return BlobPropertyBag_InitInternal(*this, aCx, obj);
     754            4392 : }
     755                 : 

Generated by: LCOV version 1.7