gecko-dev/layout/reftests/backgrounds
Kyle Huey 0660c18b2f Bug 816498: Fix some things about background attribute handling that are still broken. r=bz
As filed the bug is about table backgrounds failing to print.  The root cause of this is that we load images from the original document, because print/print-preview documents (which are static clones of the original) cannot do loads.  This results in an entry in the css::ImageValue's request table under the original document, but entry under the printing document.  Then we do layout, try to get the request, and fail, and nothing is displayed.  The solution to this is to force us to clone the request for the printing document if we're loading off the original document.  I manually verified that this does not regress Bug 560235.

While writing a test for this, we discovered another problem.  The reftest print code does not actually use the printing codepath.  Instead it takes an existing document, tears down its presshell, and creates a new presshell for printing.  Fixing the above bug did not make the reftest print test pass because ImageLoader does not deal properly with presshell destruction/recreation.  It assumes that when the presshell is destroyed all of the css::ImageValues can be cleared of their entries for that document.  This fails for ImageValues for mapped attributes because they are held alive by the content tree.  When a new presshell for this document is then created there is no entry for the document and thus no image request to paint.  The fix for this is to only clear the frame to request and request to frame mapping hashtables and not to clear the document's entry on the ImageValue when the presshell is destroyed.  The destruction of the ImageLoader (which is held from a strong reference on the document) is when those entries are removed.  The final change is to change css::ImageValue's hashtable from holding a strong reference to the keys (which are documents) to holding raw pointer references.  This is safe because we clear the relevant entry when the corresponding ImageLoader dies, and is needed to prevent a reference cycle that was being broken by presshell destruction.

