Commit graph

499 commits

Author SHA1 Message Date
L. David Baron
3a120c56d3 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
Zack Weinberg
71db1509d5 Bug 477732: fix scaling of border-image side tiles with 'repeat'. r+sr=roc 2009-02-20 16:33:30 +13:00
L. David Baron
da21efddd5 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
bd25838a7a 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
L. David Baron
715b4bef6b Construct all our image loaders when we create frames so that we can allow arbitrary numbers of image loaders per frame (for multiple background images). (Bug 322475) r+sr=bzbarsky 2009-02-19 11:03:28 -08:00
L. David Baron
c936720f0a Back out all 8 changesets that I just landed (bugs 477959, 477961, 322475, 478899, 475215, 478156) again, because Talos Try server builds lie about which changesets they're testing. 2009-02-19 09:06:18 -08:00
L. David Baron
11e12c4425 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 07:29:28 -08:00
L. David Baron
253355ccbb Construct all our image loaders when we create frames so that we can allow arbitrary numbers of image loaders per frame (for multiple background images). (Bug 322475) r+sr=bzbarsky 2009-02-19 07:29:27 -08:00
L. David Baron
3d090560b0 Revert (back out) the previous 11 changesets (bugs 477959, 477961, 477963, 477962, 322475, 478899, 475215, 478156), due to Mac talos orange with (as usual) no useful diagnostic. 2009-02-18 18:59:47 -08:00
L. David Baron
7ee7fbc33f 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-18 17:13:25 -08:00
L. David Baron
ce51a87ca9 Construct all our image loaders when we create frames so that we can allow arbitrary numbers of image loaders per frame (for multiple background images). (Bug 322475) r+sr=bzbarsky 2009-02-18 17:13:24 -08:00
Zack Weinberg
2ed31147bb Bug 476557. Update view manager cache of page background color in PresShell::Paint, not nsCSSRendering::PaintBackground; permits a small API cleanup. r+sr=roc
--HG--
extra : rebase_source : dcf1475dd8b695eb18513e97ca35b08a4affd19f
2009-02-16 14:11:34 +13:00
Zack Weinberg
dc2eb3467f Bug 455364. Use nsLayoutUtils::DrawImage helpers to draw border-images, fixing rounding issues. r+sr=roc
--HG--
extra : rebase_source : 6e65e6265d1e3c8b1f2c90af4b78535c31aa0551
2009-02-16 14:04:03 +13:00
Michael Ventnor
1afd316abf Bug 476738. Implement 'inset' box-shadows. r+sr=roc,r=dbaron 2009-02-10 21:45:13 +13:00
Bernd
a4882df1fe fix a pence post error in painting of dotted border collapse borders r/sr=roc bug 126540 2009-02-08 17:42:01 +01:00
Robert O'Callahan
ec88baaaaa Backed out changeset a142df653655 2009-02-07 23:37:23 +13:00
Zack Weinberg
93a869a907 Bug 455364. Make border-image drawing use nsLayoutUtils::DrawImage and friends so we get the right pixel-snapping behaviour. r+sr=roc 2009-02-07 21:35:54 +13:00
Daniel Holbert
0deabefc86 Bug 472769: Use snapToPixels when redrawing dirty background rectangles, to fix painting error in widgets at fractional positions. r+sr=roc 2009-02-05 17:39:25 -08:00
Jim Mathies
57cd181576 Bug 450322 - Fix broken windows animation in Vista Aero. r+sr=roc. 2009-02-04 21:05:48 -06:00
Zack Weinberg
483d574706 Bug 475548. Don't let the view manager's DefaultBackgroundColor be translucent. r+sr=roc
--HG--
extra : rebase_source : 1a8a5b29e8bc726affd4a97850e4c8f2c962ed1f
2009-01-30 20:07:30 +13:00
Michael Ventnor
c3c3f9d0be Bug 475197. -moz-box-shadow needs to be hooked up to buttons and fieldsets since they have custom background painting code. r+sr=roc 2009-01-28 22:28:14 +13:00
Zack Weinberg
5ebb54c102 Bug 474201: always set the view manager's default background in nsCSSRendering::PaintBackground, use only the prescontext's default background in PresShell::Paint. r+sr=roc
--HG--
extra : rebase_source : 585e5e1803e98d25163fdcdf7f0aa758177e932c
2009-01-22 17:18:59 +13:00
Zack Weinberg
d1b9990637 Bug 473398. nsCSSRendering::PaintBackground should not try to fix up the canvas background color to be opaque. r+sr=roc
--HG--
extra : rebase_source : f2883c704bee9a4ba70c57598704ed7ba30628dc
2009-01-16 21:15:29 +13:00
Jeremy Lea
ce80f69254 Bug 448830. Make nsIntRect/nsIntMargin/nsIntSize/nsIntPoint different types from nsRect/nsMargin/nsSize/nsPoint different types for better compile-type unit checking. r+sr=roc
--HG--
extra : rebase_source : a331a9e49fbc5931f546919281fcca7f008ab615
2009-01-15 16:27:09 +13:00
Benjamin Smedberg
3498a5f86e Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.

