Status

()

--
enhancement
RESOLVED FIXED
14 years ago
11 years ago

People

(Reporter: scootermorris, Assigned: scootermorris)

Tracking

Trunk
Points:
---
Dependency tree / graph
Bug Flags:
blocking1.8b5 -
blocking1.8.1 -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments, 14 obsolete attachments)

138.54 KB, patch
Details | Diff | Splinter Review
7.00 KB, image/png
Details
109.52 KB, text/html
Details
82.36 KB, image/svg+xml
Details
(Assignee)

Description

14 years ago
See http://www.w3.org/TR/SVG11/pservers.html#Patterns for spec. details.
(Assignee)

Updated

14 years ago
Depends on: 295850
(Assignee)

Comment 1

14 years ago
(Assignee)

Comment 2

14 years ago
(Assignee)

Comment 3

14 years ago
(Assignee)

Comment 4

14 years ago
Attachment #190464 - Attachment is obsolete: true
(Assignee)

Comment 5

14 years ago
This is still a work in progress.  Patterns now generally work as expected, but
I'm still having problems getting the transformations right in all
circumstances.
Attachment #190465 - Attachment is obsolete: true
(Assignee)

Updated

14 years ago
Depends on: 302699
No longer depends on: 295850
(Assignee)

Updated

14 years ago
Depends on: 295850
(Assignee)

Updated

14 years ago
Attachment #190994 - Attachment is obsolete: true

Updated

14 years ago
Flags: blocking1.8b4?

Comment 7

14 years ago
Posted patch GDI+ code for patterns (obsolete) — Splinter Review

Comment 8

14 years ago
Attachment #191534 - Attachment is obsolete: true
(Assignee)

Comment 9

14 years ago
Attachment #190992 - Attachment is obsolete: true
Attachment #190993 - Attachment is obsolete: true
Attachment #191255 - Attachment is obsolete: true
Attachment #191535 - Attachment is obsolete: true
(Assignee)

Updated

14 years ago
Attachment #191847 - Flags: review?(tor)
we'll decide on taking this once this gets through reviews and security reviews
and we can assess the risk.  If it doesn't make it for beta, we're not holding
for it.
Flags: blocking1.8b4? → blocking1.8b4-

Comment 11

14 years ago
Comment on attachment 191847 [details] [diff] [review]
Combined patch -- updated for getRefFrame landing

This is going to take a bit of merging with the trunk.	Do we also need loop
detection for this, to prevent a pattern having geometry that uses the same
pattern?
(Assignee)

Comment 12

