Commit Graph

290 Commits

Author SHA1 Message Date
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
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