Commit Graph

360 Commits

Author SHA1 Message Date
Jonathan Watt
f34d9fa3aa Bug 488314. Kill SetMatrixPropagation, part 1. r=roc 2009-04-29 06:31:34 +02:00
Craig Topper
0a6f7ad6c7 Bug 474230. Cleanup scale and translate in nsSVGElement similar to the new style SVG classes. r=jwatt 2009-04-28 15:25:03 +02:00
Robert O'Callahan
545b21b76a Fix bustage #2 2009-04-25 21:34:32 +12:00
Robert O'Callahan
2f74228b6f Fix bustage 2009-04-25 21:24:53 +12:00
Jonathan Watt
9cbe6077e0 Bug 463939. When an SVG element's geometry changes and it has an ancestor with a filter effect, invalidate the nearest SVG viewport ancestor because we don't have a good way to compute precise invalidation bounds. r=roc
--HG--
extra : rebase_source : 4f0b385d07b989137f83b80d6cd0907ee1dcd599
2009-04-25 01:17:43 +02:00
Ryo Onodera
1f1ccaea82 Bug 489718 - image-rendering and text-rendering hints should operate when clipping. r=longsonr 2009-04-24 14:11:03 +01:00
Jonathan Watt
74a6060e4b Bug 487019. Rename IsDependentAttribute to AttributeDefinesGeometry. r=longsonr 2009-04-24 01:41:17 +02:00
Ryo Onodera
db305118fd Bug 489151 - Masking and clipping with objectBoundingBox and non-trivial transforms is broken. r=jwatt 2009-04-24 03:10:22 +09:00
Joe Drew
64bbcf4155 Backed out changeset 6a452e522e07 - Boris Zbarsky – Bug 67752. Implement interruptible reflow. r=roc,dbaron - because of apparent Tp hangs. 2009-04-21 23:02:17 -04:00
Boris Zbarsky
e5f6293681 Bug 67752. Implement interruptible reflow. r=roc,dbaron 2009-04-21 19:53:52 -04:00
Jeff Muizelaar
9980cb2188 Bug 481926 - Rewrite color management component sr=vlad, r=ted, r=joedrew (\o/)
Replaces lcms with qcms
2009-04-07 12:02:11 -04:00
Robert Longson
7506754d85 Bug 423756 - Support image-rendering attribute for html images and css backgrounds. r=joe,vlad sr=roc 2009-04-05 10:52:14 +01:00
Joe Drew
fc5c15825a Backed out changeset 6f3c2171bbb2:
Bug 481926 - Rewrite color management component. r=joe,ted sr=vlad
2009-04-03 16:27:27 -04:00
Jeff Muizelaar
eaef2088cb Bug 481926 - Rewrite color management component. r=joe,ted sr=vlad 2009-04-03 15:09:56 -04:00
Neil Rashbrook
94ca5d4a92 VC7.1 bustage fix for bug 465996 r=longsonr sr=roc 2009-04-02 21:29:31 +01:00
Robert O'Callahan
7b4d0810ce Bug 459666. Guard assertion containing GetPrimaryFrameFor so it doesn't run at a bad time to be calling GetPrimaryFrameFor. Also, nsCSSFrameConstructor::PostRestyleEvent should check mPresShell->IsDestroying() when deciding whether to drop requests, and it should drop requests silently because it's perfectly safe and correct to do so. r+sr=bzbarsky
--HG--
extra : rebase_source : 8bf16bbc46de1f420d529f8d0a60ae07f8f0ef81
2009-04-01 14:08:34 +13:00
Jonathan Watt
af735602d3 Bug 465996. Small objects that are scaled up don't get invalidated correctly. r=roc 2009-03-31 14:19:39 +02:00
Olli Pettay
17e799fb0a Additional patch for Bug 425265, r+sr=bz 2009-03-30 22:03:42 +03:00
Robert O'Callahan
116c3c19f4 Backout fix for bug 459666
--HG--
extra : rebase_source : b261b5561671fd7fc9e3967f7d8c31448cc4c87a
2009-03-30 15:54:33 +13:00
Robert Longson
b68be373db Bug 484677 - Mouse coordinates in zoomed foreignObject are calculated incorrectly. r+sr=roc 2009-03-29 14:58:09 +01:00
Robert Longson
c725ebcfde Bug 483389 - viewportElement methods return the wrong element sometimes. r+sr=roc 2009-03-21 15:36:39 +00:00
Robert Longson
7235fc714e Bug 484150 - support image-rendering attribute. Includes some gfx code by vlad from bug 423756 which is r=joe. The rest is r=dbaron, sr=roc 2009-03-21 15:36:38 +00:00
Robert O'Callahan
2414bbf369 Bug 483765. Remove incorrect scaling when painting non-SVG content with an SVG filter, so such content renders properly when zooming. r=jwatt
--HG--
extra : rebase_source : 7106820dfb7f2b96b88348ea08e68c5d4377d863
2009-03-18 13:37:01 +13:00
Olli Pettay
52a6331cea Bug 482976 - Crash [@ nsTextFrame::Reflow] on print preview with quote, r+sr=roc 2009-03-18 12:45:00 +02:00
Robert Longson
cd32c05a9c Bug 483439 - text with stroke and fill causes crashes. r+sr=roc 2009-03-16 11:59:23 +00:00
Daniel Holbert
eae0d7096d Bug 473904 - Add an about:config option (defaulting to 'false' right now) for toggling SVG animation (SMIL) support. r+sr=roc 2009-03-09 18:20:17 -07:00
Robert Longson
f63037edfb Bug 470653 - nsSVGElement::AfterSetAttr should probably use insertionParent, not insertionParent of the bindingParent. r+sr=roc 2009-03-09 13:14:35 +00:00
Olli Pettay
468b832900 Bug 425265, r=roc, sr=bz 2009-03-08 21:01:02 +02:00
Boris Zbarsky
52893e176d Bug 481045. <svg:use> shouldn't paint its kids. r+sr=roc 2009-03-04 07:55:28 -05:00
Jonathan Kew
94391277aa Bug 479276. Support a new kind of glyph bounding-box: TIGHT_HINTED_OUTLINE_EXTENTS, and use it to stop MathML spacing depending on exact ink extents. r+sr=roc
--HG--
extra : rebase_source : 43f9009f6457361e690062f87b2e5fda4041dc48
2009-02-24 21:32:58 +13:00
Jonathan Kew
01ca4ad69e Bug 478792 - prefer glyph advance rather than ink extent; r+sr=roc 2009-02-23 02:19:30 +01:00
Robert O'Callahan
08979ee7f3 Bug 459666. GetReferencedFrame should bail out if we've destroyed the frame tree while reconstructing frames for the entire document. r+sr=bzbarsky 2009-02-10 21:28:16 +13:00
Jonathan Watt
e13a5192f6 Fixing bug 461863. Nested filtering is broken (inner filtered elements are clipped or don't paint). r+sr=roc@ocallahan.org 2009-02-10 13:54:28 +13:00
Craig Topper
6ac140717f Bug 374111 - DeCOMtaminate SVG viewBox; r+sr=roc 2009-02-03 15:42:24 +01:00
Robert Longson
d7ecd01043 Bug 474700. Avoid negative-sized filter areas. r+sr=roc
--HG--
extra : rebase_source : 50e69812961c0787571273ca8e4326c48e7a83e6
2009-01-30 20:22:29 +13:00
Robert Longson
d2a541c8f9 Bug 475193. Only SVG frames should have marker properties. r+sr=roc
--HG--
extra : rebase_source : 51d78172315ec66bf8f5be9bb4afd00ec086b12f
2009-01-30 20:13:36 +13:00
L. David Baron
f8774a93ef Implement CSS computation of font-stretch property and store it in the gfx font structures. (Bug 3512) r=vlad sr=bzbarsky 2009-01-29 12:39:18 -08:00
Robert Longson
b80b068e2e Bug 472782. Avoid infinite recursion when textPath points to a non-path. r+sr=roc 2009-01-28 22:44:39 +13:00
Robert Longson
44b1a9bfb1 Bug 472135. Invalidate markers using style system hints instead of doing an eager invalidation (which reacquires frames, breaking our one-shot nsSVGRenderingObservers setup). r+sr=roc
--HG--
extra : rebase_source : 48ab3b34460f5908bcec5c3e15a5d12f71496579
2009-01-22 14:02:40 +13:00
Craig Topper
8fc9e8ecc2 Bug 471551. Stop duplicating SVG string attribute storage by having nsSVGString use the attribute value as the underlying base value (removing mBaseVal); also make mAnimVal an nsAutoPtr<nsString>. r=longsonr,r+sr=roc
--HG--
extra : rebase_source : 319ff11d4321f2f7f41a7d19f17435fe814b1079
2009-01-22 13:56:51 +13:00
Boris Zbarsky
ea8c0a5865 Bug 473390 part 16. Move around SVG assertions so that they happen in frame init, not during frame creation. r=jwatt, sr=roc 2009-01-19 13:31:34 -05:00
Robert O'Callahan
f877eead56 Backed out changeset fb2d014e0352 2009-01-20 00:25:58 +13:00
Robert O'Callahan
9a8a9a01d5 Bug 471551. Avoid duplicate string storage for SVG string attributes; let nsSVGString get the baseval from the element. Also change mAnimVal to an nsAutoPtr to minimize storage in the non-animated common case. r=longsonr,sr=roc 2009-01-19 22:03:31 +13:00
Robert O'Callahan
00e57b8380 Backed out changeset 9246fefef1cc 2009-01-17 23:58:34 +13:00
Robert Longson
4a4ce9e387 Bug 472135. Avoid re-getting the target marker frame in nsSVGMarkerProperty::DoUpdate --- that leads to infinite loops. Update things lazily instead via fake style changes. r+sr=roc
--HG--
extra : rebase_source : f90519e06842d6301e3a27eddb0cddd300b62db2
2009-01-16 21:20:29 +13:00
Craig Topper
41cbd4c43c Bug 473511. nsSVGInnerSVGFrame does not need to implement nsISVGValueObserver. r=jwatt,sr=roc
--HG--
extra : rebase_source : 7b5b4dd1c5702498a496133c643891c337ea4a42
2009-01-16 21:14:40 +13:00
Craig Topper
fe58910902 Bug 473517. nsSVGUtils::CoordToFloat should avoid heap-allocating an nsSVGLength. r+sr=roc
--HG--
extra : rebase_source : c2cd532376da8c37ad02f834ab4e859fec61dda1
2009-01-16 21:02:40 +13:00
Jeremy Lea
1800930122 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
24e7cb1f78 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
Benjamin Smedberg
50621e4f9f 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
d0b948876f 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
Robert O'Callahan
f5ac70880b Bug 470911. Make the preserveAspectRatio attribute storage much simpler and make the DOM accessors use tear-offs. With help from Craig Topper. r+sr=roc
--HG--
extra : rebase_source : 1a073c76d07c0a4532b2caf9978ef5847b36dec8
2009-01-05 14:19:38 +13:00
L. David Baron
eee42cfdd7 Replace space manager with a more limited float manager. (Bug 191448) r+sr=roc
--HG--
rename : layout/generic/nsSpaceManager.cpp => layout/generic/nsFloatManager.cpp
rename : layout/generic/nsSpaceManager.h => layout/generic/nsFloatManager.h
2009-01-04 19:39:54 -05:00
Robert Longson
f36ad9a78a Bug 470124 - Crash [@ nsSVGUtils::GetRelativeRect]; r+sr=roc 2008-12-21 02:16:42 +01:00
Robert Longson
37644973d1 Bug 441780. Fix radial gradient clamping to be more aggressive. r=jwatt,sr=roc
--HG--
extra : rebase_source : 477e5305530e86348a3526a8157f5f93340c644b
2008-12-17 20:28:33 +13:00
Martin Stránský
bbe42c7104 b=403513 bad kerning in print output if hinting is set to medium or full r=karlt sr=vlad 2008-12-17 16:17:50 +13:00
Karl Tomlinson
5286ba753b backout b=403513 due to compile error in gfxFontSelectionTest.cpp 2008-12-17 13:57:40 +13:00
Martin Stránský
12cfd5e1c9 b=403513 bad kerning in print output if hinting is set to medium or full r=karlt sr=vlad 2008-12-17 13:44:32 +13:00
Robert O'Callahan
aea35dfccb Bug 455314. nsSVGRenderingObserver::GetReferencedFrame shouldn't try to look up the frame on a cache miss, if we're currently destroying frames. r+sr=mats 2008-12-12 21:25:16 +13:00
Robert O'Callahan
6dbbdf56bd Bug 448243. When nsSVGFilterInstance needs to create a dummy input image, create one of the right size. r=jwatt,sr=mats 2008-12-12 21:14:26 +13:00
Robert Longson
252da2f241 Bug 463064 - Use covered region to minimise foreignObject painting r+sr=roc 2008-12-06 15:22:01 +00:00
Robert Longson
e65daea5b3 Bug 464374 - Crash [@ nsSVGUtils::MaxExpansion] with svg filter, mathml; r+sr=roc 2008-12-04 19:17:45 +01:00
Robert Longson
2e6127ba6e Bug 437704. Always union fill extents with stroke extents instead of just relying on stroke extents, in case they turn out to be empty. r+sr=roc 2008-12-03 14:35:42 +13:00
Robert Longson
beb1a27d17 Bug 463934 - text bounds do not account for position properly
Landing this to see if it fixes bug 465222 - tsvg regression November 3 2008
r=roc, sr=roc, a1.9.1=beltzner
2008-11-29 11:23:57 -08:00
Daniel Holbert
d56b70f7b8 Bug 420697: Add svgGlyphFrame check to GetStrokeDashoffset and GetStrokeDashArray, making them match GetStrokeWidth. r+sr=roc a=beltzner 2008-11-14 10:46:56 -08:00
Robert Longson
eb5eeff1a2 Bug 460946 - getBoundingClientRect on rotated svgElement with stroke is incorrect. r+sr=roc 2008-11-03 10:04:25 +00:00
Robert Longson
febc31f5d7 Bug 461751 - zoomAndPan=disable prevents programmatic zoom. r+sr=roc 2008-11-03 10:01:28 +00:00
Benjamin Smedberg
b1918bb2c3 Bug 462381 - Build layout directories in parallel r=ted sr=roc 2008-10-31 09:07:15 -07:00
Robert Longson
aea053fb71 Bug 459883 r+sr=roc 2008-10-27 11:48:20 +00:00
Bernd
6777c42861 bug 258377, make border collapsed tables to listen for dynamic border style changes r/sr=bzbarsky 2008-10-26 11:11:34 +01:00
Robert Longson
3c95494de7 Bug 461324 - Simplify NS_STATE_SVG_NONDISPLAY_CHILD in foreignObject. r+sr=roc 2008-10-24 08:47:04 +01:00
Robert Longson
538bf394cc Bug 461131 - Remove unused mFilterRect variable from nsSVGFilterProperty. r+sr=roc 2008-10-23 10:04:34 +01:00
Robert Longson
cdab2d161e Bug 458493 - Crash calling nsSVGEffects::RemoveRenderingObserver. r+sr=roc 2008-10-22 10:09:03 +01:00
Arpad Borsos
3585c944f1 Bug 456388 - "Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree" (followup for mozilla-central) [r+sr=brendan] 2008-10-21 01:50:05 -05:00
Robert Longson
b2d04fc41e Bug 459758 - effects on outer svg frames only work accidentally. r+sr=roc 2008-10-20 09:42:03 +01:00
Robert Longson
2a15218653 Bug 460551 - overrideCTM is no longer necessary. r+sr=roc 2008-10-18 09:19:01 +01:00
Robert Longson
3803652e6d Bug 460210 - Various frames should call GetMatrixPropagation() instead of using mPropagateTransform. r+sr=roc 2008-10-17 20:41:35 +01:00
Robert O'Callahan
126f57733c Bug 459512. When painting an SVG source image for a filter, translate the dirty rect into device coordinates relative to the outer-SVG. Also, don't use an override-CTM to transform into filter space, just apply the transform to the gfxContext. r=longsonr,sr=mats 2008-10-16 20:55:10 +13:00
Robert Longson
1dd81c7158 Bug 459759 - Crash if markers contain paths. r+sr=roc 2008-10-16 08:48:55 +01:00
L. David Baron
9d7714304c Make sure DidSetStyleContext methods call the base class DidSetStyleContext, and change the signature to return void. (Bug 459649) r+sr=bzbarsky 2008-10-13 18:03:28 -04:00
Robert Longson
c3efd6b2ba Bug 459497 - Remove unused code following dynamic ID work. r+sr=roc 2008-10-11 13:55:11 +01:00
Robert Longson
1c4514a4aa Bug 458010 - textPath should use nsReferencedElement instead of nsSVGUtils::GetReferencedFrame. r+sr=roc 2008-10-11 12:29:35 +01:00
Arpad Borsos
8b11d938d2 Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan 2008-10-10 17:04:34 +02:00
Robert Longson
13864ddc3f Bug 309220 - SVG markers should be live to id changes in document. r+sr=roc 2008-10-10 14:14:05 +01:00
Boris Zbarsky
806f011a3c Bug 433616 part 3. Integration of externa resource documents into nsReferencedElement, plus some SVG fixups needed to handle nsReferencedElement returning an element from a different document, r+sr=roc 2008-09-28 15:16:15 -04:00
Robert Longson
1afc10db2a Bug 458068 - SVG fill="none" is broken, behaves like fill="black". r+sr=roc 2008-10-06 15:44:40 +02:00
John Daggett
c5d2a8ddfd Bug 441473. Implement user font set object. r+sr=roc 2008-10-01 12:01:53 +09:00
Robert O'Callahan
09cfc5fa8c Bug 455984. Rework gradient and pattern code to use nsReferencedElement and nsSVGRenderingObservers, so they observe changes to the ID-element-map properly and propagate invalidations correctly (and with simpler code too). r=longsonr,sr=mats 2008-10-01 13:51:05 +13:00
Robert O'Callahan
337c852320 Backing out bug 455984 to see if it fixed Tp crashes 2008-10-01 00:28:20 +13:00
Robert O'Callahan
0a5a34cbab Bug 455984. Rework gradient and pattern code to use nsReferencedElement and nsSVGRenderingObservers, so they observe changes to the ID-element-map properly and propagate invalidations correctly (and with simpler code too). r=longsonr,sr=mats 2008-09-30 21:47:20 +13:00
Boris Zbarsky
012ae72fd1 Backing out changesets 2ea77fa990af, 7d2d8869e73c, 93441e4f521e, 43d2ee100f3b, a2d84821ea71 to see whether they're causing the Windows Txul or Mac Tp regressions 2008-09-29 08:51:29 -04:00
Boris Zbarsky
b513c32fdf Bug 433616 part 3. Integration of externa resource documents into nsReferencedElement, plus some SVG fixups needed to handle nsReferencedElement returning an element from a different document, r+sr=roc 2008-09-28 15:16:15 -04:00
Robert O'Callahan
279af36fc7 Backing out bug 448830 2008-09-28 23:13:58 +13:00
Robert Longson
e456d12fd3 Bug 456282 - getStartPositionOfChar calculates advances in incorrect coordinate system. r+sr=roc 2008-09-28 10:05:26 +01:00
Jeremy Lea
92e7030a42 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
Robert O'Callahan
6a45b282aa Backing out bug 448830 2008-09-26 13:10:26 +12:00
Jeremy Lea
67f3afd13b 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
Robert O'Callahan
41e313558f Bug 455279. Fix mask alpha computation so that it works when the incoming gfxContext has a non-identity transform. r=longsonr,sr=mats 2008-09-22 14:14:54 +12:00
Keith Schwarz
8ed70cceea Bug 455389 - SVG foreignObjects don't get NS_FRAME_MAY_BE_TRANSFORMED frame bit; r+sr=roc 2008-09-20 18:31:47 +02:00
Arpad Borsos
d0e70a51bf Bug 452797 - Clean up unused variables in layout/; v6; r+sr=roc 2008-09-20 15:42:03 +02:00