Commit Graph

353 Commits

Author SHA1 Message Date
Jonathan Kew
01ca4ad69e Bug 478792 - prefer glyph advance rather than ink extent; r+sr=roc 2009-02-23 02:19:30 +01:00
Jesse Ruderman
f25f92b98a Add crashtests 2009-02-20 19:38:16 -08:00
Jesse Ruderman
f154077a31 Add crashtests 2009-02-13 14:54:17 -08: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
Jesse Ruderman
2e1fda752f Add crashtests for the following bugs: https://bugzilla.mozilla.org/buglist.cgi?quicksearch=328944+401042+413085+416461+431705+437142+449006+463741+465651+472782+474744 2009-02-07 21:33:31 -08: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
Jonathan Watt
3736a53a6f Bug 475181. Bounds-check feTile subregion size --- crashtest 2009-01-28 22:31:39 +13:00
Jesse Ruderman
6aa5e7bd59 Add crashtests for bug 466585 and bug 451311 2009-01-24 23:24:53 -08: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
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
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
8016ce082c Bug 433616 tests. r+sr=roc 2008-09-28 15:16:34 -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
Robert O'Callahan
f79290bb0e Bug 450930. Fire a DOM event when painting so that content and chrome can track what's being repainted. r=smaug,sr=dbaron 2008-09-18 21:47:21 +12:00
Jeremy Lea
a1de6b1b1d Bug 454937 - Pixel/app unit confusion in SVG filter code; r+sr=roc 2008-09-16 13:54:30 +02:00
Frédéric WANG
72b53ae3c7 b=454085 Add text-indent:0 for -moz-svg-foreign-content to prevent unexpected spaces r+sr=roc 2008-09-16 10:41:42 +12:00
Arpad Borsos
eef0edf9d5 Bug 454766 - Add suggested parentheses to layout/; r+sr=roc; (with nits by sgautherie) 2008-09-15 17:40:25 +02:00
Keith Schwarz
dc907e1ec7 Bug 435293. Implement CSS transforms. r=dbaron,r+sr=roc 2008-09-13 21:42:11 +12:00
Robert O'Callahan
539a029252 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
timeless@mozdev.org
5819f54b4e merging backout part two of two
to fix Bug 454186
SM crashes when try to download file [@ nsString::ToInteger - nsTreeBodyFrame::PaintProgressMeter]
2008-09-08 16:01:00 +02:00
timeless@mozdev.org
b0c349250f Backed out changeset 54215f2cbc66
to fix Bug 454186
SM crashes when try to download file [@ nsString::ToInteger - nsTreeBodyFrame::PaintProgressMeter]
2008-09-08 16:00:32 +02:00
Graeme McCutcheon
b6ce570b3c Bug 451252 - "Highlight All" find selection not visible in elements that have -moz-user-select: none set; r+sr=roc 2008-09-07 16:12:50 +02:00
Arpad Borsos
1f62482141 Bug 452797 - Clean up unused variables in layout/; r+sr=roc 2008-09-06 20:38:31 +02:00
Jeremy Lea
a543803324 Bug 379616. The mRect for SVG frames should be in appunits. r+sr=tor 2008-08-25 21:23:54 +12:00
Benjamin Smedberg
61d23845dc Backed out changeset e92e18d52d71 due to the following test failures on Windows:
*** 31290 ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_offsets.xul | svgbase bounding rect width - got 45, expected 0
*** 31291 ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_offsets.xul | svgbase bounding rect height - got 20, expected 0
*** 31292 ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_offsets.xul | svgbase bounding rect right - got 45, expected 0
*** 31293 ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_offsets.xul | svgbase bounding rect bottom - got 20, expected 0
*** 31306 ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_offsets.xul | svgrect bounding rect width - got 45, expected 0
*** 31307 ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_offsets.xul | svgrect bounding rect height - got 20, expected 0
*** 31308 ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_offsets.xul | svgrect bounding rect right - got 45, expected 0
*** 31309 ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_offsets.xul | svgrect bounding rect bottom - got 20, expected 0
2008-08-19 12:20:16 -04:00
Jeremy Lea
9957840a6a Bug 379616 - Switch SVG's frame mRect to app units, r+sr=tor 2008-08-19 10:14:01 -04:00
Robert Longson
0f5abca8c0 Bug 450495 - Make foreignObject a mandatory part of SVG. r+sr=roc 2008-08-17 12:18:21 +01:00
Robert O'Callahan
b19aa85b24 Bug 449327. nsSVGObjectFrame::GetBBox should account for canvas TM. Also add some simple bbox tests even though they don't test this bug. r=longsonr,sr=mats 2008-08-15 22:24:01 +12:00
Robert O'Callahan
0307be506c Bug 441368 crashtest 2008-08-15 21:30:44 +12:00
Robert O'Callahan
b2b9e631e0 Bug 445079. Make nsSVGRenderState able to generate an nsIRenderingContext, so that filters and other users can host foreignObject content. r=longsonr,sr=mats 2008-08-12 20:36:51 +12:00
Robert O'Callahan
5a1d007a60 Bug 449323. Factor some code out of nsSVGUtils to nsSVGEffects. r=longsonr,sr=mats 2008-08-08 13:34:43 +12:00
Robert O'Callahan
5e1036f776 Bug 447565. Comment-only followup. 2008-08-06 16:02:16 +12:00
Robert O'Callahan
9db3555724 Bug 447567, trying to fix bustage again 2008-08-06 13:58:29 +12:00