diff --git a/browser/themes/pinstripe/browser/browser.css b/browser/themes/pinstripe/browser/browser.css index 7a15d04cea10..b2842e04e999 100644 --- a/browser/themes/pinstripe/browser/browser.css +++ b/browser/themes/pinstripe/browser/browser.css @@ -167,7 +167,7 @@ toolbarbutton.bookmark-item { color: #222; border: 0; border-radius: 10000px; - padding: 0 8px; + padding: 1px 8px; margin: 0 0 1px; } @@ -214,6 +214,8 @@ toolbarbutton.bookmark-item > menupopup { .bookmark-item > .toolbarbutton-icon { width: 16px; min-height: 16px; + max-height: 16px; + padding: 0; } .bookmark-item > .toolbarbutton-icon[label]:not([label=""]), diff --git a/content/svg/content/src/nsSVGFilters.cpp b/content/svg/content/src/nsSVGFilters.cpp index ed094833de79..8172ab52decd 100644 --- a/content/svg/content/src/nsSVGFilters.cpp +++ b/content/svg/content/src/nsSVGFilters.cpp @@ -5565,8 +5565,8 @@ nsSVGFEImageElement::Filter(nsSVGFilterInstance *instance, gfxMatrix TM = viewBoxTM * xyTM; - gfxContext ctx(aTarget->mImage); - nsSVGUtils::CompositePatternMatrix(&ctx, thebesPattern, TM, nativeWidth, nativeHeight, 1.0); + nsRefPtr ctx = new gfxContext(aTarget->mImage); + nsSVGUtils::CompositePatternMatrix(ctx, thebesPattern, TM, nativeWidth, nativeHeight, 1.0); } return NS_OK; diff --git a/content/svg/content/src/nsSVGPathElement.cpp b/content/svg/content/src/nsSVGPathElement.cpp index 1a0e4f9da019..692900f453ed 100644 --- a/content/svg/content/src/nsSVGPathElement.cpp +++ b/content/svg/content/src/nsSVGPathElement.cpp @@ -1042,11 +1042,12 @@ nsSVGPathList::Playback(gfxContext *aCtx) already_AddRefed nsSVGPathList::GetFlattenedPath(const gfxMatrix& aMatrix) { - gfxContext ctx(gfxPlatform::GetPlatform()->ScreenReferenceSurface()); + nsRefPtr ctx = + new gfxContext(gfxPlatform::GetPlatform()->ScreenReferenceSurface()); - ctx.SetMatrix(aMatrix); - Playback(&ctx); - ctx.IdentityMatrix(); + ctx->SetMatrix(aMatrix); + Playback(ctx); + ctx->IdentityMatrix(); - return ctx.GetFlattenedPath(); + return ctx->GetFlattenedPath(); } diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp index 0b35ee6d8014..a4d762808e1e 100644 --- a/docshell/base/nsAboutRedirector.cpp +++ b/docshell/base/nsAboutRedirector.cpp @@ -64,6 +64,8 @@ struct RedirEntry { URI. Perhaps we should separate the two concepts out... */ static RedirEntry kRedirMap[] = { + { "", "chrome://global/content/about.xhtml", + nsIAboutModule::ALLOW_SCRIPT }, { "about", "chrome://global/content/aboutAbout.xhtml", 0 }, { "credits", "http://www.mozilla.org/credits/", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT }, diff --git a/docshell/build/nsDocShellModule.cpp b/docshell/build/nsDocShellModule.cpp index 6ebcf80c343f..9680b4c6cbea 100644 --- a/docshell/build/nsDocShellModule.cpp +++ b/docshell/build/nsDocShellModule.cpp @@ -183,6 +183,7 @@ const mozilla::Module::ContractIDEntry kDocShellContracts[] = { { "@mozilla.org/docshell;1", &kNS_DOCSHELL_CID }, { NS_URIFIXUP_CONTRACTID, &kNS_DEFAULTURIFIXUP_CID }, { NS_WEBNAVIGATION_INFO_CONTRACTID, &kNS_WEBNAVIGATION_INFO_CID }, + { NS_ABOUT_MODULE_CONTRACTID_PREFIX "", &kNS_ABOUT_REDIRECTOR_MODULE_CID }, { NS_ABOUT_MODULE_CONTRACTID_PREFIX "about", &kNS_ABOUT_REDIRECTOR_MODULE_CID }, { NS_ABOUT_MODULE_CONTRACTID_PREFIX "config", &kNS_ABOUT_REDIRECTOR_MODULE_CID }, #ifdef MOZ_CRASHREPORTER diff --git a/gfx/thebes/gfxUtils.cpp b/gfx/thebes/gfxUtils.cpp index c8334c68af2f..051cd109f118 100644 --- a/gfx/thebes/gfxUtils.cpp +++ b/gfx/thebes/gfxUtils.cpp @@ -270,9 +270,9 @@ CreateSamplingRestrictedDrawable(gfxDrawable* aDrawable, if (!temp || temp->CairoStatus()) return nsnull; - gfxContext tmpCtx(temp); - tmpCtx.SetOperator(OptimalFillOperator()); - aDrawable->Draw(&tmpCtx, needed - needed.pos, PR_TRUE, + nsRefPtr tmpCtx = new gfxContext(temp); + tmpCtx->SetOperator(OptimalFillOperator()); + aDrawable->Draw(tmpCtx, needed - needed.pos, PR_TRUE, gfxPattern::FILTER_FAST, gfxMatrix().Translate(needed.pos)); nsRefPtr resultPattern = new gfxPattern(temp); diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp index 4fb6a9bfcc17..4a8157f77b8b 100644 --- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -379,8 +379,9 @@ void nsDisplayList::PaintForFrame(nsDisplayListBuilder* aBuilder, "Reference frame must be a display root for us to use the layer manager"); nsIWidget* window = referenceFrame->GetNearestWidget(); if (window) { - layerManager = window->GetLayerManager(); - if (layerManager) { + bool allowRetaining = true; + layerManager = window->GetLayerManager(&allowRetaining); + if (layerManager && allowRetaining) { aBuilder->LayerBuilder()->WillBeginRetainedLayerTransaction(layerManager); } } diff --git a/layout/generic/crashtests/592118.html b/layout/generic/crashtests/592118.html new file mode 100755 index 000000000000..77b81768eb9f --- /dev/null +++ b/layout/generic/crashtests/592118.html @@ -0,0 +1,4 @@ + +Stack pointer free with -moz-element +
+
diff --git a/layout/generic/crashtests/crashtests.list b/layout/generic/crashtests/crashtests.list index 3ad2d646a214..b601637bf095 100644 --- a/layout/generic/crashtests/crashtests.list +++ b/layout/generic/crashtests/crashtests.list @@ -338,3 +338,4 @@ load 586973-1.html load 589002-1.html load 590404.html load 591141.html +asserts(0-1) load 592118.html diff --git a/layout/svg/base/src/nsSVGPathGeometryFrame.cpp b/layout/svg/base/src/nsSVGPathGeometryFrame.cpp index c44288e0fede..9f25b8131ca3 100644 --- a/layout/svg/base/src/nsSVGPathGeometryFrame.cpp +++ b/layout/svg/base/src/nsSVGPathGeometryFrame.cpp @@ -170,23 +170,24 @@ nsSVGPathGeometryFrame::GetFrameForPoint(const nsPoint &aPoint) PRBool isHit = PR_FALSE; - gfxContext context(gfxPlatform::GetPlatform()->ScreenReferenceSurface()); + nsRefPtr context = + new gfxContext(gfxPlatform::GetPlatform()->ScreenReferenceSurface()); - GeneratePath(&context); + GeneratePath(context); gfxPoint userSpacePoint = - context.DeviceToUser(gfxPoint(PresContext()->AppUnitsToGfxUnits(aPoint.x), - PresContext()->AppUnitsToGfxUnits(aPoint.y))); + context->DeviceToUser(gfxPoint(PresContext()->AppUnitsToGfxUnits(aPoint.x), + PresContext()->AppUnitsToGfxUnits(aPoint.y))); if (fillRule == NS_STYLE_FILL_RULE_EVENODD) - context.SetFillRule(gfxContext::FILL_RULE_EVEN_ODD); + context->SetFillRule(gfxContext::FILL_RULE_EVEN_ODD); else - context.SetFillRule(gfxContext::FILL_RULE_WINDING); + context->SetFillRule(gfxContext::FILL_RULE_WINDING); if (mask & HITTEST_MASK_FILL) - isHit = context.PointInFill(userSpacePoint); + isHit = context->PointInFill(userSpacePoint); if (!isHit && (mask & HITTEST_MASK_STROKE)) { - SetupCairoStrokeHitGeometry(&context); - isHit = context.PointInStroke(userSpacePoint); + SetupCairoStrokeHitGeometry(context); + isHit = context->PointInStroke(userSpacePoint); } if (isHit && nsSVGUtils::HitTestClip(this, aPoint)) @@ -250,12 +251,13 @@ nsSVGPathGeometryFrame::UpdateCoveredRegion() { mRect.Empty(); - gfxContext context(gfxPlatform::GetPlatform()->ScreenReferenceSurface()); + nsRefPtr context = + new gfxContext(gfxPlatform::GetPlatform()->ScreenReferenceSurface()); - GeneratePath(&context); - context.IdentityMatrix(); + GeneratePath(context); + context->IdentityMatrix(); - gfxRect extent = context.GetUserPathExtent(); + gfxRect extent = context->GetUserPathExtent(); // Be careful when replacing the following logic to get the fill and stroke // extents independently (instead of computing the stroke extents from the @@ -270,12 +272,12 @@ nsSVGPathGeometryFrame::UpdateCoveredRegion() // stroke bounds that it will return will be empty. if (HasStroke()) { - SetupCairoStrokeGeometry(&context); + SetupCairoStrokeGeometry(context); if (extent.Width() <= 0 && extent.Height() <= 0) { // If 'extent' is empty, its position will not be set. Although // GetUserStrokeExtent gets the extents wrong we can still use it // to get the device space position of zero length stroked paths. - extent = context.GetUserStrokeExtent(); + extent = context->GetUserStrokeExtent(); extent.pos.x += extent.size.width / 2; extent.pos.y += extent.size.height / 2; extent.size.width = 0; @@ -362,10 +364,11 @@ nsSVGPathGeometryFrame::GetBBoxContribution(const gfxMatrix &aToBBoxUserspace) // XXX ReportToConsole return gfxRect(0.0, 0.0, 0.0, 0.0); } - gfxContext context(gfxPlatform::GetPlatform()->ScreenReferenceSurface()); - GeneratePath(&context, &aToBBoxUserspace); - context.IdentityMatrix(); - return context.GetUserPathExtent(); + nsRefPtr context = + new gfxContext(gfxPlatform::GetPlatform()->ScreenReferenceSurface()); + GeneratePath(context, &aToBBoxUserspace); + context->IdentityMatrix(); + return context->GetUserPathExtent(); } //---------------------------------------------------------------------- diff --git a/toolkit/content/LightweightThemeConsumer.jsm b/toolkit/content/LightweightThemeConsumer.jsm index 788953b58fbe..18481b73dcf1 100644 --- a/toolkit/content/LightweightThemeConsumer.jsm +++ b/toolkit/content/LightweightThemeConsumer.jsm @@ -98,15 +98,6 @@ LightweightThemeConsumer.prototype = { } #ifdef XP_MACOSX - - if (active && aData.accentcolor) { - root.setAttribute("activetitlebarcolor", aData.accentcolor); - root.setAttribute("inactivetitlebarcolor", aData.accentcolor); - } else { - root.removeAttribute("activetitlebarcolor"); - root.removeAttribute("inactivetitlebarcolor"); - } - if (active) root.setAttribute("drawintitlebar", "true"); else diff --git a/toolkit/content/about.xhtml b/toolkit/content/about.xhtml index cd16d7c41a9b..81b90c310790 100644 --- a/toolkit/content/about.xhtml +++ b/toolkit/content/about.xhtml @@ -68,9 +68,7 @@
  • &about.credits.beforeLink;&about.credits.linkTitle;&about.credits.afterLink;
  • &about.license.beforeTheLink;&about.license.linkTitle;&about.license.afterTheLink;
  • -
  • &about.buildconfig.beforeTheLink;&about.buildconfig.linkTitle;&about.buildconfig.afterTheLink;