--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
L. David Baron
1a022d37d8 Address my own review comment: Restore IsTransparent() check, which should restore old behavior for background-images when printing backgrounds is disabled. (Bug 456219) r=zwol 2009-01-10 08:37:01 -08:00
Benjamin Smedberg
73a6fab34b Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
802d1a10c7 Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Michael Ventnor
1766ffca05 Bug 472410. Don't adjust selection colors if the background is a -moz-appearance that we can't know anything about. r+sr=roc 2009-01-09 13:29:38 +13:00
Zack Weinberg
5230e8f3d0 Bug 456219. Fix clipping to padding-rect with rounded corners. r+sr=roc 2009-01-09 13:28:32 +13:00
Robert O'Callahan
26c40a1e79 Backed out changeset 5041ce453104 2009-01-08 23:19:21 +13:00
Zack Weinberg
cdce96d30d Bug 456219. Fix clipping to padding-rect with rounded corners. r+sr=roc
--HG--
extra : rebase_source : ec710fd6f83332fcecaa926b1f0ec07e4d2e3635
2009-01-08 21:10:21 +13:00
Michael Ventnor
e2c79cc3e9 Bug 445741. Round rects consistently to avoid a gap between an element and its shadow. r+sr=roc
--HG--
extra : rebase_source : dbb4ae33812db8167650dcc218f0bd4a3e0f3dc2
2009-01-05 13:41:01 +13:00
Michael Ventnor
f770f5b88f Bug 468018 - Optimize box-shadow rendering even further by doing more intersections; r=vladimir 2008-12-06 19:54:36 +01:00
Michael Ventnor
1976d96d55 Bug 458031. Take dirty rect into account to limit box-shadow computation. r+sr=roc 2008-12-03 10:16:22 +13:00
Robert O'Callahan
8d93852f4a Bug 463952. Expand destArea according to CSS background-repeat *before* intersecting with bgClipArea, instead of after. r+sr=dbaron 2008-11-26 11:19:34 +13:00
Robert O'Callahan
f27247750a Bug 458487 - 'Rework image snapping logic'. r=vlad+joedrew, sr=dbaron 2008-11-04 14:01:21 -08:00
Zack Weinberg
49e5fb47de Bug 455105 - IsSolidBorderEdge in nsCSSRendering.cpp ignores foreground borders; r=vladimir, sr=roc 2008-10-30 12:54:58 +03:30
L. David Baron
c74a025b24 Merge backout of changeset 23eebebb8b48 (from bug 322475, which made us construct all our image loaders at frame construction time) because of issues with propagation of backgrounds to the canvas (bug 460796). 2008-10-28 14:36:44 -07:00
L. David Baron
5b935e6daa Backed out changeset 23eebebb8b48 (from bug 322475, which made us construct all our image loaders at frame construction time) because of issues with propagation of backgrounds to the canvas (bug 460796). 2008-10-28 14:36:17 -07:00
Masayuki Nakano
275ce7e82a Bug 461512 nsCSSColorUtils doesn't support alpha color (border color is always solid color if the border-style is groove, ridge, inset, outset) r+sr=roc 2008-10-28 11:05:38 +09:00
L. David Baron
6e5f3d5edc Construct all our image loaders when we create frames so that we can allow arbitrary numbers of image loaders per frame (for multiple background images). (Bug 322475) r+sr=bzbarsky 2008-10-11 20:49:42 -04:00
L. David Baron
d988f99ef5 Fix glitches in border-image drawing. (Bug 449647) r=robarnold, sr=vlad 2008-10-07 15:10:19 -07:00
Zack Weinberg
f21ce60ac3 Bug 450652 – Style system changes to support CSS3 border-radius – data structures for elliptical borders (part 1) [r+sr=dbaron] 2008-10-01 00:50:52 -05:00
Zack Weinberg
a449fb980a Bug 457617 - Remove one unused function and one vestigial function declaration from nsCSSRendering.cpp [r+sr=roc] 2008-10-01 00:43:02 -05:00
Robert O'Callahan
a39e457b50 Backing out bug 448830 2008-09-28 23:13:58 +13:00
Jeremy Lea
4527d5d1a8 Bug 448830. Make nsIntRect/nsIntMargin/nsIntSize/nsIntPoint their own types so that we can catch errors by distinguishing pixels from appunits. r+sr=roc 2008-09-28 20:38:34 +13:00
Taras Glek
a5d4141991 bug 457119: nuke nsCSSRendering::FillPolygon. r+sr=roc 2008-09-25 18:46:06 -07:00
Robert O'Callahan
5dbf5690ac Backing out bug 448830 2008-09-26 13:10:26 +12:00
Jeremy Lea
7261376c29 Bug 448830. Make nsIntRect/nsIntSize/nsIntPoint/nsIntMargin separate types so we get appunit vs pixel typechecking. r+sr=roc 2008-09-26 10:42:19 +12:00
Vladimir Vukicevic
755ba15181 b=450178; add generic 8-bit alpha box blur in thebes (patch from Eric Bulter); r=vlad 2008-09-25 12:53:09 -07:00
Vladimir Vukicevic
596295f6f9 b=455976; wrong extend mode used for macosx for border-image 2008-09-25 12:49:55 -07:00
Zack Weinberg
d5216d9f34 Bug 456792 - Two more API cleanups for nsCSSRendering; patch 2; r+sr=roc 2008-09-25 18:03:15 +02:00
Zack Weinberg
473726ed0c Bug 456792 - Two more API cleanups for nsCSSRendering; patch 1; r+sr=roc 2008-09-25 17:53:27 +02:00
Zack Weinberg
97bef90839 Bug 456152 - slight API cleanup for nsCSSRendering::PaintBackground; r+sr=roc 2008-09-24 06:07:22 +02:00
Zack Weinberg
fccdef9efc Bug 455217 - Selection colors for plain text files is wrong (white background, blue text instead of blue background, white text); "code" part; r+sr=dbaron 2008-09-19 19:06:46 +02:00
L. David Baron
67b916836d Convert text-shadow and box-shadow storage from nsStyleCoord to nscoord. (Bug 443057) r+sr=bzbarsky 2008-09-12 20:45:37 -07:00
L. David Baron
703aefde59 Convert outline offset storage from nsStyleCoord to nscoord. (Bug 443057) r+sr=bzbarsky 2008-09-12 20:45:37 -07:00
Zack Weinberg
3054503452 Bug 453566 - HTML element with rgba(0,0,0,0) background produces garbage on screen. r+sr=roc 2008-09-12 08:36:53 -07:00
Zack Weinberg
0299bad5bb Bug 453916: treat transparency strictly as a special case of color alpha. r+sr=dbaron 2008-09-12 08:35:53 -07:00
Robert O'Callahan
b52d3794d5 Bug 450340. Support SVG mask/clip-path/filter CSS properties applied to non-SVG content. r=longsonr,sr=mats 2008-09-11 12:24:16 +12:00
Robert O'Callahan
d6a8ca9781 Bug 450350. Don't let the tiled vs single-image drawing path choice depend on the dirty area, since the rendering results can differ. r+sr=dbaron 2008-08-25 21:05:15 +12:00
Michael Ventnor
c7d5f1db38 Bug 447044 – First -moz-box-shadow not drawn when second one has large blur value. r=roc 2008-08-13 08:27:47 +02:00
Robert O'Callahan
39d80a881d Bug 449324. When an element has a solid border, clip background painting to the padding-rect so we don't bother trying to tile a repeating background under the border area. r+sr=vlad 2008-08-13 15:11:35 +12:00
Rob Arnold
a99f6d56c4 Implement Aero Glass effect support - bug 418454 r=vlad r=roc 2008-08-12 17:44:14 -07:00
Robert O'Callahan
8ea6018a9d Bug 438987. Propagate background color correctly when the root element is a table. Relanding with a crash fix. r+sr=dbaron 2008-08-08 20:21:13 +12:00
Robert O'Callahan
b52d1fcfd0 Bug 438987, backing out 2008-08-08 15:34:43 +12:00
Robert O'Callahan
3402e96123 Bug 438987. Propagate background color correctly when the root element is a table. r+sr=dbaron 2008-08-08 13:52:41 +12:00
Zack Weinberg
300f48fbd4 Bug 446498 – use new border rendering for focus rectangles, and strip dead code. r+sr=vlad 2008-08-06 12:33:18 +02:00
Michael Ventnor
ef199d50e6 Bug 448903. Fix bounds checking in blur code. r+sr=roc 2008-08-04 14:18:46 +12:00
Markus Stange
882f519fe4 Bug 446463 - DrawWidgetBackground can't snap to pixels properly, remove translation. r+sr=roc. 2008-07-27 18:08:51 +02:00
Vladimir Vukicevic
01d5a8973a b=424423, border rendering is slow: Part 1; r+sr=roc 2008-07-23 10:25:23 -07:00
Andrew Smith ext:(%2C%20Rob%20Arnold%20%3Ctellrob%40gmail.com%3E%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
7d3343e0fa Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 23:30:25 -07:00
L. David Baron
86c186dbd8 Backed out changeset 9b0b2391485c due to linker errors related to nsStyleStructInlines.h not being included enough. 2008-07-16 22:59:14 -07:00
Andrew Smith ext:(%2C%20Rob%20Arnold%20%3Ctellrob%40gmail.com%3E%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
269c2d355a Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 22:18:38 -07:00
Michael Ventnor
c69e8e2711 Bug 444925 – Crash [@ nsContextBoxBlur::BoxBlurHorizontal] with mathml:munderover and text-shadow. r+sr=roc 2008-07-14 12:35:15 +02:00
Michael Ventnor
20e2b7315c Bug 439343 - "Crash [@ _moz_cairo_surface_set_device_offset ] with text-shadow, large text-indent, font-size and letter-spacing" [p=ventnor.bugzilla@gmail.com (Michael Ventnor) r+sr=roc] 2008-07-08 00:43:00 -05:00
Michael Ventnor
77451fb4e4 Bug 212633 - "Add support for CSS3 box-shadow" (rendering support) [p=ventnor.bugzilla@gmail.com (Michael Ventnor) r+sr=roc] 2008-07-07 19:57:47 -05:00
Michael Ventnor
129d4dc805 Implement text-shadow rendering (bug 10713). r+sr=roc. Relanding with fixes to make tests pass on Mac 2008-06-13 10:02:32 +12:00
Robert O'Callahan
42904fb3e3 Backing out text-shadow due to Mac issues 2008-06-12 17:32:31 +12:00
Michael Ventnor
159e13c0ea Implement text-shadow rendering. 2008-06-12 14:34:40 +12:00
L. David Baron
88bb0bcc0f Snap background origin and clip areas to device pixels to prevent tiling from varying for subpixel position changes that don't change the box's visible position at all. Tests by roc (433640-*) and me (background-image-tiling-*). b=433640 r+sr=roc 2008-06-03 15:25:31 -07:00
L. David Baron
bee4adf604 Eliminate unnecessary reference counting of gfxContext objects. b=433640 r+sr=roc 2008-06-03 15:25:31 -07:00
L. David Baron
80ef4ff3cb Make outlines on inlines containing blocks outline the blocks. b=424236,270191 r+sr=roc 2008-06-02 15:52:25 -07:00
vladimir@pobox.com
2f480deb23 Back out patch for bug 397303 due to serious perf regressions; r/sr=roc 2008-04-19 22:31:30 -07:00
roc+@cs.cmu.edu
9834f18640 Bug 399258. nsCSSRendering::PaintBorder should not try to optimize away the case where the dirty rectangle is inside the element's padding-rect, because border-radius can make the border appear inside the padding-rect. nsDisplayBorder::OptimizeVisibility does this optimization correctly already so just remove it from PaintBorder. r+sr=vlad, a=damon 2008-04-14 18:41:12 -07:00
masayuki@d-toybox.com
b5f3baa661 Bug 427420 selection decoration lines (spell checker's underline and IME composing string underline) are not displayed r+sr+b1.9=roc 2008-04-07 16:57:13 -07:00
smontagu@smontagu.org
6d810bbd51 Correct the coordinates for selection decoration in right-to-left text. Bug 421042, r+sr=roc, a=beltzner 2008-04-06 01:12:09 -07:00
roc+@cs.cmu.edu
421ea5a76e Bug 421885. Make tiled image drawing sample only the correct subimage by manually padding if necessary. r=vlad 2008-03-31 02:40:53 -07:00
reed@reedloden.com
9daab6c56d Back out Robert O'Callahan's patch from bug 421885 due to reftest failure. 2008-03-28 02:32:03 -07:00
reed@reedloden.com
dbbcc3c1e1 Bug 421885 - "Google reader search results have strange red line and broken border around them" [p=roc@ocallahan.org (Robert O'Callahan [roc]) r=vlad a=blocking1.9+] 2008-03-28 01:40:02 -07:00
roc+@cs.cmu.edu
b85eb999a0 Bug 403181. Pass the desired source rectangle for background images down into nsThebesImage and ensure we don't sample outside it. Back out a bad pixman patch that caused regressions, and adjust image encoding tests so they don't depend on the regression. Also switchs some reftests to quirks mode so that the 1-appunit width of <br>s doesn't bite us. r=vlad,sr=dbaron 2008-03-09 14:55:05 -07:00
roc+@cs.cmu.edu
17ebdab033 Backing out Bug 403181. JPEG encoding test failure :-( 2008-03-07 01:28:34 -08:00
roc+@cs.cmu.edu
2c9f274033 Bug 403181. Various fixes to image rendering. Most importantly, we track the desired subimage of a CSS background image and ensure we don't sample outside it. r=vlad,sr=dbaron 2008-03-07 00:34:12 -08:00
vladimir@pobox.com
e2505e6b8d b=417246, wrong border size rendering in some cases ; r=roc 2008-03-05 23:58:58 -08:00
dbaron@dbaron.org
0d8b560733 Fix the weird Get* API on nsStyleSides in favor of returning structs by value, to avoid further occurrences of bug 420069. b=420069 r+sr=roc a=beltzner 2008-03-05 16:05:26 -08:00
masayuki@d-toybox.com
fa4e17f0c5 Bug 405308 [text-decoration] Link underline disappears (or is misaligned 1px) when scrolling r+sr=roc, a1.9=beltzner 2008-03-05 11:24:44 -08:00
roc+@cs.cmu.edu
d5b5fd63c2 Backing out 403181 again 2008-03-04 01:36:07 -08:00
roc+@cs.cmu.edu
ffb68f7a15 Bug 403181. Track which subimage of an image we want to draw and copy it to a temporary surface if necessary to prevent sampling of pixels outside the subimage when zooming. Also, enable EXTEND_PAD or SetFilter(0) if the context has a transformation that's not a simple translation, since that might induce cairo to sample pixels outside the source (sub)image. r=vlad,sr=dbaron 2008-03-04 00:21:34 -08:00
roc+@cs.cmu.edu
67c8b1e808 Bug 403181 backout 2008-03-02 18:38:19 -08:00