--HG--
rename : layout/reftests/backgrounds/table-background-ref.html => layout/reftests/backgrounds/table-background-print-ref.html
rename : layout/reftests/backgrounds/table-background.html => layout/reftests/backgrounds/table-background-print.html
2013-02-23 06:59:43 -08:00
..
gradient Bug 609714 - Properly compute background image size for vector background images lacking intrinsic sizes or an intrinsic aspect ratio. r=dholbert, r=dbaron 2011-01-13 04:40:12 -06:00
vector Bug 811779 - Enable larger set of reftests on B2G emulators, r=jgriffin 2013-01-03 15:35:01 -05:00
aqua-32x32.png
aqua-yellow-32x32.png Bug 548375 - Add tests for background-repeat taking two values (css3-background). r=dbaron 2012-02-24 21:23:14 -08:00
background-clip-1-ref.html
background-clip-1.html
background-clip-2-ref.html Bug 624301. Only change background clip to padding-box for solid borders if it's border-box to start with. r=dbaron 2011-01-14 10:34:39 -05:00
background-clip-2.html Bug 624301. Only change background clip to padding-box for solid borders if it's border-box to start with. r=dbaron 2011-01-14 10:34:39 -05:00
background-layers-1-ref.html Bug 786502 - Add reftests for background layers. r=roc 2012-09-13 11:35:14 +01:00
background-layers-1a.html Bug 786502 - Add reftests for background layers. r=roc 2012-09-13 11:35:14 +01:00
background-layers-1b.html Bug 786502 - Add reftests for background layers. r=roc 2012-09-13 11:35:14 +01:00
background-moz-default-background-color-ref.html Bug 591341 - Add color keywords for default text and background colors. r=dbaron 2011-03-30 11:28:05 +02:00
background-moz-default-background-color.html Bug 591341 - Add color keywords for default text and background colors. r=dbaron 2011-03-30 11:28:05 +02:00
background-position-1-ref.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-1a.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-1b.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-1c.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-2-ref.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-2a.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-2b.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-3-ref.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-3a.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-3b.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-4-ref.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-4a.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-4b.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-4c.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-5-ref.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-5.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-6-ref.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-6.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-7-ref.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-7.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-8-ref.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-position-8.html Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
background-redraw-237766-ref.html
background-redraw-237766.html
background-referrer-image.png Bug 817531. Fix the referrer header for background image loads. r=khuey 2012-12-06 15:21:19 -05:00
background-referrer-ref.html Bug 817531. Fix the referrer header for background image loads. r=khuey 2012-12-06 15:21:19 -05:00
background-referrer.html Bug 817531. Fix the referrer header for background image loads. r=khuey 2012-12-06 15:21:19 -05:00
background-referrer.sjs Bug 817531 followup. Enable the test on android. No review. 2012-12-07 00:11:19 -05:00
background-repeat-1-ref.html Bug 548375 - Add tests for background-repeat taking two values (css3-background). r=dbaron 2012-02-24 21:23:14 -08:00
background-repeat-1.html Bug 548375 - Add tests for background-repeat taking two values (css3-background). r=dbaron 2012-02-24 21:23:14 -08:00
background-size-auto-auto.html
background-size-auto-length-ref.html
background-size-auto-length.html
background-size-auto-percent.html
background-size-auto-ref.html
background-size-auto.html
background-size-body-contain-no-repeat.html
background-size-body-contain-not-fixed.html
background-size-body-contain.html
background-size-body-cover-no-repeat.html
background-size-body-cover-not-fixed.html
background-size-body-cover-ref.html
background-size-body-cover.html
background-size-body-percent-percent-no-repeat.html
background-size-body-percent-percent-not-fixed.html
background-size-body-percent-percent-overflow-ref.html
background-size-body-percent-percent-overflow.html
background-size-body-percent-percent-ref.html
background-size-body-percent-percent.html
background-size-body-single-not-fixed.html
background-size-bounding-box.html
background-size-contain-clip-border-ref.html
background-size-contain-clip-border.html
background-size-contain-clip-padding-origin-border-padding-ref.html
background-size-contain-clip-padding-origin-border-padding.html
background-size-contain-clip-padding-origin-border-ref.html
background-size-contain-clip-padding-origin-border.html
background-size-contain-clip-padding-ref.html
background-size-contain-clip-padding.html
background-size-contain-position-fifty-fifty-ref.html
background-size-contain-position-fifty-fifty.html
background-size-contain-ref.html
background-size-contain.html
background-size-continuous.html
background-size-cover-bounding-box.html
background-size-cover-continuous.html
background-size-cover-each-box.html
background-size-cover-ref.html
background-size-cover.html
background-size-each-box.html
background-size-length-auto.html
background-size-length-length-ref.html
background-size-length-length.html
background-size-length-percent-ref.html
background-size-length-percent.html
background-size-length.html
background-size-monster-ch.html
background-size-monster-cm.html
background-size-monster-em.html
background-size-monster-ex.html
background-size-monster-inches.html
background-size-monster-mm.html
background-size-monster-pc.html
background-size-monster-pt.html
background-size-monster-px.html
background-size-monster-ref.html
background-size-monster-rem.html
background-size-percent-auto.html
background-size-percent-length.html
background-size-percent-percent-ref.html
background-size-percent-percent-stretch-ref.html
background-size-percent-percent-stretch.html
background-size-percent-percent.html
background-size-percent.html
background-size-zoom-no-repeat-ref.html
background-size-zoom-no-repeat.html
background-size-zoom-repeat-ref.html
background-size-zoom-repeat.html
blue-8x20-green-8x20.png
blue-8x20-green-16x20.png
blue-8x20.png
blue-16x20-green-8x20.png
blue-16x20-green-16x20.png
blue-16x20.png
blue-32x32.png
body-background-ref.html Bug 783162: Make mapped attributes hold the image alive. r=bz 2012-08-24 10:50:49 -07:00
body-background.html Bug 783162: Make mapped attributes hold the image alive. r=bz 2012-08-24 10:50:49 -07:00
continuous-inline-1a.html
continuous-inline-1ab-ref.html Bug 831354, test fix 1: Make continuous-inline-1{cd} tests no longer assume that the height of an inline in the default font is less than 20px. r=bzbarsky 2013-01-17 20:20:27 +00:00
continuous-inline-1b.html
continuous-inline-1c.html
continuous-inline-1cd-ref.html Bug 831354, test fix 1: Make continuous-inline-1{cd} tests no longer assume that the height of an inline in the default font is less than 20px. r=bzbarsky 2013-01-17 20:20:27 +00:00
continuous-inline-1d.html
continuous-inline-2-ref.html
continuous-inline-2a.html
continuous-inline-2b.html
continuous-inline-3-ref.html
continuous-inline-3.html
continuous-inline-4-ref.html
continuous-inline-4a.html
continuous-inline-4b.html
continuous-inline-5-ref.html
continuous-inline-5a.html
continuous-inline-5b.html
delay-image-response.sjs Bug 128502 - Move imagelib to mozilla/image on a CLOSED TREE. r=joe,brendan 2011-10-17 21:32:45 -07:00
div-background-ref.html Bug 783162: Make mapped attributes hold the image alive. r=bz 2012-08-24 10:50:49 -07:00
div-background.html Bug 783162: Make mapped attributes hold the image alive. r=bz 2012-08-24 10:50:49 -07:00
fixed-bg-with-transform-outside-viewport-1.html Bug 622818. Don't clip fixed backgrounds to the viewport if we are inside a transform. r=roc a=blocking 2011-02-08 13:29:28 -06:00
fixed-bg-with-transform-outside-viewport-ref.html Bug 622818. Don't clip fixed backgrounds to the viewport if we are inside a transform. r=roc a=blocking 2011-02-08 13:29:28 -06:00
fuchsia-32x32.png
green-8x20-blue-8x20-vertical.png
green-8x20.png
green-16x20.png
green-circle-alpha-32x32.png Bug 786502 - Add reftests for background layers. r=roc 2012-09-13 11:35:14 +01:00
iframe-translucent-color-1.html
iframe-translucent-color-ref.html
layers-layer-count-1-ref.xhtml
layers-layer-count-2-ref.xhtml
layers-layer-count-cascade-1.xhtml
layers-layer-count-cascade-2.xhtml
layers-layer-count-inheritance-1.xhtml
layers-layer-count-inheritance-2.xhtml
layers-stacking-order-ref.xhtml
layers-stacking-order.xhtml
malformed.png
multi-background-clip-content-border-ref.html Bug 797021 - Reftest for multiple background content/border box clipping. r=roc 2012-11-02 08:35:39 +00:00
multi-background-clip-content-border.html Bug 797021 - Reftest for multiple background content/border box clipping. r=roc 2012-11-02 08:35:39 +00:00
really-big-background-ref.html Bug 697230: Part 3 - Make style images block onload. r=bz 2012-08-13 16:04:17 -07:00
really-big-background.html Bug 697230: Part 3 - Make style images block onload. r=bz 2012-08-13 16:04:17 -07:00
really-big-background.png Bug 697230: Part 3 - Make style images block onload. r=bz 2012-08-13 16:04:17 -07:00
red-32x32.png
red-128-alpha-32x32.png
reftest.list Bug 816498: Fix some things about background attribute handling that are still broken. r=bz 2013-02-23 06:59:43 -08:00
root-background-1.html Bug 631682. Make sure to start background image loads for the root element when we compute its style and decide to construct a frame. r+a=dbaron 2011-02-04 22:43:13 -05:00
root-background-ref.html Bug 631682. Make sure to start background image loads for the root element when we compute its style and decide to construct a frame. r+a=dbaron 2011-02-04 22:43:13 -05:00
root-element-display-none-1.html
root-element-display-none-ref.html
table-background-print-ref.html Bug 816498: Fix some things about background attribute handling that are still broken. r=bz 2013-02-23 06:59:43 -08:00
table-background-print.html Bug 816498: Fix some things about background attribute handling that are still broken. r=bz 2013-02-23 06:59:43 -08:00
table-background-ref.html Bug 816498: Fix some things about background attribute handling that are still broken. r=bz 2013-02-23 06:59:43 -08:00
table-background.html Bug 816498: Fix some things about background attribute handling that are still broken. r=bz 2013-02-23 06:59:43 -08:00
translucent-color-1.html
translucent-color-2.html
translucent-color-3.html
translucent-color-ref.html
transparent-32x32.png
viewport-translucent-color-1.html
viewport-translucent-color-2.html
viewport-translucent-color-3.html
viewport-translucent-color-ref.html
yellow-32x32.png