Commit Graph

54 Commits

Author SHA1 Message Date
Kyle Huey
c28e572034 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
L. David Baron
33392dd2be 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
--HG--
rename : layout/reftests/backgrounds/continuous-inline-1-ref.html => layout/reftests/backgrounds/continuous-inline-1ab-ref.html
rename : layout/reftests/backgrounds/continuous-inline-1-ref.html => layout/reftests/backgrounds/continuous-inline-1cd-ref.html
2013-01-17 20:20:27 +00:00
Andrew Halberstadt
3a19a47088 Bug 811779 - Enable larger set of reftests on B2G emulators, r=jgriffin 2013-01-03 15:35:01 -05:00
Boris Zbarsky
97b844d5a8 Bug 817531 followup. Enable the test on android. No review. 2012-12-07 00:11:19 -05:00
Boris Zbarsky
d9987b6aeb Bug 817531. Fix the referrer header for background image loads. r=khuey
--HG--
rename : image/test/reftest/generic/green.png => layout/reftests/backgrounds/background-referrer-image.png
rename : image/test/reftest/generic/accept-image-catchall-ref.html => layout/reftests/backgrounds/background-referrer-ref.html
rename : image/test/reftest/generic/accept-image-catchall.html => layout/reftests/backgrounds/background-referrer.html
rename : image/test/reftest/generic/check-header.sjs => layout/reftests/backgrounds/background-referrer.sjs
2012-12-06 15:21:19 -05:00
Ed Morley
3a7d01ab58 Backout d26382bc6411 (bug 817531) for Android failures in background-referrer.html on a CLOSED TREE 2012-12-06 22:41:37 +00:00
Boris Zbarsky
a1d4277a3b Bug 817531. Fix the referrer header for background image loads. r=khuey
--HG--
rename : image/test/reftest/generic/green.png => layout/reftests/backgrounds/background-referrer-image.png
rename : image/test/reftest/generic/accept-image-catchall-ref.html => layout/reftests/backgrounds/background-referrer-ref.html
rename : image/test/reftest/generic/accept-image-catchall.html => layout/reftests/backgrounds/background-referrer.html
rename : image/test/reftest/generic/check-header.sjs => layout/reftests/backgrounds/background-referrer.sjs
2012-12-06 15:21:19 -05:00
Joel Maher
fb45a60d2d Bug 737961 - add reftest manifest conditions for height width. r=dbaron 2012-11-12 07:56:34 -05:00
Matt Woodrow
d5a8630bc0 Bug 798964 - Add nsDisplayBackground color and make the bounds of nsDisplayBackground match the image. r=roc 2012-10-25 18:32:25 +13:00
Chris Lord
5a8cdf7549 Bug 797021 - Reftest for multiple background content/border box clipping. r=roc 2012-11-02 08:35:39 +00:00
Phil Ringnalda
1d64e213a8 Back out c95958e3b85d and e8a8bf41e0c4 (bug 798964) for Android reftest-4 failures 2012-10-25 01:19:57 -07:00
Matt Woodrow
1c151da429 Bug 798964 - Add nsDisplayBackground color and make the bounds of nsDisplayBackground match the image. r=roc 2012-10-25 18:32:25 +13:00
Daniel Holbert
f658ea2fd4 backout 5545892376cc (Bug 737961) for Windows reftest orange 2012-10-16 16:05:52 -07:00
Joel Maher
b92d825c2f Bug 737961 - add reftest manifest conditions for height width. r=dbaron 2012-10-16 16:12:25 -04:00
Chris Lord
b7cfd1764b Bug 786502 - Add reftests for background layers. r=roc
Add tests that verify background layers composite correctly.
2012-09-13 11:35:14 +01:00
Kyle Huey
0cae034974 Bug 783162: Make mapped attributes hold the image alive. r=bz
The nsCSSValue in nsGenericHTMLElement::MapBackgroundInto is a temporary.  This causes a problem after Bug 697230 landed, because the nsCSSValue::Image we put into that value is destroyed once we're done doing style stuff.  Previously the nsImageLoader would grab the request off the nsCSSValue::Image and hold it alive.  Bug 697230 changed the behavior here; now when the nsCSSValue::Image is destroyed it tells the image loader to drop the request.  The result is that all the references to the request are dropped and the frame is never told it has a background.

