Commit Graph

284 Commits

Author SHA1 Message Date
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
Boris Zbarsky
9fcdc6e542 Adding test 2009-01-05 13:32:00 -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
Jesse Ruderman
cf4b91bb09 Add 19 crashtests 2009-01-01 14:18:58 -08: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
Jesse Ruderman
41c9e25f93 Crashtest for bug 458453. 2008-12-14 00:48:51 +01: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
af70b1c6a4 Bug 433616 tests. r+sr=roc 2008-09-28 15:16:34 -04: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