/* static */ void nsBaseWidget::debug_DumpPaintEvent(FILE * aFileOut, nsIWidget * aWidget, nsPaintEvent * aPaintEvent, const nsCAutoString & aWidgetName, PRInt32 aWindowID) { NS_ASSERTION(nsnull != aFileOut,"cmon, null output FILE"); NS_ASSERTION(nsnull != aWidget,"cmon, the widget is null"); NS_ASSERTION(nsnull != aPaintEvent,"cmon, the paint event is null"); if (!debug_GetCachedBoolPref("nglayout.debug.paint_dumping")) return; nsIntRect rect = aPaintEvent->region.GetBounds(); fprintf(aFileOut, "%4d PAINT widget=%p name=%-12s id=%-8p bounds-rect=%3d,%-3d %3d,%-3d", _GetPrintCount(), (void *) aWidget, aWidgetName.get(), (void *) aWindowID, rect.x, rect.y, rect.width, rect.height ); fprintf(aFileOut,"\n"); }
/* static */ void nsBaseWidget::debug_DumpEvent(FILE * aFileOut, nsIWidget * aWidget, nsGUIEvent * aGuiEvent, const nsCAutoString & aWidgetName, PRInt32 aWindowID) { if (aGuiEvent->message == NS_MOUSE_MOVE) { if (!debug_GetCachedBoolPref("nglayout.debug.motion_event_dumping")) return; } if (aGuiEvent->message == NS_MOUSE_ENTER || aGuiEvent->message == NS_MOUSE_EXIT) { if (!debug_GetCachedBoolPref("nglayout.debug.crossing_event_dumping")) return; } if (!debug_GetCachedBoolPref("nglayout.debug.event_dumping")) return; NS_LossyConvertUTF16toASCII tempString(debug_GuiEventToString(aGuiEvent).get()); fprintf(aFileOut, "%4d %-26s widget=%-8p name=%-12s id=%-8p refpt=%d,%d\n", _GetPrintCount(), tempString.get(), (void *) aWidget, aWidgetName.get(), (void *) (aWindowID ? aWindowID : 0x0), aGuiEvent->refPoint.x, aGuiEvent->refPoint.y); }
/* static */ void nsBaseWidget::debug_DumpInvalidate(FILE * aFileOut, nsIWidget * aWidget, const nsIntRect * aRect, bool aIsSynchronous, const nsCAutoString & aWidgetName, PRInt32 aWindowID) { if (!debug_GetCachedBoolPref("nglayout.debug.invalidate_dumping")) return; NS_ASSERTION(nsnull != aFileOut,"cmon, null output FILE"); NS_ASSERTION(nsnull != aWidget,"cmon, the widget is null"); fprintf(aFileOut, "%4d Invalidate widget=%p name=%-12s id=%-8p", _GetPrintCount(), (void *) aWidget, aWidgetName.get(), (void *) aWindowID); if (aRect) { fprintf(aFileOut, " rect=%3d,%-3d %3d,%-3d", aRect->x, aRect->y, aRect->width, aRect->height); } else { fprintf(aFileOut, " rect=%-15s", "none"); } fprintf(aFileOut, " sync=%s", (const char *) (aIsSynchronous ? "yes" : "no ")); fprintf(aFileOut,"\n"); }
static inline bool canonicalizeBase(nsCAutoString &spec, nsACString &out, mozilla::Omnijar::Type aType) { nsCAutoString base; nsresult rv = mozilla::Omnijar::GetURIString(aType, base); if (NS_FAILED(rv) || !base.Length()) return false; if (base.Compare(spec.get(), false, base.Length())) return false; out.Append("/resource/"); out.Append(baseName[aType]); out.Append(Substring(spec, base.Length())); return true; }
/** Parses e.g. "a(href,title)" (but not several tags at once). */ nsresult mozSanitizingHTMLSerializer::ParseTagPref(const nsCAutoString& tagpref) { nsIParserService* parserService = nsContentUtils::GetParserService(); if (!parserService) return NS_ERROR_OUT_OF_MEMORY; // Parsing tag PRInt32 bracket = tagpref.FindChar('('); if (bracket == 0) { printf(" malformed pref: %s\n", tagpref.get()); return NS_ERROR_CANNOT_CONVERT_DATA; } nsAutoString tag; CopyUTF8toUTF16(StringHead(tagpref, bracket), tag); // Create key PRInt32 tag_id = parserService->HTMLStringTagToId(tag); if (tag_id == eHTMLTag_userdefined) { printf(" unknown tag <%s>, won't add.\n", NS_ConvertUTF16toUTF8(tag).get()); return NS_ERROR_CANNOT_CONVERT_DATA; } nsPRUint32Key tag_key(tag_id); if (mAllowedTags.Exists(&tag_key)) { printf(" duplicate tag: %s\n", NS_ConvertUTF16toUTF8(tag).get()); return NS_ERROR_CANNOT_CONVERT_DATA; } if (bracket == kNotFound) /* There are no attributes in the pref. So, allow none; only the tag itself */ { mAllowedTags.Put(&tag_key, 0); } else { // Attributes // where is the macro for non-fatal errors in opt builds? if(tagpref[tagpref.Length() - 1] != ')' || tagpref.Length() < PRUint32(bracket) + 3) { printf(" malformed pref: %s\n", tagpref.get()); return NS_ERROR_CANNOT_CONVERT_DATA; } nsCOMPtr<nsIProperties> attr_bag = do_CreateInstance(NS_PROPERTIES_CONTRACTID); NS_ENSURE_TRUE(attr_bag, NS_ERROR_INVALID_POINTER); nsCAutoString attrList; attrList.Append(Substring(tagpref, bracket + 1, tagpref.Length() - 2 - bracket)); char* attrs_lasts; for (char* iAttr = PL_strtok_r(attrList.BeginWriting(), ",", &attrs_lasts); iAttr; iAttr = PL_strtok_r(NULL, ",", &attrs_lasts)) { attr_bag->Set(iAttr, 0); } nsIProperties* attr_bag_raw = attr_bag; NS_ADDREF(attr_bag_raw); mAllowedTags.Put(&tag_key, attr_bag_raw); } return NS_OK; }
void nsTestLog::PrintError(char * aCall, char * aMessage) { const char * trace = mTrace.get(); printf("ERROR at %s%s reason: %s.\n", trace, aCall, aMessage); }
void nsTestLog::PrintError(char * aCall, int aError) { const char * trace = mTrace.get(); printf("ERROR at %s%s code=0x%x.\n", trace, aCall, aError); }