The solution is to keep the nsCSSValue::Image alive longer.  This patch adds two new types of nsAttrValue.  The first is an nsCSSValue::URL.  A ParseBackgroundAttribute method is added on nsGenericHTMLElement that the relevant elements (body/td/th/table/tr/tbody/thead/tfoot) call that parses background into an nsCSSValue::URL.  The second is an nsCSSValue::Image.  nsGenericHTMLElement::MapBackgroundInto attempts to convert the nsCSSValue::URL into an nsCSSValue::Image by kicking off the image load.  The result is that image loads are only started when the element is actually visible.  This also mirrors the way background-image works.  This also allows us to fix two longstanding bugs in this code.  Since MapBackgroundInto doesn't have a pointer to the actual element, it relied on grabbing the principal of the document.  Now we can grab the principal of the node in ParseBackgroundAttribute.  MapBackgroundInto also has no way to get at the element's base URI (to honor xml:base), which is now possible in ParseBackgroundAttribute.

nsCSSValue::[Image|URL] have also been moved to be mozilla::css::[Image|URL]Value.  nsAttrValue.h is included in external linkage code, so it can't include nsCSSValue.h to get the declarations of nsCSSValue::[Image|URL], and nested classes can't be forward declared.  Moving the classes to a namespace solves the problem.

Finally some old inoperative quirks mode code was removed.  This code has done nothing since Bug 273078 was landed in 2004.
2012-08-24 10:50:49 -07:00
Ed Morley
4257c2d32f Bug 685516 - Mark more tests as random; rs=khuey 2012-08-18 14:49:50 +01:00
Kyle Huey
1b73189aff Bug 685516: Mark a couple more tests random. 2012-08-15 13:15:03 -07:00
Ed Morley
9ca18660e6 Bug 685516 - Disable background-size-body-percent-percent-overflow.html; rs=khuey 2012-08-15 17:22:14 +01:00
Kyle Huey
cd9dcb6d64 Bug 685516: Disable some more tests. 2012-08-14 21:05:24 -07:00
Kyle Huey
ca05f5cb91 Bug 697230: Part 3 - Make style images block onload. r=bz 2012-08-13 16:04:17 -07:00
Kyle Huey
f454c29dd5 Bug 685516: Disable a bunch of failing tests on Android XUL. r=jrmuizel 2012-08-13 11:22:11 -07:00
Jeff Muizelaar
3e12f6ef5f Bug 750598. Add some heuristics to catch cases when we can use nearest filtering. r=roc
These may need some tuning to get right, but should be an improvement over
just disabling bilinear for backgrounds.

