nsDOMScriptObjectFactory::nsDOMScriptObjectFactory() : mLoadedAllLanguages(false) { nsCOMPtr<nsIObserverService> observerService = mozilla::services::GetObserverService(); if (observerService) { observerService->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, false); } nsCOMPtr<nsIExceptionProvider> provider(new nsDOMExceptionProvider()); if (provider) { nsCOMPtr<nsIExceptionService> xs = do_GetService(NS_EXCEPTIONSERVICE_CONTRACTID); if (xs) { xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_DOM); xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_SVG); xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_DOM_XPATH); xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_DOM_INDEXEDDB); xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_XPCONNECT); xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_DOM_EVENTS); } NS_ASSERTION(!gExceptionProvider, "Registered twice?!"); provider.swap(gExceptionProvider); } // And pre-create the javascript language. NS_CreateJSRuntime(getter_AddRefs(mLanguageArray[NS_STID_INDEX(nsIProgrammingLanguage::JAVASCRIPT)])); }
nsDOMScriptObjectFactory::nsDOMScriptObjectFactory() { nsCOMPtr<nsIObserverService> observerService = mozilla::services::GetObserverService(); if (observerService) { observerService->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, false); } nsCOMPtr<nsIExceptionProvider> provider = new nsDOMExceptionProvider(); nsCOMPtr<nsIExceptionService> xs = do_GetService(NS_EXCEPTIONSERVICE_CONTRACTID); if (xs) { xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_DOM); xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_SVG); xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_DOM_XPATH); xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_DOM_INDEXEDDB); xs->RegisterExceptionProvider(provider, NS_ERROR_MODULE_DOM_FILEHANDLE); } NS_ASSERTION(!gExceptionProvider, "Registered twice?!"); provider.swap(gExceptionProvider); // And pre-create the javascript language. NS_CreateJSRuntime(getter_AddRefs(mJSRuntime)); }