14 years ago
(In reply to comment #11)
> (From update of attachment 191847 [details] [diff] [review] [edit])
> This is going to take a bit of merging with the trunk.	Do we also need loop
> detection for this, to prevent a pattern having geometry that uses the same
> pattern?
> 
Yes, now that filters have landed, I'll get a new patch out that has merged to
the trunk and will include the loop detection stuff that I've done for gradients.
(Assignee)

Comment 13

14 years ago
Attachment #191847 - Attachment is obsolete: true
Attachment #195284 - Flags: review?(tor)

Comment 14

14 years ago
Posted patch fixes for gdi+ (obsolete) — Splinter Review
Addition patch that needs to be applied atop attachment 195284 [details] [diff] [review] to get GDI+
compiling.

The pattern tests in the w3c test suite work fine, but the example from the SVG
1.1 specification doesn't.
(Assignee)

Comment 15

14 years ago
(In reply to comment #14)
> Created an attachment (id=195705) [edit]
> fixes for gdi+
> 
> Addition patch that needs to be applied atop attachment 195284 [details] [diff] [review] [edit] to get GDI+
> compiling.
> 
> The pattern tests in the w3c test suite work fine, but the example from the SVG
> 1.1 specification doesn't.
> 

Yes, I now see that.  The transformation matrix calculations are wrong when a
viewBox is defined.
(Assignee)

Updated

14 years ago
Attachment #195284 - Flags: review?(tor)
(Assignee)

Updated

14 years ago
Attachment #191847 - Flags: review?(tor)
(Assignee)

Comment 16

14 years ago
This patch includes the GDI+ fixes and the fix for the viewBox problem.  I also
removed some extraneous diffs that were in my tree.
Attachment #195284 - Attachment is obsolete: true
Attachment #195705 - Attachment is obsolete: true
Attachment #195911 - Flags: review?(tor)
(Assignee)

Comment 17

14 years ago
Attachment #195911 - Attachment is obsolete: true
Attachment #195914 - Flags: review?(tor)
(Assignee)

Updated

14 years ago
Attachment #195911 - Flags: review?(tor)
(Assignee)

Updated

14 years ago
Attachment #195914 - Flags: review?(tor)

Comment 19

14 years ago
Comment on attachment 195923 [details] [diff] [review]
How embarrasing -- remove nsSVGGradientFrame diffs (should be in a different patch)

Looks good.  A few minors nits about license blocks - nsISVGPattern.idl should
have your information; nsSVGCairoPattern.{h,cpp} say they include code from
themselves.

Fix those on checkin.  r=tor
(Assignee)

Comment 20

14 years ago
Attachment #195923 - Attachment is obsolete: true
(Assignee)

Comment 21

14 years ago
Checked in:
Checking in content/svg/content/src/Makefile.in;
/cvsroot/mozilla/content/svg/content/src/Makefile.in,v  <--  Makefile.in
new revision: 1.40; previous revision: 1.39
done
Checking in content/svg/content/src/nsSVGAtomList.h;
/cvsroot/mozilla/content/svg/content/src/nsSVGAtomList.h,v  <--  nsSVGAtomList.h
new revision: 1.26; previous revision: 1.25
done
Checking in content/svg/content/src/nsSVGElementFactory.cpp;
/cvsroot/mozilla/content/svg/content/src/nsSVGElementFactory.cpp,v  <-- 
nsSVGElementFactory.cpp
new revision: 1.29; previous revision: 1.28
done
Checking in content/svg/content/src/nsSVGFeaturesList.h;
/cvsroot/mozilla/content/svg/content/src/nsSVGFeaturesList.h,v  <-- 
nsSVGFeaturesList.h
new revision: 1.4; previous revision: 1.3
done
RCS file: /cvsroot/mozilla/content/svg/content/src/nsSVGPatternElement.cpp,v
done
Checking in content/svg/content/src/nsSVGPatternElement.cpp;
/cvsroot/mozilla/content/svg/content/src/nsSVGPatternElement.cpp,v  <-- 
nsSVGPatternElement.cpp
initial revision: 1.1
done
Checking in dom/public/nsIDOMClassInfo.h;
/cvsroot/mozilla/dom/public/nsIDOMClassInfo.h,v  <--  nsIDOMClassInfo.h
new revision: 1.72; previous revision: 1.71
done
Checking in dom/public/idl/svg/Makefile.in;
/cvsroot/mozilla/dom/public/idl/svg/Makefile.in,v  <--  Makefile.in
new revision: 1.22; previous revision: 1.21
done
RCS file: /cvsroot/mozilla/dom/public/idl/svg/nsIDOMSVGPatternElement.idl,v
done
Checking in dom/public/idl/svg/nsIDOMSVGPatternElement.idl;
/cvsroot/mozilla/dom/public/idl/svg/nsIDOMSVGPatternElement.idl,v  <-- 
nsIDOMSVGPatternElement.idl
initial revision: 1.1
done
Checking in dom/src/base/nsDOMClassInfo.cpp;
/cvsroot/mozilla/dom/src/base/nsDOMClassInfo.cpp,v  <--  nsDOMClassInfo.cpp
new revision: 1.313; previous revision: 1.312
done
Checking in layout/base/nsCSSFrameConstructor.cpp;
/cvsroot/mozilla/layout/base/nsCSSFrameConstructor.cpp,v  <-- 
nsCSSFrameConstructor.cpp
new revision: 1.1126; previous revision: 1.1125
done
Checking in layout/svg/base/src/Makefile.in;
/cvsroot/mozilla/layout/svg/base/src/Makefile.in,v  <--  Makefile.in
new revision: 1.50; previous revision: 1.49
done
Checking in layout/svg/base/src/nsSVGGlyphFrame.cpp;
/cvsroot/mozilla/layout/svg/base/src/nsSVGGlyphFrame.cpp,v  <--  nsSVGGlyphFrame.cpp
new revision: 1.35; previous revision: 1.34
done
Checking in layout/svg/base/src/nsSVGPathGeometryFrame.cpp;
/cvsroot/mozilla/layout/svg/base/src/nsSVGPathGeometryFrame.cpp,v  <-- 
nsSVGPathGeometryFrame.cpp
new revision: 1.30; previous revision: 1.29
done
Checking in layout/svg/base/src/nsSVGPathGeometryFrame.h;
/cvsroot/mozilla/layout/svg/base/src/nsSVGPathGeometryFrame.h,v  <-- 
nsSVGPathGeometryFrame.h
new revision: 1.16; previous revision: 1.15
done
RCS file: /cvsroot/mozilla/layout/svg/base/src/nsSVGPattern.h,v
done
Checking in layout/svg/base/src/nsSVGPattern.h;
/cvsroot/mozilla/layout/svg/base/src/nsSVGPattern.h,v  <--  nsSVGPattern.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/layout/svg/base/src/nsSVGPatternFrame.cpp,v
done
Checking in layout/svg/base/src/nsSVGPatternFrame.cpp;
/cvsroot/mozilla/layout/svg/base/src/nsSVGPatternFrame.cpp,v  <-- 
nsSVGPatternFrame.cpp
initial revision: 1.1
done
Checking in layout/svg/renderer/public/Makefile.in;
/cvsroot/mozilla/layout/svg/renderer/public/Makefile.in,v  <--  Makefile.in
new revision: 1.5; previous revision: 1.4
done
Checking in layout/svg/renderer/public/nsISVGGeometrySource.idl;
/cvsroot/mozilla/layout/svg/renderer/public/nsISVGGeometrySource.idl,v  <-- 
nsISVGGeometrySource.idl
new revision: 1.10; previous revision: 1.9
done
RCS file: /cvsroot/mozilla/layout/svg/renderer/public/nsISVGPattern.idl,v
done
Checking in layout/svg/renderer/public/nsISVGPattern.idl;
/cvsroot/mozilla/layout/svg/renderer/public/nsISVGPattern.idl,v  <-- 
nsISVGPattern.idl
initial revision: 1.1
done
Checking in layout/svg/renderer/src/cairo/Makefile.in;
/cvsroot/mozilla/layout/svg/renderer/src/cairo/Makefile.in,v  <--  Makefile.in
new revision: 1.20; previous revision: 1.19
done
Checking in layout/svg/renderer/src/cairo/nsSVGCairoCanvas.cpp;
/cvsroot/mozilla/layout/svg/renderer/src/cairo/nsSVGCairoCanvas.cpp,v  <-- 
nsSVGCairoCanvas.cpp
new revision: 1.24; previous revision: 1.23
done
Checking in layout/svg/renderer/src/cairo/nsSVGCairoGlyphGeometry.cpp;
/cvsroot/mozilla/layout/svg/renderer/src/cairo/nsSVGCairoGlyphGeometry.cpp,v 
<--  nsSVGCairoGlyphGeometry.cpp
new revision: 1.22; previous revision: 1.21
done
Checking in layout/svg/renderer/src/cairo/nsSVGCairoPathGeometry.cpp;
/cvsroot/mozilla/layout/svg/renderer/src/cairo/nsSVGCairoPathGeometry.cpp,v  <--
 nsSVGCairoPathGeometry.cpp
new revision: 1.26; previous revision: 1.25
done
RCS file: /cvsroot/mozilla/layout/svg/renderer/src/cairo/nsSVGCairoPattern.cpp,v
done
Checking in layout/svg/renderer/src/cairo/nsSVGCairoPattern.cpp;
/cvsroot/mozilla/layout/svg/renderer/src/cairo/nsSVGCairoPattern.cpp,v  <-- 
nsSVGCairoPattern.cpp
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/layout/svg/renderer/src/cairo/nsSVGCairoPattern.h,v
done
Checking in layout/svg/renderer/src/cairo/nsSVGCairoPattern.h;
/cvsroot/mozilla/layout/svg/renderer/src/cairo/nsSVGCairoPattern.h,v  <-- 
nsSVGCairoPattern.h
initial revision: 1.1
done
Checking in layout/svg/renderer/src/gdiplus/Makefile.in;
/cvsroot/mozilla/layout/svg/renderer/src/gdiplus/Makefile.in,v  <--  Makefile.in
new revision: 1.10; previous revision: 1.9
done
Checking in layout/svg/renderer/src/gdiplus/nsSVGGDIPlusGlyphGeometry.cpp;
/cvsroot/mozilla/layout/svg/renderer/src/gdiplus/nsSVGGDIPlusGlyphGeometry.cpp,v
 <--  nsSVGGDIPlusGlyphGeometry.cpp
new revision: 1.13; previous revision: 1.12
done
Checking in layout/svg/renderer/src/gdiplus/nsSVGGDIPlusPathGeometry.cpp;
/cvsroot/mozilla/layout/svg/renderer/src/gdiplus/nsSVGGDIPlusPathGeometry.cpp,v
 <--  nsSVGGDIPlusPathGeometry.cpp
new revision: 1.14; previous revision: 1.13
done
RCS file: /cvsroot/mozilla/layout/svg/renderer/src/gdiplus/nsSVGGDIPlusPattern.cpp,v
done
Checking in layout/svg/renderer/src/gdiplus/nsSVGGDIPlusPattern.cpp;
/cvsroot/mozilla/layout/svg/renderer/src/gdiplus/nsSVGGDIPlusPattern.cpp,v  <--
 nsSVGGDIPlusPattern.cpp
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/layout/svg/renderer/src/gdiplus/nsSVGGDIPlusPattern.h,v
done
Checking in layout/svg/renderer/src/gdiplus/nsSVGGDIPlusPattern.h;
/cvsroot/mozilla/layout/svg/renderer/src/gdiplus/nsSVGGDIPlusPattern.h,v  <-- 
nsSVGGDIPlusPattern.h
initial revision: 1.1
done


dom/public/idl/svg/nsIDOMSVGPatternElement.idl

Could you put the /** */ comment for an interface directly in front of it,
instead of in front of the interface forward-declarations? reason: doxygen
assumes such comments refer to the thing they are directly in front of, so
automated documentation generation would not show this comment where it should.
(Assignee)

Updated

14 years ago
Status: NEW → RESOLVED
Last Resolved: 14 years ago
Resolution: --- → FIXED

Updated

14 years ago
Flags: blocking1.8.1?

Comment 23

13 years ago
Not going to block 1.8.1 for this bug.
Flags: blocking1.8.1? → blocking1.8.1-

Comment 24

12 years ago
Please re-open this bug.
Firefox 2.0.0.6 still can't display SVG patterns.
Tested with:
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)
Refernce SVG: http://www.w3.org/TR/SVG11/images/pservers/pattern01.svg
It should display as: http://www.w3.org/TR/SVG11/images/pservers/pattern01.png
(Assignee)

Comment 25

12 years ago
(In reply to comment #24)
> Created an attachment (id=279105) [details]
> Does'nt display pattern as seen in this screen capture
> 
> Please re-open this bug.
> Firefox 2.0.0.6 still can't display SVG patterns.
> Tested with:
> Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201
> Firefox/2.0.0.6 (Ubuntu-feisty)
> Refernce SVG: http://www.w3.org/TR/SVG11/images/pservers/pattern01.svg
> It should display as: http://www.w3.org/TR/SVG11/images/pservers/pattern01.png
> 

This was not implemented until after Firefox 2 was released.  If you want pattern support, feel free to download one of the latest alpha releases, or a nightly from the trunk.

Comment 26

11 years ago
Please reopen this bug. This bug is still not resolved in Firefox 2.0.0.11 on mac or windows. The simple pattern links in the previous post still don't work.

Tried on : Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

Comment 27

11 years ago
The reference SVG pattern test render fine in firefox 3b2:

Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9b2) Gecko/2007121016 Firefox/3.0b2
It looks like early on this patch was mismerged or something and as a result it turned off the generic "svg" 1.1 feature strings.  See bug 426447.

Comment 29

11 years ago
Pattern support is broken if the SVG is embedded in an <iframe> or <object> using an RFC 2397 data:URI. All patterns appear solid black.

Comment 31

11 years ago
I think this bug should be reopened. Patterns don't work when the SVG is embedded in a data:URI, as demonstrated in the attachments I posted. All patterns appear as solid black. Firefox renders the original SVG, not in a data:URI with the patterns intact. In addition to <iframe> and <object>, pasting the data:URI into the address bar of the browser produces the same result. 
That's bug 308590. Leave this one alone.
You need to log in before you can comment on or make changes to this bug.