It also expectedly regresses tcheckerboard & tcheck2 because we're now
using bilinear when we were using nearest before.
2012-05-01 16:35:04 -04:00
George Wright
ce694a1b63 Bug 747274 - Add a pref (default to true on Android) to forcible use nearest pixel filtering for background drawing. r=jrmuizel,ajuma a=blassey 2012-04-24 10:28:46 -04:00
Kyle Huey
b9156a7e34 Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
Kyle Huey
cf183bc381 Bug 697230: Part 3 - Make style images block onload. r=bz 2012-04-07 09:00:27 -07:00
Lazar Sumar
e95d85b3d7 Bug 548375 - Add tests for background-repeat taking two values (css3-background). r=dbaron 2012-02-24 21:23:14 -08:00
William Chen
556f9b36ce Bug 522607 - Tests for new css3-background background-position syntax. r=dbaron 2012-02-20 12:16:11 +13:00
Jeff Walden
e1690fa43c Bug 609714 - Properly compute background image size for vector background images lacking intrinsic sizes or an intrinsic aspect ratio. r=dholbert, r=dbaron
--HG--
extra : rebase_source : 9b018973a13a50f7616cac2a369bc3a61ccd5927
2011-01-13 04:40:12 -06:00
Matt Brubeck
96deef1828 Bug 669851 - Update reftest annotations for tests that no longer have Android-specific failures 2011-08-02 19:57:42 -07:00
Florian Quèze
20b0b008d5 Bug 591341 - Add color keywords for default text and background colors. r=dbaron 2011-03-30 11:28:05 +02:00
Joel Maher
c6cc559d6f Bug 636753 - annotate reftest manifests to note tests that fail on Android (2 of 2). r=dbaron a=test-only 2011-03-18 11:54:15 -04:00
Timothy Nikkel
3a7d2f48c0 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
Boris Zbarsky
3693ed3012 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
Boris Zbarsky
32cd21cc54 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
Ehsan Akhgari
5cdc7ae6dd Bug 422179 - Part 3: Disable a reftest which fails because of bilinear filtering; r=jrmuizelaar a=NPOTB 2010-09-09 16:27:17 -04:00
L. David Baron
9cc2e9ec05 Switch reftest manifests to new, shorter syntax for widget toolkit tests. (Bug 570329) a2.0=tests
This patch was created by running the following sed commands:
s/MOZ_WIDGET_TOOLKIT=="\(gtk2\|cocoa\|qt\|windows\)"/\1Widget/g
s/MOZ_WIDGET_TOOLKIT!="\(gtk2\|cocoa\|qt\|windows\)"/!\1Widget/g
on all *.list files in the tree.
2010-07-30 16:48:57 -07:00
L. David Baron
308b0473d7 Add -moz-background-clip: content. (Bug 549809) r=roc 2010-06-08 18:44:32 -07:00
Jeff Walden
75a36235ad Bug 508325 - Fix a second instance of the core problem fixed in the first push; also change NSCoordSaturatingMultiply into two separate functions, one of which requires the scale to be non-negative and one which doesn't. r=roc
--HG--
extra : rebase_source : e4dc7f9f8e5647512524dcaa0e48dd5f68fe64a0
2009-08-06 00:36:54 -07:00
Jonathan Griffin
3620f8eb4c Add invalidate reftest for bug 237766. r=dbaron 2009-08-11 10:58:12 -07:00
Jeff Walden
7051de5a26 Mark several reftests as random for now; behavior is almost certainly deterministic, but I only have two sets of tinderbox results now and don't have time to watch the tree after they all report, so I'm marking them all bad until I have time to revisit them later tonight. r=orange
--HG--
extra : rebase_source : d6e5439da06b83396f784f56b50acff769ff1148
2009-08-05 17:12:45 -07:00
Jeff Walden
d992b71b42 Bug 508325 - "ABORT: negative scaling factors must be handled manually". r=roc 2009-08-05 15:34:27 -07:00
Jeff Walden
9fcfc548de Linux scaling behavior differs from elsewhere, so this test doesn't fail there (followup to bug 189519 to hopefully reopen a CLOSED TREE) 2009-07-30 15:40:12 -07:00
Jeff Walden
a24a25ba2e Bug 189519 - Implement CSS3 (-moz- for now)background-size. r=dbaron, other useful review comments from roc/bz 2009-05-28 11:09:05 -07:00
Timothy Nikkel
b21de22a53 Bug 488242. Make iframes with semi-transparent backgrounds work correctly by painting all canvas background colors using a dedicated fallback background color display item. r+sr=roc 2009-07-04 21:30:59 +12:00
L. David Baron
0d06184f97 Remove support for fallback background colors. (Bug 496721) r+sr=bzbarsky 2009-06-16 08:00:20 -07:00
Boris Zbarsky
2d12d487e3 Bug 481769. Treat ib special inline siblings as continuations for purposes of background painting. r+sr=roc 2009-03-06 15:32:20 -05:00
L. David Baron
fa9a21c33d Implement multiple background layers, implement fallback background color, and make -moz-background-inline-policy no longer be part of the background shorthand. (Bug 322475) r+sr=roc,bzbarsky 2009-02-19 21:29:21 -08:00
L. David Baron
2eb748571c Backed out changeset fde0b361f25e (bug 322475, main patch) due to Mac talos startup failures and hitting the NS_ABORT_IF_FALSE in SetupBackgroundClip, which may be related. 2009-02-19 13:51:46 -08:00
L. David Baron
d9ac02ed8c Implement multiple background layers, implement fallback background color, and make -moz-background-inline-policy no longer be part of the background shorthand. (Bug 322475) r+sr=roc,bzbarsky 2009-02-19 12:33:09 -08:00