int main(int argc, char* argv[]) { if (test_common_init(&argc, &argv) != 0) return -1; nsresult rv; if (argc < 2) { printf("usage: %s <file-to-read>\n", argv[0]); return -1; } char* fileName = argv[1]; { nsCOMPtr<nsIServiceManager> servMan; NS_InitXPCOM2(getter_AddRefs(servMan), nsnull, nsnull); nsCOMPtr<nsIComponentRegistrar> registrar = do_QueryInterface(servMan); NS_ASSERTION(registrar, "Null nsIComponentRegistrar"); if (registrar) registrar->AutoRegister(nsnull); #if defined(PR_LOGGING) gTestLog = PR_NewLogModule("Test"); #endif nsCOMPtr<nsILocalFile> srcFile; rv = NS_NewNativeLocalFile(nsDependentCString(fileName), false, getter_AddRefs(srcFile)); if (NS_FAILED(rv)) return rv; nsCOMPtr<nsIFile> destFile; rv = srcFile->Clone(getter_AddRefs(destFile)); if (NS_FAILED(rv)) return rv; nsCAutoString leafName; rv = destFile->GetNativeLeafName(leafName); if (NS_FAILED(rv)) return rv; nsCAutoString newName(leafName); newName.Append(NS_LITERAL_CSTRING(".1")); rv = destFile->SetNativeLeafName(newName); if (NS_FAILED(rv)) return rv; rv = RunTest(srcFile, destFile); NS_ASSERTION(NS_SUCCEEDED(rv), "RunTest failed"); newName = leafName; newName.Append(NS_LITERAL_CSTRING(".2")); rv = destFile->SetNativeLeafName(newName); if (NS_FAILED(rv)) return rv; rv = RunBlockingTest(srcFile, destFile); NS_ASSERTION(NS_SUCCEEDED(rv), "RunBlockingTest failed"); // give background threads a chance to finish whatever work they may // be doing. PR_Sleep(PR_SecondsToInterval(1)); } // this scopes the nsCOMPtrs // no nsCOMPtrs are allowed to be alive when you call NS_ShutdownXPCOM rv = NS_ShutdownXPCOM(nsnull); NS_ASSERTION(NS_SUCCEEDED(rv), "NS_ShutdownXPCOM failed"); return NS_OK; }
int main(int argc, char* argv[]) { if (test_common_init(&argc, &argv) != 0) return -1; nsresult rv; if (argc < 4) { printf("usage: TestSocketTransport <host> <port> <path>\n"); return -1; } { nsCOMPtr<nsIServiceManager> servMan; NS_InitXPCOM2(getter_AddRefs(servMan), nsnull, nsnull); nsCOMPtr<nsIComponentRegistrar> registrar = do_QueryInterface(servMan); NS_ASSERTION(registrar, "Null nsIComponentRegistrar"); if (registrar) registrar->AutoRegister(nsnull); #if defined(PR_LOGGING) gTestLog = PR_NewLogModule("Test"); #endif // Make sure the DNS service is initialized on the main thread nsCOMPtr<nsIDNSService> dns = do_GetService(NS_DNSSERVICE_CONTRACTID, &rv); if (NS_FAILED(rv)) return rv; nsCOMPtr<nsPISocketTransportService> sts = do_GetService(kSocketTransportServiceCID, &rv); if (NS_FAILED(rv)) return rv; LOG(("phase 1 tests...\n")); LOG(("flags = { OPEN_UNBUFFERED, OPEN_UNBUFFERED }\n")); rv = RunCloseTest(sts, argv[1], atoi(argv[2]), nsITransport::OPEN_UNBUFFERED, nsITransport::OPEN_UNBUFFERED); NS_ASSERTION(NS_SUCCEEDED(rv), "RunCloseTest failed"); LOG(("flags = { OPEN_BUFFERED, OPEN_UNBUFFERED }\n")); rv = RunCloseTest(sts, argv[1], atoi(argv[2]), 0 /* nsITransport::OPEN_BUFFERED */, nsITransport::OPEN_UNBUFFERED); NS_ASSERTION(NS_SUCCEEDED(rv), "RunCloseTest failed"); LOG(("flags = { OPEN_UNBUFFERED, OPEN_BUFFERED }\n")); rv = RunCloseTest(sts, argv[1], atoi(argv[2]), nsITransport::OPEN_UNBUFFERED, 0 /*nsITransport::OPEN_BUFFERED */); NS_ASSERTION(NS_SUCCEEDED(rv), "RunCloseTest failed"); LOG(("flags = { OPEN_BUFFERED, OPEN_BUFFERED }\n")); rv = RunCloseTest(sts, argv[1], atoi(argv[2]), 0 /*nsITransport::OPEN_BUFFERED */, 0 /*nsITransport::OPEN_BUFFERED */); NS_ASSERTION(NS_SUCCEEDED(rv), "RunCloseTest failed"); LOG(("calling Shutdown on socket transport service:\n")); sts->Shutdown(); LOG(("calling Init on socket transport service:\n")); sts->Init(); LOG(("phase 2 tests...\n")); LOG(("flags = { OPEN_UNBUFFERED, OPEN_UNBUFFERED }\n")); rv = RunTest(sts, argv[1], atoi(argv[2]), argv[3], nsITransport::OPEN_UNBUFFERED, nsITransport::OPEN_UNBUFFERED); NS_ASSERTION(NS_SUCCEEDED(rv), "RunTest failed"); LOG(("flags = { OPEN_BUFFERED, OPEN_UNBUFFERED }\n")); rv = RunTest(sts, argv[1], atoi(argv[2]), argv[3], 0 /* nsITransport::OPEN_BUFFERED */, nsITransport::OPEN_UNBUFFERED); NS_ASSERTION(NS_SUCCEEDED(rv), "RunTest failed"); LOG(("flags = { OPEN_UNBUFFERED, OPEN_BUFFERED }\n")); rv = RunTest(sts, argv[1], atoi(argv[2]), argv[3], nsITransport::OPEN_UNBUFFERED, 0 /*nsITransport::OPEN_BUFFERED */); NS_ASSERTION(NS_SUCCEEDED(rv), "RunTest failed"); LOG(("flags = { OPEN_BUFFERED, OPEN_BUFFERED }\n")); rv = RunTest(sts, argv[1], atoi(argv[2]), argv[3], 0 /*nsITransport::OPEN_BUFFERED */, 0 /*nsITransport::OPEN_BUFFERED */); NS_ASSERTION(NS_SUCCEEDED(rv), "RunTest failed"); LOG(("waiting 1 second before calling Shutdown...\n")); PR_Sleep(PR_SecondsToInterval(1)); LOG(("calling Shutdown on socket transport service:\n")); sts->Shutdown(); // give background threads a chance to finish whatever work they may // be doing. LOG(("waiting 1 second before exiting...\n")); PR_Sleep(PR_SecondsToInterval(1)); } // this scopes the nsCOMPtrs // no nsCOMPtrs are allowed to be alive when you call NS_ShutdownXPCOM rv = NS_ShutdownXPCOM(nsnull); NS_ASSERTION(NS_SUCCEEDED(rv), "NS_ShutdownXPCOM failed"); return 0; }
namespace image { #if defined(PR_LOGGING) static PRLogModuleInfo *gWEBPLog = PR_NewLogModule("WEBPDecoder"); static PRLogModuleInfo *gWEBPDecoderAccountingLog = PR_NewLogModule("WEBPDecoderAccounting"); #else #define gWEBPlog #define gWEBPDecoderAccountingLog #endif nsWEBPDecoder::nsWEBPDecoder(RasterImage &aImage) : Decoder(aImage) { PR_LOG(gWEBPDecoderAccountingLog, PR_LOG_DEBUG, ("nsWEBPDecoder::nsWEBPDecoder: Creating WEBP decoder %p", this)); } nsWEBPDecoder::~nsWEBPDecoder() { PR_LOG(gWEBPDecoderAccountingLog, PR_LOG_DEBUG, ("nsWEBPDecoder::~nsWEBPDecoder: Destroying WEBP decoder %p", this)); } void nsWEBPDecoder::InitInternal() { if (!WebPInitDecBuffer(&mDecBuf)) { PostDecoderError(NS_ERROR_FAILURE); return; } mLastLine = 0; mDecBuf.colorspace = MODE_rgbA; mDecoder = WebPINewDecoder(&mDecBuf); if (!mDecoder) { PostDecoderError(NS_ERROR_FAILURE); } } void nsWEBPDecoder::FinishInternal() { // Flush the Decoder and let it free the output image buffer. WebPIDelete(mDecoder); WebPFreeDecBuffer(&mDecBuf); // We should never make multiple frames NS_ABORT_IF_FALSE(GetFrameCount() <= 1, "Multiple WebP frames?"); // Send notifications if appropriate if (!IsSizeDecode() && (GetFrameCount() == 1)) { PostFrameStop(); PostDecodeDone(); } } void nsWEBPDecoder::WriteInternal(const char *aBuffer, uint32_t aCount, DecodeStrategy) { NS_ABORT_IF_FALSE(!HasError(), "Shouldn't call WriteInternal after error!"); const uint8_t* buf = (const uint8_t*)aBuffer; VP8StatusCode rv = WebPIAppend(mDecoder, buf, aCount); if (rv == VP8_STATUS_OUT_OF_MEMORY) { PostDecoderError(NS_ERROR_OUT_OF_MEMORY); return; } else if (rv == VP8_STATUS_INVALID_PARAM || rv == VP8_STATUS_BITSTREAM_ERROR) { PostDataError(); return; } else if (rv == VP8_STATUS_UNSUPPORTED_FEATURE || rv == VP8_STATUS_USER_ABORT) { PostDecoderError(NS_ERROR_FAILURE); return; } // Catch any remaining erroneous return value. if (rv != VP8_STATUS_OK && rv != VP8_STATUS_SUSPENDED) { PostDecoderError(NS_ERROR_FAILURE); return; } int lastLineRead = -1; int height = 0; int width = 0; int stride = 0; mData = WebPIDecGetRGB(mDecoder, &lastLineRead, &width, &height, &stride); if (lastLineRead == -1 || !mData) return; if (width <= 0 || height <= 0) { PostDataError(); return; } if (!HasSize()) PostSize(width, height); if (IsSizeDecode()) return; uint32_t imagelength; // First incremental Image data chunk. Special handling required. if (mLastLine == 0 && lastLineRead > 0) { imgFrame* aFrame; nsresult res = mImage.EnsureFrame(0, 0, 0, width, height, gfxASurface::ImageFormatARGB32, (uint8_t**)&mImageData, &imagelength, &aFrame); if (NS_FAILED(res) || !mImageData) { PostDecoderError(NS_ERROR_FAILURE); return; } } if (!mImageData) { PostDecoderError(NS_ERROR_FAILURE); return; } if (lastLineRead > mLastLine) { for (int line = mLastLine; line < lastLineRead; line++) { uint32_t *cptr32 = (uint32_t*)(mImageData + (line * width)); uint8_t *cptr8 = mData + (line * stride); for (int pix = 0; pix < width; pix++, cptr8 += 4) { // if((cptr8[3] != 0) && (cptr8[0] != 0) && (cptr8[1] != 0) && (cptr8[2] != 0)) *cptr32++ = gfxPackedPixel(cptr8[3], cptr8[0], cptr8[1], cptr8[2]); } } // Invalidate nsIntRect r(0, mLastLine, width, lastLineRead); PostInvalidation(r); } mLastLine = lastLineRead; return; } } // namespace imagelib
#include "nsPrintObject.h" #include "nsPrintPreviewListener.h" #include "nsIWebProgressListener.h" #include "mozilla/Services.h" //----------------------------------------------------- // PR LOGGING #ifdef MOZ_LOGGING #define FORCE_PR_LOG /* Allow logging in the release build */ #endif #include "prlog.h" #ifdef PR_LOGGING #define DUMP_LAYOUT_LEVEL 9 // this turns on the dumping of each doucment's layout info static PRLogModuleInfo * kPrintingLogMod = PR_NewLogModule("printing"); #define PR_PL(_p1) PR_LOG(kPrintingLogMod, PR_LOG_DEBUG, _p1); #else #define PRT_YESNO(_p) #define PR_PL(_p1) #endif //--------------------------------------------------- //-- nsPrintData Class Impl //--------------------------------------------------- nsPrintData::nsPrintData(ePrintDataType aType) : mType(aType), mDebugFilePtr(nsnull), mPrintObject(nsnull), mSelectedPO(nsnull), mPrintDocList(nsnull), mIsIFrameSelected(false), mIsParentAFrameSet(false), mOnStartSent(false), mIsAborted(false), mPreparingForPrint(false), mDocWasToBeDestroyed(false), mShrinkToFit(false), mPrintFrameType(nsIPrintSettings::kFramesAsIs),
nsMsgMaildirStore::nsMsgMaildirStore() { MailDirLog = PR_NewLogModule("MailDirStore"); }
static void _PR_InitStuff(void) { if (_pr_initialized) return; _pr_initialized = PR_TRUE; #ifdef _PR_ZONE_ALLOCATOR _PR_InitZones(); #endif #ifdef WINNT _pr_SetNativeThreadsOnlyMode(); #endif (void) PR_GetPageSize(); _pr_clock_lm = PR_NewLogModule("clock"); _pr_cmon_lm = PR_NewLogModule("cmon"); _pr_io_lm = PR_NewLogModule("io"); _pr_mon_lm = PR_NewLogModule("mon"); _pr_linker_lm = PR_NewLogModule("linker"); _pr_cvar_lm = PR_NewLogModule("cvar"); _pr_sched_lm = PR_NewLogModule("sched"); _pr_thread_lm = PR_NewLogModule("thread"); _pr_gc_lm = PR_NewLogModule("gc"); _pr_shm_lm = PR_NewLogModule("shm"); _pr_shma_lm = PR_NewLogModule("shma"); /* NOTE: These init's cannot depend on _PR_MD_CURRENT_THREAD() */ _PR_MD_EARLY_INIT(); _PR_InitLocks(); _PR_InitAtomic(); _PR_InitSegs(); _PR_InitStacks(); _PR_InitTPD(); _PR_InitEnv(); _PR_InitLayerCache(); _PR_InitClock(); _pr_sleeplock = PR_NewLock(); PR_ASSERT(NULL != _pr_sleeplock); #ifdef GC_LEAK_DETECTOR _PR_InitGarbageCollector(); #endif _PR_InitThreads(PR_USER_THREAD, PR_PRIORITY_NORMAL, 0); #ifdef WIN16 { PRInt32 top; /* artificial top of stack, win16 */ _pr_top_of_task_stack = (char *) ⊤ } #endif #ifndef _PR_GLOBAL_THREADS_ONLY _PR_InitCPUs(); #endif /* * XXX: call _PR_InitMem only on those platforms for which nspr implements * malloc, for now. */ #ifdef _PR_OVERRIDE_MALLOC _PR_InitMem(); #endif _PR_InitCMon(); _PR_InitIO(); _PR_InitNet(); _PR_InitTime(); _PR_InitLog(); _PR_InitLinker(); _PR_InitCallOnce(); _PR_InitDtoa(); _PR_InitMW(); _PR_InitRWLocks(); nspr_InitializePRErrorTable(); _PR_MD_FINAL_INIT(); }
#ifdef XP_MACOSX #include "DrawTargetCG.h" #endif #ifdef WIN32 #include "DrawTargetD2D.h" #include "ScaledFontDWrite.h" #include <d3d10_1.h> #endif #include "DrawTargetDual.h" #include "Logging.h" #ifdef PR_LOGGING PRLogModuleInfo *sGFX2DLog = PR_NewLogModule("gfx2d"); #endif namespace mozilla { namespace gfx { // XXX - Need to define an API to set this. int sGfxLogLevel = LOG_DEBUG; #ifdef WIN32 ID3D10Device1 *Factory::mD3D10Device; #endif TemporaryRef<DrawTarget> Factory::CreateDrawTarget(BackendType aBackend, const IntSize &aSize, SurfaceFormat aFormat) {
/* this should not be exposed in a header, but is here to keep the above * types/functions static */ NSS_IMPLEMENT PRStatus nssTrustDomain_InitializeCache ( NSSTrustDomain *td, PRUint32 cacheSize ) { NSSArena *arena; nssTDCertificateCache *cache = td->cache; #ifdef DEBUG_CACHE s_log = PR_NewLogModule("nss_cache"); PR_ASSERT(s_log); #endif PR_ASSERT(!cache); arena = nssArena_Create(); if (!arena) { return PR_FAILURE; } cache = nss_ZNEW(arena, nssTDCertificateCache); if (!cache) { nssArena_Destroy(arena); return PR_FAILURE; } cache->lock = PZ_NewLock(nssILockCache); if (!cache->lock) { nssArena_Destroy(arena); return PR_FAILURE; } /* Create the issuer and serial DER --> certificate hash */ cache->issuerAndSN = nssHash_CreateCertificate(arena, cacheSize); if (!cache->issuerAndSN) { goto loser; } /* Create the subject DER --> subject list hash */ cache->subject = nssHash_CreateItem(arena, cacheSize); if (!cache->subject) { goto loser; } /* Create the nickname --> subject list hash */ cache->nickname = nssHash_CreateString(arena, cacheSize); if (!cache->nickname) { goto loser; } /* Create the email --> list of subject lists hash */ cache->email = nssHash_CreateString(arena, cacheSize); if (!cache->email) { goto loser; } cache->arena = arena; td->cache = cache; #ifdef DEBUG_CACHE PR_LOG(s_log, PR_LOG_DEBUG, ("Cache initialized.")); #endif return PR_SUCCESS; loser: PZ_DestroyLock(cache->lock); nssArena_Destroy(arena); td->cache = NULL; #ifdef DEBUG_CACHE PR_LOG(s_log, PR_LOG_DEBUG, ("Cache initialization failed.")); #endif return PR_FAILURE; }