From owner-freebsd-gecko@FreeBSD.ORG Sat May 24 18:25:33 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 51157EBB for ; Sat, 24 May 2014 18:25:33 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E86D1212D for ; Sat, 24 May 2014 18:25:32 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s4OIPObS009681 for ; Sat, 24 May 2014 18:25:24 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s4OIPIRR009196 for freebsd-gecko@freebsd.org; Sat, 24 May 2014 18:25:18 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Sat, 24 May 2014 18:25:18 GMT Message-Id: <201405241825.s4OIPIRR009196@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1588 - in trunk/www: firefox/files seamonkey/files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 May 2014 18:25:33 -0000 Author: jbeich Date: Sat May 24 18:25:18 2014 New Revision: 1588 Log: backport fix against crashing DEBUG build on newegg.com PR: ports/189991 Cherry-pick: safe for firefox 29.0 Added: trunk/www/firefox/files/patch-bug975397 trunk/www/seamonkey/files/patch-bug975397 Added: trunk/www/firefox/files/patch-bug975397 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox/files/patch-bug975397 Sat May 24 18:25:18 2014 (r1588) @@ -0,0 +1,73 @@ +commit 2fe45fb +Author: L. David Baron +Date: Wed Apr 2 22:56:19 2014 -0700 + + Bug 975397 - Call TrackImage when constructing a new nsStyleBorder. r=heycam + + I confirmed that the crashtest crashes in the harness without the patch. + + --HG-- + rename : layout/reftests/backgrounds/blue-32x32.png => layout/style/crashtests/blue-32x32.png +--- + layout/base/nsCSSRendering.cpp | 9 +++++++++ + layout/style/crashtests/blue-32x32.png | Bin 0 -> 110 bytes + layout/style/crashtests/border-image-visited-link.html | 10 ++++++++++ + layout/style/crashtests/crashtests.list | 1 + + 4 files changed, 20 insertions(+) + +diff --git layout/base/nsCSSRendering.cpp layout/base/nsCSSRendering.cpp +index d91309b..2d8bb46 100644 +--- layout/base/nsCSSRendering.cpp ++++ layout/base/nsCSSRendering.cpp +@@ -419,6 +419,10 @@ nsCSSRendering::PaintBorder(nsPresContext* aPresContext, + } + + nsStyleBorder newStyleBorder(*styleBorder); ++ // We could do something fancy to avoid the TrackImage/UntrackImage ++ // work, but it doesn't seem worth it. (We need to call TrackImage ++ // since we're not going through nsRuleNode::ComputeBorderData.) ++ newStyleBorder.TrackImage(aPresContext); + + NS_FOR_CSS_SIDES(side) { + newStyleBorder.SetBorderColor(side, +@@ -428,6 +432,11 @@ nsCSSRendering::PaintBorder(nsPresContext* aPresContext, + PaintBorderWithStyleBorder(aPresContext, aRenderingContext, aForFrame, + aDirtyRect, aBorderArea, newStyleBorder, + aStyleContext, aSkipSides); ++ ++ // We could do something fancy to avoid the TrackImage/UntrackImage ++ // work, but it doesn't seem worth it. (We need to call UntrackImage ++ // since we're not going through nsStyleBorder::Destroy.) ++ newStyleBorder.UntrackImage(aPresContext); + } + + void +diff --git layout/style/crashtests/blue-32x32.png layout/style/crashtests/blue-32x32.png +new file mode 100644 +index 0000000..deefd19 +Binary files /dev/null and layout/style/crashtests/blue-32x32.png differ +diff --git layout/style/crashtests/border-image-visited-link.html layout/style/crashtests/border-image-visited-link.html +new file mode 100644 +index 0000000..b6e3ae5 +--- /dev/null ++++ layout/style/crashtests/border-image-visited-link.html +@@ -0,0 +1,10 @@ ++ ++border-image on link with visited styles ++ ++test +diff --git layout/style/crashtests/crashtests.list layout/style/crashtests/crashtests.list +index e414f28..acd709c3 100644 +--- layout/style/crashtests/crashtests.list ++++ layout/style/crashtests/crashtests.list +@@ -104,3 +104,4 @@ load 945048-1.html + load 972199-1.html + load 989965-1.html + load large_border_image_width.html ++load border-image-visited-link.html Added: trunk/www/seamonkey/files/patch-bug975397 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/seamonkey/files/patch-bug975397 Sat May 24 18:25:18 2014 (r1588) @@ -0,0 +1,73 @@ +commit 2fe45fb +Author: L. David Baron +Date: Wed Apr 2 22:56:19 2014 -0700 + + Bug 975397 - Call TrackImage when constructing a new nsStyleBorder. r=heycam + + I confirmed that the crashtest crashes in the harness without the patch. + + --HG-- + rename : layout/reftests/backgrounds/blue-32x32.png => layout/style/crashtests/blue-32x32.png +--- + layout/base/nsCSSRendering.cpp | 9 +++++++++ + layout/style/crashtests/blue-32x32.png | Bin 0 -> 110 bytes + layout/style/crashtests/border-image-visited-link.html | 10 ++++++++++ + layout/style/crashtests/crashtests.list | 1 + + 4 files changed, 20 insertions(+) + +diff --git layout/base/nsCSSRendering.cpp layout/base/nsCSSRendering.cpp +index d91309b..2d8bb46 100644 +--- mozilla/layout/base/nsCSSRendering.cpp ++++ mozilla/layout/base/nsCSSRendering.cpp +@@ -419,6 +419,10 @@ nsCSSRendering::PaintBorder(nsPresContext* aPresContext, + } + + nsStyleBorder newStyleBorder(*styleBorder); ++ // We could do something fancy to avoid the TrackImage/UntrackImage ++ // work, but it doesn't seem worth it. (We need to call TrackImage ++ // since we're not going through nsRuleNode::ComputeBorderData.) ++ newStyleBorder.TrackImage(aPresContext); + + NS_FOR_CSS_SIDES(side) { + newStyleBorder.SetBorderColor(side, +@@ -428,6 +432,11 @@ nsCSSRendering::PaintBorder(nsPresContext* aPresContext, + PaintBorderWithStyleBorder(aPresContext, aRenderingContext, aForFrame, + aDirtyRect, aBorderArea, newStyleBorder, + aStyleContext, aSkipSides); ++ ++ // We could do something fancy to avoid the TrackImage/UntrackImage ++ // work, but it doesn't seem worth it. (We need to call UntrackImage ++ // since we're not going through nsStyleBorder::Destroy.) ++ newStyleBorder.UntrackImage(aPresContext); + } + + void +diff --git layout/style/crashtests/blue-32x32.png layout/style/crashtests/blue-32x32.png +new file mode 100644 +index 0000000..deefd19 +Binary files /dev/null and layout/style/crashtests/blue-32x32.png differ +diff --git layout/style/crashtests/border-image-visited-link.html layout/style/crashtests/border-image-visited-link.html +new file mode 100644 +index 0000000..b6e3ae5 +--- /dev/null ++++ mozilla/layout/style/crashtests/border-image-visited-link.html +@@ -0,0 +1,10 @@ ++ ++border-image on link with visited styles ++ ++test +diff --git layout/style/crashtests/crashtests.list layout/style/crashtests/crashtests.list +index e414f28..acd709c3 100644 +--- mozilla/layout/style/crashtests/crashtests.list ++++ mozilla/layout/style/crashtests/crashtests.list +@@ -102,3 +102,4 @@ load 930270-1.html + load 930270-2.html + load 945048-1.html + load 989965-1.html ++load border-image-visited-link.html