<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>26380</bug_id>
          
          <creation_ts>2009-06-13 22:35:36 -0700</creation_ts>
          <short_desc>SVG Filters and big sized filterRegions</short_desc>
          <delta_ts>2014-05-12 05:54:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>68469</blocked>
    
    <blocked>26389</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>jeffschiller</cc>
    
    <cc>oliver</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>125737</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-06-13 22:35:36 -0700</bug_when>
    <thetext>We need to take care about very big filterRegions and itemSizes of filters. CI has problems with very big image size.
We could clip the filterRegion after a defined maximum size and don&apos;t support bigger filters.

Perhaps we can try to scale down the GraphicsContext and limit the size of all ImageBuffers for source input / filter effects. We could transform the filterRegion and itemsize too. But we will see every pixel. The size of every pixel gets bigger on bigger sized filters.
Or we give the CTM of the scaling to every filter effect and transform the context of every filter effect. But many filter effects need pixel manipulation. Don&apos;t know if that is a possible way.

Another way is maybe to just draw the visible area. But I don&apos;t have experience with that. And what to do on zooming out of the SVG?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125792</commentid>
    <comment_count>1</comment_count>
      <attachid>31267</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-06-14 11:46:11 -0700</bug_when>
    <thetext>Created attachment 31267
big svg filter 

This patch uses one of the solutions above. We scale the context down to a predefined maximum size and transform all necessary rects too. Apply the effects and scale back. It seems, that opera and firefox use simular solutions.
I haven&apos;t tested it on a mac. We might use a smaller size than 3000x3000. I&apos;ll set the review flag when i&apos;am sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125806</commentid>
    <comment_count>2</comment_count>
      <attachid>31267</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-06-14 13:10:43 -0700</bug_when>
    <thetext>Comment on attachment 31267
big svg filter 

works on mac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126682</commentid>
    <comment_count>3</comment_count>
      <attachid>31267</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-06-18 01:52:51 -0700</bug_when>
    <thetext>Comment on attachment 31267
big svg filter 

Where does the 3000.0f maxSize come from? It looks like it&apos;s actually a constant so i believe you actually probably want a static const float kMaxFilterSize = 3000.0f; in the file, rather than scoped to the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137097</commentid>
    <comment_count>4</comment_count>
      <attachid>34081</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-08-04 12:49:02 -0700</bug_when>
    <thetext>Created attachment 34081
big svg filter

constant for maximum filter size. At ~3000x3000 px a difference at calculating is sensible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138041</commentid>
    <comment_count>5</comment_count>
      <attachid>34081</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-07 12:29:21 -0700</bug_when>
    <thetext>Comment on attachment 34081
big svg filter

Seems like this is an aspect ratio scaling problem which we&apos;ve already solved in other parts of the code.  I wonder if we could just re-use the scaling code instead of writing it again here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138068</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-08-07 13:00:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 34081 [details])
&gt; Seems like this is an aspect ratio scaling problem which we&apos;ve already solved
&gt; in other parts of the code.  I wonder if we could just re-use the scaling code
&gt; instead of writing it again here.

where did we solve this problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138072</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-07 13:02:41 -0700</bug_when>
    <thetext>Certainly SVGPerserveAspectRatio solves this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138073</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-07 13:02:59 -0700</bug_when>
    <thetext>There are probably less-complicated solutions in the Image code too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138345</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-08 09:08:37 -0700</bug_when>
    <thetext>There was also a recent TransformationMatrix::rectToRect call added, but that won&apos;t handle aspect ratios for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144415</commentid>
    <comment_count>10</comment_count>
      <attachid>34081</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-03 00:53:37 -0700</bug_when>
    <thetext>Comment on attachment 34081
big svg filter

So this is just about limiting the size of the intermediate buffers?  Doesn&apos;t SVG have some sort of attribute to control this kind of thing anyway?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144487</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-09-03 05:52:26 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 34081 [details])
&gt; So this is just about limiting the size of the intermediate buffers?  Doesn&apos;t
&gt; SVG have some sort of attribute to control this kind of thing anyway?

The size of a filter can be as big as you wish. And it is neccessary to limit the size of a buffer, especially if you have many filters. But as far as I know, we don&apos;t have attributes or parameters to limit intermediate buffers with context scaling for big filters.

Another point to add limitations here is filterRes. This code can be used to add different resolutions for filters later.

&gt; Certainly SVGPerserveAspectRatio solves this.
I looked at SVGPerserveAspectRatio during some experiments with feImage. It seems to be a bit to complex for this simple scaling of context and image with. I haven&apos;t looked at Image yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148820</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-09-21 14:14:55 -0700</bug_when>
    <thetext>Won&apos;t scaling the graphics context down cause image aliasing artifacts etc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148966</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-09-21 23:03:58 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Won&apos;t scaling the graphics context down cause image aliasing artifacts etc?
Images will loose quality, yes. But a filter size can be as big as you want. And scaling down the context on a pre defined size, makes it possible to calculate filter effects with pixel manipulation in an acceptable time. It makes it possible to draw the effect at all, if the size is bigger than some platform ImageBuffers are able to render.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154671</commentid>
    <comment_count>14</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-10-14 16:25:57 -0700</bug_when>
    <thetext>So what about this patch? I think we should settle on a solution.
I think we should introduce a maximum limit right now, given the fact you can easily blow up a target PC using a dozen masks at a large size :-)

When filterRes &amp; friends is taken into account, we need to think about a more clever solution, but I&apos;d vote for an initial &quot;sanitization value&quot;, scaling larger filters down, yes with loosing quality.

After that I think we can enable SVG Filters as default, so finally pass SVG 1.0, and advertize ourselves as SVG 1.0 fully compilant, see the &apos;requiredFeatures&apos; feature of SVG viewers.

Anyone with me?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154675</commentid>
    <comment_count>15</comment_count>
    <who name="Jeff Schiller">jeffschiller</who>
    <bug_when>2009-10-14 16:59:23 -0700</bug_when>
    <thetext>&gt; Anyone with me?

From an outsider&apos;s perspective:  um, yes please! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161965</commentid>
    <comment_count>16</comment_count>
      <attachid>34081</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-09 23:52:56 -0800</bug_when>
    <thetext>Comment on attachment 34081
big svg filter

Clearing review flag. This would just limit the size of the filter surface but not of the effect surfaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162101</commentid>
    <comment_count>17</comment_count>
      <attachid>42876</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 10:37:23 -0800</bug_when>
    <thetext>Created attachment 42876
clip filter to viewport

This patch clips the filter and all it&apos;s effects to the current viewport. This will limit the filter size to the current viewable window content. I&apos;ll upload the test results as soon as I have access to a Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162115</commentid>
    <comment_count>18</comment_count>
      <attachid>42876</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-10 10:58:49 -0800</bug_when>
    <thetext>Comment on attachment 42876
clip filter to viewport


&gt; Index: WebCore/svg/SVGFilterElement.cpp
&gt; ===================================================================

&gt; @@ -125,6 +127,7 @@ void SVGFilterElement::buildFilter(const
&gt;                                 filterRect.width() * targetRect.width(),
&gt;                                 filterRect.height() * targetRect.height());
&gt;  
&gt; +    m_filter-&gt;setViewPort(document()-&gt;view()-&gt;visibleContentRect());

But is this rect in the same coordinate system as the rest of the filter rects? What if the filter is on a child of a transformed element?

&gt; Index: WebCore/svg/graphics/SVGResourceFilter.cpp
&gt; ===================================================================
&gt; --- WebCore/svg/graphics/SVGResourceFilter.cpp	(revision 50732)
&gt; +++ WebCore/svg/graphics/SVGResourceFilter.cpp	(working copy)
&gt; @@ -63,6 +63,9 @@ void SVGResourceFilter::prepareFilter(Gr
&gt;      FloatRect targetRect = object-&gt;objectBoundingBox();
&gt;      m_ownerElement-&gt;buildFilter(targetRect);
&gt;  
&gt; +    // clip filterRect to viewPort
&gt; +    m_filterBBox.intersect(m_viewPort);

This isn&apos;t going to do the right thing for filtered SVG inside a HTML with CSS 3D transforms; element content that is outside the viewport can be made visible with a rotateY(), for example. And, yes the visible filtered content may be arbitrarily large in that case.

&gt; Index: WebCore/svg/graphics/SVGResourceFilter.h
&gt; ===================================================================
&gt; --- WebCore/svg/graphics/SVGResourceFilter.h	(revision 50732)
&gt; +++ WebCore/svg/graphics/SVGResourceFilter.h	(working copy)
&gt; @@ -65,6 +65,9 @@ public:
&gt;      FloatRect filterBoundingBox() { return m_filterBBox; }
&gt;      void setFilterBoundingBox(const FloatRect&amp; rect) { m_filterBBox = rect; }
&gt;  
&gt; +    IntRect viewPort() { return m_viewPort; }
&gt; +    void setViewPort(const IntRect&amp; rect) { m_viewPort = rect; }

I question the need for these methods, but if you do have them, then viewPort() should be const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162123</commentid>
    <comment_count>19</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 11:11:59 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 42876 [details])
&gt; But is this rect in the same coordinate system as the rest of the filter rects?
&gt; What if the filter is on a child of a transformed element?
Yes, it&apos;s the same coordinate space. I tested it on the W3C test suite, where SVG is embeded to html.
We already use this on pattern and others via clampImageBufferSizeToViewport.

&gt; This isn&apos;t going to do the right thing for filtered SVG inside a HTML with CSS
&gt; 3D transforms; element content that is outside the viewport can be made visible
&gt; with a rotateY(), for example. And, yes the visible filtered content may be
&gt; arbitrarily large in that case.
I don&apos;t like the idea of activating css transforms for SVG. What happens if we transform an SVG element with &lt;animation&gt;, JS and CSS transform (2D or 3D)?

&gt; I question the need for these methods, but if you do have them, then viewPort()
&gt; should be const.
Ok, viewPort() is not needed atm. setViewPort is needed to get the viewPort in SVGResourceFilter from SVGFilterElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162127</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-10 11:20:40 -0800</bug_when>
    <thetext>(In reply to comment #19)

&gt; &gt; This isn&apos;t going to do the right thing for filtered SVG inside a HTML with CSS
&gt; &gt; 3D transforms; element content that is outside the viewport can be made visible
&gt; &gt; with a rotateY(), for example. And, yes the visible filtered content may be
&gt; &gt; arbitrarily large in that case.
&gt; I don&apos;t like the idea of activating css transforms for SVG. What happens if we
&gt; transform an SVG element with &lt;animation&gt;, JS and CSS transform (2D or 3D)?

I&apos;m not talking about CSS transforms on SVG. I&apos;m concerned about SVG inside HTML, where the HTML has 3d transforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162147</commentid>
    <comment_count>21</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 11:47:42 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; 
&gt; &gt; &gt; This isn&apos;t going to do the right thing for filtered SVG inside a HTML with CSS
&gt; &gt; &gt; 3D transforms; element content that is outside the viewport can be made visible
&gt; &gt; &gt; with a rotateY(), for example. And, yes the visible filtered content may be
&gt; &gt; &gt; arbitrarily large in that case.
&gt; &gt; I don&apos;t like the idea of activating css transforms for SVG. What happens if we
&gt; &gt; transform an SVG element with &lt;animation&gt;, JS and CSS transform (2D or 3D)?
&gt; 
&gt; I&apos;m not talking about CSS transforms on SVG. I&apos;m concerned about SVG inside
&gt; HTML, where the HTML has 3d transforms.
hm. I&apos;m not familiar with 3d transform on CSS, but I made more tests after you comment. The viewPort size of the SVG, will depend on the &lt;object&gt; when you embed a SVG into a HTML. It will get the currently visible size when SVG is the root element (pure SVG).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162149</commentid>
    <comment_count>22</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 11:49:25 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; The viewPort size of the SVG, will depend on the &lt;object&gt; when you
&gt; embed a SVG into a HTML.
This means, that the viewPort size is the size of the HTML-element &lt;object&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162157</commentid>
    <comment_count>23</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-10 12:01:30 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; The viewPort size of the SVG, will depend on the &lt;object&gt; when you
&gt; &gt; embed a SVG into a HTML.
&gt; This means, that the viewPort size is the size of the HTML-element &lt;object&gt;.

document()-&gt;view()-&gt;visibleContentRect() will return the content rect of the HTML document in the case of HTML with nested SVG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162160</commentid>
    <comment_count>24</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 12:12:54 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; (In reply to comment #21)
&gt; &gt; &gt; The viewPort size of the SVG, will depend on the &lt;object&gt; when you
&gt; &gt; &gt; embed a SVG into a HTML.
&gt; &gt; This means, that the viewPort size is the size of the HTML-element &lt;object&gt;.
&gt; 
&gt; document()-&gt;view()-&gt;visibleContentRect() will return the content rect of the
&gt; HTML document in the case of HTML with nested SVG.
Well, this example:

&lt;html&gt;
&lt;div style=&quot;margin: 20px;&quot;&gt;
&lt;object data=&quot;filter.svg&quot; type=&quot;image/svg+xml&quot; width=&quot;5000&quot;&gt;
&lt;/div&gt;
&lt;/body&gt;&lt;/html&gt;

gives me 0,0,5000,150 as contentRect, is it that what you mean?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162165</commentid>
    <comment_count>25</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-10 12:21:52 -0800</bug_when>
    <thetext>Try xhtml with mixed SVG and HTML. &lt;object&gt; is different.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162167</commentid>
    <comment_count>26</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 12:32:01 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; Try xhtml with mixed SVG and HTML. &lt;object&gt; is different.

Don&apos;t we just support embeding svg into html with either &lt;object&gt;, &lt;img&gt; or &lt;embed&gt;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162168</commentid>
    <comment_count>27</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 12:42:02 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #25)
&gt; &gt; Try xhtml with mixed SVG and HTML. &lt;object&gt; is different.
&gt; 
&gt; Don&apos;t we just support embeding svg into html with either &lt;object&gt;, &lt;img&gt; or
&gt; &lt;embed&gt;?

Sorry. I noticed, that there is a difference, if I name the file with .xml or .html :-P Here the exmaple:

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body id=&quot;body&quot;&gt;
&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;
    &lt;defs&gt;
        &lt;linearGradient id=&quot;gradient&quot; gradientUnits=&quot;objectBoundingBox&quot;
                            x1=&quot;0&quot; y1=&quot;0&quot; x2=&quot;1&quot; y2=&quot;1&quot;&gt;
            &lt;stop offset=&quot;0&quot; stop-color=&quot;green&quot; /&gt;
            &lt;stop offset=&quot;0.01&quot; stop-color=&quot;red&quot; /&gt;
        &lt;/linearGradient&gt;
        &lt;filter id=&quot;filter&quot;&gt;
            &lt;feOffset/&gt;
        &lt;/filter&gt;
    &lt;/defs&gt;
    &lt;g&gt;
        &lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;5000&quot; height=&quot;5000&quot; style=&quot;fill:url(#gradient);filter:url(#filter);&quot;/&gt;
    &lt;/g&gt;
&lt;/svg&gt;
&lt;/body&gt;
&lt;/html&gt;

The viewport is now the visible area of the window and changes with resizing the window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162178</commentid>
    <comment_count>28</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 12:56:03 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; Try xhtml with mixed SVG and HTML. &lt;object&gt; is different.
When I look at the exmaple above, I still think that the behavior is right, since the HML itself limits the size of the SVG. So clipping here is ok. And even with 3D transform, the SVG shouldn&apos;t get more content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162207</commentid>
    <comment_count>29</comment_count>
      <attachid>42894</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-10 14:12:38 -0800</bug_when>
    <thetext>Created attachment 42894
Testcase with svg inside 3d transform</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162217</commentid>
    <comment_count>30</comment_count>
      <attachid>42897</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-10 14:20:52 -0800</bug_when>
    <thetext>Created attachment 42897
Better testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162227</commentid>
    <comment_count>31</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 14:33:38 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Created an attachment (id=42897) [details]
&gt; Better testcase

Don&apos;t know if this is a bug on Cairo, but this example event don&apos;t work without filters. I added
&lt;div style=&quot;background-color:green; width:5000px;height:50px&quot;&gt;&lt;/div&gt;
and the green box is longer than the green to red rect of the SVG (css transformation disabled). But this reflects a general problem with big sized SVG. We do clampImageBufferSizeToViewport on other parts of SVG and every time this could break CSS transformations :-/.

Who decided to combine this techniques ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162371</commentid>
    <comment_count>32</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-10 23:57:11 -0800</bug_when>
    <thetext>I still believe that it is better to clip the filter to viewport for the moment. Even if it causes problems with big filters on CSS transforms. We should figure out a general solution for SVG to aboid this problem, since we clip the size on other parts of SVG too.
Or does someone have a better idea how to limit the calculation complexity?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165869</commentid>
    <comment_count>33</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-23 09:30:28 -0800</bug_when>
    <thetext>Fixed in bug 6021.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31267</attachid>
            <date>2009-06-14 11:46:11 -0700</date>
            <delta_ts>2009-08-04 12:49:02 -0700</delta_ts>
            <desc>big svg filter </desc>
            <filename>filtersExcessive.patch</filename>
            <type>text/plain</type>
            <size>5449</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDY3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMDYtMTQgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkcg
RmlsdGVycyBhbmQgYmlnIHNpemVkIGZpbHRlclJlZ2lvbnMKKyAgICAgICAgW2h0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjM4MF0KKworICAgICAgICBTY2FsZSB0aGUg
R3JhcGhpY3NDb250ZXh0IGRvd24gZm9yIHZlcnkgYmlnIFNWRyBmaWx0ZXJzIHRvIGF2b2lkCisg
ICAgICAgIHByb2JsZW1zIHdpdGggYmlnIEltYWdlQnVmZmVycyBhbmQgQ0kuIFdlIGFwcGx5IGZp
bHRlciBwcmltaXRpdmVzLAorICAgICAgICBzY2FsZSBiYWNrIGFuZCBkcmF3IHRoZSByZXN1bHQg
dG8gdGhlIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogc3ZnL2ZpbHRlcnMvZXhjZXNzaXZlLWZp
bHRlci1zaXplLnN2ZworCisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlRmlsdGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlRmlsdGVyOjpTVkdSZXNvdXJjZUZp
bHRlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6cHJlcGFyZUZpbHRl
cik6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlGaWx0ZXIpOgor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZUZpbHRlci5oOgorCiAyMDA5LTA2LTEz
ICBQZXRlciBLYXN0aW5nICA8cGthc3RpbmdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBLZXZpbiBPbGxpdmllci4KSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291
cmNlRmlsdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNv
dXJjZUZpbHRlci5jcHAJKHJldmlzaW9uIDQ0NjcwKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
U1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBAIFNW
R1Jlc291cmNlRmlsdGVyOjpTVkdSZXNvdXJjZUZpbHRlcigpCiAgICAgLCBtX2VmZmVjdEJCb3hN
b2RlKGZhbHNlKQogICAgICwgbV94QkJveE1vZGUoZmFsc2UpCiAgICAgLCBtX3lCQm94TW9kZShm
YWxzZSkKKyAgICAsIG1fc2NhbGUoMS4wZikKICAgICAsIG1fc2F2ZWRDb250ZXh0KDApCiAgICAg
LCBtX3NvdXJjZUdyYXBoaWNCdWZmZXIoMCkKIHsKQEAgLTc1LDggKzc2LDIzIEBAIHZvaWQgU1ZH
UmVzb3VyY2VGaWx0ZXI6OnByZXBhcmVGaWx0ZXIoR3IKICAgICBGbG9hdFJlY3QgY2xpcHBlZFNv
dXJjZVJlY3QgPSBtX2l0ZW1CQm94OwogICAgIGNsaXBwZWRTb3VyY2VSZWN0LmludGVyc2VjdCht
X2ZpbHRlckJCb3gpOwogCisgICAgLy8gU2NhbGUgZG93biB0aGUgZmlsdGVyUmVjdCBhbmQgZmls
dGVyRWZmZWN0UmVjdCwgaWYgdGhlIGZpbHRlciBzaXplIGlzIGJpZ2dlciB0aGFuIDMwMDB4MzAw
MC4KKyAgICAvLyBDSSBoYXMgcHJvYmxlbXMgd2l0aCBiaWcgSW1hZ2VCdWZmZXJzLgorICAgIGZs
b2F0IG1heFNpemUgPSAzMDAwLjBmOworICAgIGlmIChtX2ZpbHRlckJCb3gud2lkdGgoKSA+IG1h
eFNpemUpCisgICAgICAgIG1fc2NhbGUgPSBtYXhTaXplIC8gbV9maWx0ZXJCQm94LndpZHRoKCk7
CisgICAgaWYgKG1fZmlsdGVyQkJveC5oZWlnaHQoKSA+IG1heFNpemUpCisgICAgICAgIG1fc2Nh
bGUgPSBzdGQ6Om1pbihtX3NjYWxlLCBtYXhTaXplIC8gbV9maWx0ZXJCQm94LmhlaWdodCgpKTsg
CisKICAgICAvLyBwcmVwYXJlIEZpbHRlcnMKLSAgICBtX2ZpbHRlciA9IFNWR0ZpbHRlcjo6Y3Jl
YXRlKG1faXRlbUJCb3gsIG1fZmlsdGVyQkJveCwgbV9lZmZlY3RCQm94TW9kZSwgbV9maWx0ZXJC
Qm94TW9kZSk7CisgICAgRmxvYXRSZWN0IGl0ZW1CQm94ID0gbV9pdGVtQkJveDsKKyAgICBGbG9h
dFJlY3QgZmlsdGVyQkJveCA9IG1fZmlsdGVyQkJveDsKKyAgICBpZiAobV9zY2FsZSAhPSAxLjBm
KSB7CisgICAgICAgIGl0ZW1CQm94LnNjYWxlKG1fc2NhbGUpOworICAgICAgICBmaWx0ZXJCQm94
LnNjYWxlKG1fc2NhbGUpOworICAgICAgICBjbGlwcGVkU291cmNlUmVjdC5zY2FsZShtX3NjYWxl
KTsKKyAgICB9CisgICAgbV9maWx0ZXIgPSBTVkdGaWx0ZXI6OmNyZWF0ZShpdGVtQkJveCwgZmls
dGVyQkJveCwgbV9lZmZlY3RCQm94TW9kZSwgbV9maWx0ZXJCQm94TW9kZSk7CiAKICAgICBGaWx0
ZXJFZmZlY3QqIGxhc3RFZmZlY3QgPSBtX2ZpbHRlckJ1aWxkZXItPmxhc3RFZmZlY3QoKTsKICAg
ICBpZiAobGFzdEVmZmVjdCkKQEAgLTEwNCw2ICsxMjAsMTEgQEAgdm9pZCBTVkdSZXNvdXJjZUZp
bHRlcjo6YXBwbHlGaWx0ZXIoR3JhcAogICAgIGlmICghbV9zYXZlZENvbnRleHQpCiAgICAgICAg
IHJldHVybjsKIAorICAgIC8vIFNjYWxlIGRvd24gdGhlIGNvbnRleHQgb2YgdGhlIFNvdXJjZUdy
YXBoaWMsIHRvIG1hdGNoIGl0J3MgSW1hZ2VCdWZmZXIuIFRoaXMgaXMKKyAgICAvLyBuZWNlc3Nh
cnkgaWYgZmlsdGVyIHNpemUgaXMgYmlnZ2VyIHRoYW4gbWF4aW11bSBzaXplLgorICAgIGlmICht
X3NjYWxlICE9IDEuMGYpCisgICAgICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShtX3NjYWxl
LCBtX3NjYWxlKSk7CisKICAgICBjb250ZXh0ID0gbV9zYXZlZENvbnRleHQ7CiAgICAgbV9zYXZl
ZENvbnRleHQgPSAwOwogCkBAIC0xMTMsOCArMTM0LDE4IEBAIHZvaWQgU1ZHUmVzb3VyY2VGaWx0
ZXI6OmFwcGx5RmlsdGVyKEdyYXAKICAgICAgICAgbV9maWx0ZXItPnNldFNvdXJjZUltYWdlKG1f
c291cmNlR3JhcGhpY0J1ZmZlci5yZWxlYXNlKCkpOwogICAgICAgICBsYXN0RWZmZWN0LT5hcHBs
eShtX2ZpbHRlci5nZXQoKSk7CiAKLSAgICAgICAgaWYgKGxhc3RFZmZlY3QtPnJlc3VsdEltYWdl
KCkpCisgICAgICAgIGlmIChsYXN0RWZmZWN0LT5yZXN1bHRJbWFnZSgpKSB7CisgICAgICAgICAg
ICBpZiAobV9zY2FsZSAhPSAxLjBmKSB7CisgICAgICAgICAgICAgICAgZmxvYXQgaW52ZXJzZVNj
YWxlID0gMS4wZiAvIG1fc2NhbGU7CisgICAgICAgICAgICAgICAgY29udGV4dC0+c2F2ZSgpOwor
ICAgICAgICAgICAgICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShpbnZlcnNlU2NhbGUsIGlu
dmVyc2VTY2FsZSkpOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBjb250ZXh0LT5kcmF3
SW1hZ2UobGFzdEVmZmVjdC0+cmVzdWx0SW1hZ2UoKS0+aW1hZ2UoKSwgbGFzdEVmZmVjdC0+c3Vi
UmVnaW9uKCkpOworCisgICAgICAgICAgICBpZiAobV9zY2FsZSAhPSAxLjBmKQorICAgICAgICAg
ICAgICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIG1fc291
cmNlR3JhcGhpY0J1ZmZlci5jbGVhcigpOwpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
UmVzb3VyY2VGaWx0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdS
ZXNvdXJjZUZpbHRlci5oCShyZXZpc2lvbiA0NDY3MCkKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNz
L1NWR1Jlc291cmNlRmlsdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTkxLDYgKzkxLDggQEAgcHJp
dmF0ZToKICAgICBib29sIG1feEJCb3hNb2RlIDogMTsKICAgICBib29sIG1feUJCb3hNb2RlIDog
MTsKIAorICAgIGZsb2F0IG1fc2NhbGU7CisKICAgICBGbG9hdFJlY3QgbV9maWx0ZXJSZWN0Owog
CiAgICAgRmxvYXRSZWN0IG1fZmlsdGVyQkJveDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ0NjcwKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMDktMDYtMTQgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYzODAKKworICAgICAgICBUZXN0IHRvIGNoZWNrIGJlaGF2
aW9yIG9uIGJpZyBTVkcgZmlsdGVycy4KKworICAgICAgICAqIHN2Zy9maWx0ZXJzL2V4Y2Vzc2l2
ZS1maWx0ZXItc2l6ZS5zdmc6IEFkZGVkLgorCiAyMDA5LTA2LTEzICBEaXJrIFNjaHVsemUgIDxr
cml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9leGNlc3NpdmUtZmlsdGVyLXNpemUuc3ZnCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2V4Y2Vzc2l2ZS1maWx0ZXItc2l6ZS5z
dmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9leGNlc3NpdmUtZmls
dGVyLXNpemUuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8P3htbCB2ZXJzaW9u
PSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorICAg
IDxkZWZzPgorICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRpZW50IiBncmFkaWVudFVu
aXRzPSJvYmplY3RCb3VuZGluZ0JveCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MT0i
MCIgeTE9IjAiIHgyPSIxIiB5Mj0iMSI+CisgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0
b3AtY29sb3I9ImdyZWVuIiAvPgorICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwLjAxIiBzdG9w
LWNvbG9yPSJyZWQiIC8+CisgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CisgICAgICAgIDxmaWx0
ZXIgaWQ9ImZpbHRlciI+CisgICAgICAgICAgICA8ZmVPZmZzZXQvPgorICAgICAgICA8L2ZpbHRl
cj4KKyAgICA8L2RlZnM+CisgICAgPGc+CisgICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRo
PSI1MDAwIiBoZWlnaHQ9IjUwMDAiIHN0eWxlPSJmaWxsOnVybCgjZ3JhZGllbnQpO2ZpbHRlcjp1
cmwoI2ZpbHRlcik7Ii8+CisgICAgPC9nPgorPC9zdmc+Cg==
</data>
<flag name="review"
          id="15966"
          type_id="1"
          status="-"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34081</attachid>
            <date>2009-08-04 12:49:02 -0700</date>
            <delta_ts>2009-11-10 10:37:23 -0800</delta_ts>
            <desc>big svg filter</desc>
            <filename>filtersExcessive.patch</filename>
            <type>text/plain</type>
            <size>5660</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Njc2OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMDgtMDQgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkcg
RmlsdGVycyBhbmQgYmlnIHNpemVkIGZpbHRlclJlZ2lvbnMKKyAgICAgICAgW2h0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjM4MF0KKworICAgICAgICBTY2FsZSB0aGUg
R3JhcGhpY3NDb250ZXh0IGRvd24gZm9yIHZlcnkgYmlnIFNWRyBmaWx0ZXJzIHRvIGF2b2lkCisg
ICAgICAgIHByb2JsZW1zIHdpdGggYmlnIEltYWdlQnVmZmVycyBhbmQgQ0kuIFdlIGFwcGx5IGZp
bHRlciBwcmltaXRpdmVzLAorICAgICAgICBzY2FsZSBiYWNrIGFuZCBkcmF3IHRoZSByZXN1bHQg
dG8gdGhlIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogc3ZnL2ZpbHRlcnMvZXhjZXNzaXZlLWZp
bHRlci1zaXplLnN2ZworCisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlRmlsdGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlRmlsdGVyOjpTVkdSZXNvdXJjZUZp
bHRlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6cHJlcGFyZUZpbHRl
cik6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlGaWx0ZXIpOgor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZUZpbHRlci5oOgorCiAyMDA5LTA4LTA0
ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3Vy
Y2VGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291
cmNlRmlsdGVyLmNwcAkocmV2aXNpb24gNDY3NjkpCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9T
VkdSZXNvdXJjZUZpbHRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDggQEAKICNp
bmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAKKyNkZWZpbmUgTUFYX0ZJTFRFUl9TSVpFIDMwMDAu
ZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFNWR1Jlc291cmNlRmlsdGVyOjpTVkdSZXNvdXJj
ZUZpbHRlcigpCkBAIC00MSw2ICs0Myw3IEBAIFNWR1Jlc291cmNlRmlsdGVyOjpTVkdSZXNvdXJj
ZUZpbHRlcigpCiAgICAgLCBtX2VmZmVjdEJCb3hNb2RlKGZhbHNlKQogICAgICwgbV94QkJveE1v
ZGUoZmFsc2UpCiAgICAgLCBtX3lCQm94TW9kZShmYWxzZSkKKyAgICAsIG1fc2NhbGUoMS4wZikK
ICAgICAsIG1fc2F2ZWRDb250ZXh0KDApCiAgICAgLCBtX3NvdXJjZUdyYXBoaWNCdWZmZXIoMCkK
IHsKQEAgLTc1LDggKzc4LDIyIEBAIHZvaWQgU1ZHUmVzb3VyY2VGaWx0ZXI6OnByZXBhcmVGaWx0
ZXIoR3IKICAgICBGbG9hdFJlY3QgY2xpcHBlZFNvdXJjZVJlY3QgPSBtX2l0ZW1CQm94OwogICAg
IGNsaXBwZWRTb3VyY2VSZWN0LmludGVyc2VjdChtX2ZpbHRlckJCb3gpOwogCisgICAgLy8gU2Nh
bGUgZG93biB0aGUgZmlsdGVyUmVjdCBhbmQgZmlsdGVyRWZmZWN0UmVjdCwgaWYgdGhlIGZpbHRl
ciBzaXplIGlzIGJpZ2dlciB0aGFuIDMwMDB4MzAwMC4KKyAgICAvLyBDSSBoYXMgcHJvYmxlbXMg
d2l0aCBiaWcgSW1hZ2VCdWZmZXJzLgorICAgIGlmIChtX2ZpbHRlckJCb3gud2lkdGgoKSA+IE1B
WF9GSUxURVJfU0laRSkKKyAgICAgICAgbV9zY2FsZSA9IE1BWF9GSUxURVJfU0laRSAvIG1fZmls
dGVyQkJveC53aWR0aCgpOworICAgIGlmIChtX2ZpbHRlckJCb3guaGVpZ2h0KCkgPiBNQVhfRklM
VEVSX1NJWkUpCisgICAgICAgIG1fc2NhbGUgPSBzdGQ6Om1pbihtX3NjYWxlLCBNQVhfRklMVEVS
X1NJWkUgLyBtX2ZpbHRlckJCb3guaGVpZ2h0KCkpOyAKKwogICAgIC8vIHByZXBhcmUgRmlsdGVy
cwotICAgIG1fZmlsdGVyID0gU1ZHRmlsdGVyOjpjcmVhdGUobV9pdGVtQkJveCwgbV9maWx0ZXJC
Qm94LCBtX2VmZmVjdEJCb3hNb2RlLCBtX2ZpbHRlckJCb3hNb2RlKTsKKyAgICBGbG9hdFJlY3Qg
aXRlbUJCb3ggPSBtX2l0ZW1CQm94OworICAgIEZsb2F0UmVjdCBmaWx0ZXJCQm94ID0gbV9maWx0
ZXJCQm94OworICAgIGlmIChtX3NjYWxlICE9IDEuMGYpIHsKKyAgICAgICAgaXRlbUJCb3guc2Nh
bGUobV9zY2FsZSk7CisgICAgICAgIGZpbHRlckJCb3guc2NhbGUobV9zY2FsZSk7CisgICAgICAg
IGNsaXBwZWRTb3VyY2VSZWN0LnNjYWxlKG1fc2NhbGUpOworICAgIH0KKyAgICBtX2ZpbHRlciA9
IFNWR0ZpbHRlcjo6Y3JlYXRlKGl0ZW1CQm94LCBmaWx0ZXJCQm94LCBtX2VmZmVjdEJCb3hNb2Rl
LCBtX2ZpbHRlckJCb3hNb2RlKTsKIAogICAgIEZpbHRlckVmZmVjdCogbGFzdEVmZmVjdCA9IG1f
ZmlsdGVyQnVpbGRlci0+bGFzdEVmZmVjdCgpOwogICAgIGlmIChsYXN0RWZmZWN0KQpAQCAtMTA0
LDYgKzEyMSwxMSBAQCB2b2lkIFNWR1Jlc291cmNlRmlsdGVyOjphcHBseUZpbHRlcihHcmFwCiAg
ICAgaWYgKCFtX3NhdmVkQ29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gU2NhbGUg
ZG93biB0aGUgY29udGV4dCBvZiB0aGUgU291cmNlR3JhcGhpYywgdG8gbWF0Y2ggaXQncyBJbWFn
ZUJ1ZmZlci4gVGhpcyBpcworICAgIC8vIG5lY2Vzc2FyeSBpZiBmaWx0ZXIgc2l6ZSBpcyBiaWdn
ZXIgdGhhbiBtYXhpbXVtIHNpemUuCisgICAgaWYgKG1fc2NhbGUgIT0gMS4wZikKKyAgICAgICAg
Y29udGV4dC0+c2NhbGUoRmxvYXRTaXplKG1fc2NhbGUsIG1fc2NhbGUpKTsKKwogICAgIGNvbnRl
eHQgPSBtX3NhdmVkQ29udGV4dDsKICAgICBtX3NhdmVkQ29udGV4dCA9IDA7CiAKQEAgLTExMyw4
ICsxMzUsMTggQEAgdm9pZCBTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlGaWx0ZXIoR3JhcAogICAg
ICAgICBtX2ZpbHRlci0+c2V0U291cmNlSW1hZ2UobV9zb3VyY2VHcmFwaGljQnVmZmVyLnJlbGVh
c2UoKSk7CiAgICAgICAgIGxhc3RFZmZlY3QtPmFwcGx5KG1fZmlsdGVyLmdldCgpKTsKIAotICAg
ICAgICBpZiAobGFzdEVmZmVjdC0+cmVzdWx0SW1hZ2UoKSkKKyAgICAgICAgaWYgKGxhc3RFZmZl
Y3QtPnJlc3VsdEltYWdlKCkpIHsKKyAgICAgICAgICAgIGlmIChtX3NjYWxlICE9IDEuMGYpIHsK
KyAgICAgICAgICAgICAgICBmbG9hdCBpbnZlcnNlU2NhbGUgPSAxLjBmIC8gbV9zY2FsZTsKKyAg
ICAgICAgICAgICAgICBjb250ZXh0LT5zYXZlKCk7CisgICAgICAgICAgICAgICAgY29udGV4dC0+
c2NhbGUoRmxvYXRTaXplKGludmVyc2VTY2FsZSwgaW52ZXJzZVNjYWxlKSk7CisgICAgICAgICAg
ICB9CisKICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdJbWFnZShsYXN0RWZmZWN0LT5yZXN1bHRJ
bWFnZSgpLT5pbWFnZSgpLCBsYXN0RWZmZWN0LT5zdWJSZWdpb24oKSk7CisKKyAgICAgICAgICAg
IGlmIChtX3NjYWxlICE9IDEuMGYpCisgICAgICAgICAgICAgICAgY29udGV4dC0+cmVzdG9yZSgp
OworICAgICAgICB9CiAgICAgfQogCiAgICAgbV9zb3VyY2VHcmFwaGljQnVmZmVyLmNsZWFyKCk7
CkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZUZpbHRlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlRmlsdGVyLmgJKHJldmlzaW9u
IDQ2NzY5KQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2VGaWx0ZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtOTEsNiArOTEsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV94QkJveE1v
ZGUgOiAxOwogICAgIGJvb2wgbV95QkJveE1vZGUgOiAxOwogCisgICAgZmxvYXQgbV9zY2FsZTsK
KwogICAgIEZsb2F0UmVjdCBtX2ZpbHRlclJlY3Q7CiAKICAgICBGbG9hdFJlY3QgbV9maWx0ZXJC
Qm94OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNDY3NjkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0wOC0wNCAgRGlyayBTY2h1bHpl
ICA8a3JpdEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjM4
MAorCisgICAgICAgIFRlc3QgdG8gY2hlY2sgYmVoYXZpb3Igb24gYmlnIFNWRyBmaWx0ZXJzLgor
CisgICAgICAgICogc3ZnL2ZpbHRlcnMvZXhjZXNzaXZlLWZpbHRlci1zaXplLnN2ZzogQWRkZWQu
CisKIDIwMDktMDgtMDMgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBKb24gSG9uZXljdXR0LgpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2ZpbHRlcnMvZXhjZXNzaXZlLWZpbHRlci1zaXplLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9zdmcvZmlsdGVycy9leGNlc3NpdmUtZmlsdGVyLXNpemUuc3ZnCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZXhjZXNzaXZlLWZpbHRlci1zaXplLnN2ZwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25l
PSJubyI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICA8ZGVmcz4KKyAgICAgICAg
PGxpbmVhckdyYWRpZW50IGlkPSJncmFkaWVudCIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRp
bmdCb3giCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDE9IjAiIHkxPSIwIiB4Mj0iMSIg
eTI9IjEiPgorICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSJncmVlbiIg
Lz4KKyAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMC4wMSIgc3RvcC1jb2xvcj0icmVkIiAvPgor
ICAgICAgICA8L2xpbmVhckdyYWRpZW50PgorICAgICAgICA8ZmlsdGVyIGlkPSJmaWx0ZXIiPgor
ICAgICAgICAgICAgPGZlT2Zmc2V0Lz4KKyAgICAgICAgPC9maWx0ZXI+CisgICAgPC9kZWZzPgor
ICAgIDxnPgorICAgICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNTAwMCIgaGVpZ2h0PSI1
MDAwIiBzdHlsZT0iZmlsbDp1cmwoI2dyYWRpZW50KTtmaWx0ZXI6dXJsKCNmaWx0ZXIpOyIvPgor
ICAgIDwvZz4KKzwvc3ZnPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42876</attachid>
            <date>2009-11-10 10:37:23 -0800</date>
            <delta_ts>2009-11-10 10:58:49 -0800</delta_ts>
            <desc>clip filter to viewport</desc>
            <filename>big-sized-filter.patch</filename>
            <type>text/plain</type>
            <size>4804</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDc0MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMTEtMTAgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkcg
RmlsdGVycyBhbmQgYmlnIHNpemVkIGZpbHRlclJlZ2lvbnMKKyAgICAgICAgW2h0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjM4MF0KKworICAgICAgICBJdCdzIG5lY2Nl
c3NhcnkgdG8gYXZvaWQgaW5maW5pdGVseSBiaWcgZmlsdGVycy4gVGhpcyBwYXRjaCBjbGlwcwor
ICAgICAgICB0aGUgZmlsdGVyIHNpemUgYW5kIGFsbCBpdCdzIGVmZmVjdHMgdG8gdGhlIGN1cnJl
bnQgdmlld3BvcnQuCisKKyAgICAgICAgVGVzdDogc3ZnL2ZpbHRlcnMvYmlnLXNpemUtZmlsdGVy
LnN2ZworCisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6YnVpbGRGaWx0ZXIpOgorICAgICAgICAqIHN2Zy9ncmFw
aGljcy9TVkdSZXNvdXJjZUZpbHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJj
ZUZpbHRlcjo6cHJlcGFyZUZpbHRlcik6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR1Jlc291
cmNlRmlsdGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6dmlld1Bv
cnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVzb3VyY2VGaWx0ZXI6OnNldFZpZXdQb3J0KToK
KwogMjAwOS0xMS0xMCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVt
ZW50LmNwcAkocmV2aXNpb24gNTA3MzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsOSArMjYsMTEgQEAKICNpbmNsdWRlICJTVkdGaWx0
ZXJFbGVtZW50LmgiCiAKICNpbmNsdWRlICJBdHRyLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJTVkdGaWx0ZXJCdWlsZGVyLmgiCiAjaW5jbHVkZSAiTWFwcGVkQXR0cmlidXRl
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
CiAjaW5jbHVkZSAiU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAjaW5j
bHVkZSAiU1ZHTGVuZ3RoLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKQEAgLTEyNSw2ICsxMjcs
NyBAQCB2b2lkIFNWR0ZpbHRlckVsZW1lbnQ6OmJ1aWxkRmlsdGVyKGNvbnN0CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUmVjdC53aWR0aCgpICogdGFyZ2V0UmVjdC53aWR0
aCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclJlY3QuaGVpZ2h0KCkg
KiB0YXJnZXRSZWN0LmhlaWdodCgpKTsKIAorICAgIG1fZmlsdGVyLT5zZXRWaWV3UG9ydChkb2N1
bWVudCgpLT52aWV3KCktPnZpc2libGVDb250ZW50UmVjdCgpKTsKICAgICBtX2ZpbHRlci0+c2V0
RmlsdGVyQm91bmRpbmdCb3goZmlsdGVyUmVjdCk7CiAgICAgbV9maWx0ZXItPnNldEZpbHRlclJl
Y3QoZmlsdGVyQkJveCk7CiAgICAgbV9maWx0ZXItPnNldEVmZmVjdEJvdW5kaW5nQm94TW9kZShw
cmltaXRpdmVCQm94TW9kZSk7CkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJj
ZUZpbHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3Vy
Y2VGaWx0ZXIuY3BwCShyZXZpc2lvbiA1MDczMikKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R1Jlc291cmNlRmlsdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsOSBAQCB2b2lk
IFNWR1Jlc291cmNlRmlsdGVyOjpwcmVwYXJlRmlsdGVyKEdyCiAgICAgRmxvYXRSZWN0IHRhcmdl
dFJlY3QgPSBvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCk7CiAgICAgbV9vd25lckVsZW1lbnQt
PmJ1aWxkRmlsdGVyKHRhcmdldFJlY3QpOwogCisgICAgLy8gY2xpcCBmaWx0ZXJSZWN0IHRvIHZp
ZXdQb3J0CisgICAgbV9maWx0ZXJCQm94LmludGVyc2VjdChtX3ZpZXdQb3J0KTsKKwogICAgIC8v
IGNsaXAgc291cmNlSW1hZ2UgdG8gZmlsdGVyUmVnaW9uCiAgICAgRmxvYXRSZWN0IGNsaXBwZWRT
b3VyY2VSZWN0ID0gdGFyZ2V0UmVjdDsKICAgICBjbGlwcGVkU291cmNlUmVjdC5pbnRlcnNlY3Qo
bV9maWx0ZXJCQm94KTsKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlRmls
dGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2VGaWx0
ZXIuaAkocmV2aXNpb24gNTA3MzIpCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJj
ZUZpbHRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw5IEBAIHB1YmxpYzoKICAgICBG
bG9hdFJlY3QgZmlsdGVyQm91bmRpbmdCb3goKSB7IHJldHVybiBtX2ZpbHRlckJCb3g7IH0KICAg
ICB2b2lkIHNldEZpbHRlckJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgeyBtX2Zp
bHRlckJCb3ggPSByZWN0OyB9CiAKKyAgICBJbnRSZWN0IHZpZXdQb3J0KCkgeyByZXR1cm4gbV92
aWV3UG9ydDsgfQorICAgIHZvaWQgc2V0Vmlld1BvcnQoY29uc3QgSW50UmVjdCYgcmVjdCkgeyBt
X3ZpZXdQb3J0ID0gcmVjdDsgfQorCiAgICAgdm9pZCBwcmVwYXJlRmlsdGVyKEdyYXBoaWNzQ29u
dGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqKTsKICAgICB2b2lkIGFwcGx5RmlsdGVyKEdyYXBo
aWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqKTsKIApAQCAtODQsNiArODcsNyBAQCBw
cml2YXRlOgogCiAgICAgRmxvYXRSZWN0IG1fZmlsdGVyUmVjdDsKICAgICBGbG9hdFJlY3QgbV9m
aWx0ZXJCQm94OworICAgIEludFJlY3QgbV92aWV3UG9ydDsKIAogICAgIE93blB0cjxTVkdGaWx0
ZXJCdWlsZGVyPiBtX2ZpbHRlckJ1aWxkZXI7CiAgICAgR3JhcGhpY3NDb250ZXh0KiBtX3NhdmVk
Q29udGV4dDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDUwNzQxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDktMTEtMTAgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHRlc3QgdGVzdHMgdGhlIGNsaXBwaW5nIG9mIGJpZyBmaWx0
ZXJzIHRvIHRoZSB2aWV3cG9ydC4gCisKKyAgICAgICAgKiBzdmcvZmlsdGVycy9iaWctc2l6ZS1m
aWx0ZXIuc3ZnOiBBZGRlZC4KKwogMjAwOS0xMS0xMCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3Jt
YW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9iaWctc2l6ZS1maWx0ZXIuc3ZnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2JpZy1zaXplLWZpbHRlci5zdmcJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9iaWctc2l6ZS1maWx0ZXIuc3ZnCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9
Im5vIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxp
bms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorICAgIDxkZWZzPgorICAgICAgICA8
bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRpZW50IiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGlu
Z0JveCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5
Mj0iMSI+CisgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9ImdyZWVuIiAv
PgorICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwLjAxIiBzdG9wLWNvbG9yPSJyZWQiIC8+Cisg
ICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CisgICAgICAgIDxmaWx0ZXIgaWQ9ImZpbHRlciI+Cisg
ICAgICAgICAgICA8ZmVPZmZzZXQvPgorICAgICAgICA8L2ZpbHRlcj4KKyAgICA8L2RlZnM+Cisg
ICAgPGc+CisgICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI1MDAwIiBoZWlnaHQ9IjUw
MDAiIHN0eWxlPSJmaWxsOnVybCgjZ3JhZGllbnQpO2ZpbHRlcjp1cmwoI2ZpbHRlcik7Ii8+Cisg
ICAgPC9nPgorPC9zdmc+Cg==
</data>
<flag name="review"
          id="24493"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>42894</attachid>
            <date>2009-11-10 14:12:38 -0800</date>
            <delta_ts>2009-11-10 14:20:52 -0800</delta_ts>
            <desc>Testcase with svg inside 3d transform</desc>
            <filename>filtered-svg-in-html.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>952</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVhZD4KICA8c3R5
bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgogICAgYm9keSB7CiAgICAgIC13ZWJr
aXQtcGVyc3BlY3RpdmU6IDgwMHB4OwogICAgfQogICAgLmNvbnRhaW5lciB7CiAgICAgIGhlaWdo
dDogNTAwcHg7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdDsKICAgICAgLXdl
YmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMzBkZWcpOwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4K
PGJvZHkgaWQ9ImJvZHkiPgogIAogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgPHN2ZyB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGxpbmsiPgogICAgICA8ZGVmcz4KICAgICAgICAgIDxsaW5lYXJHcmFkaWVu
dCBpZD0iZ3JhZGllbnQiIGdyYWRpZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMSI+CiAgICAg
ICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSJncmVlbiIgLz4KICAgICAgICAg
ICAgICA8c3RvcCBvZmZzZXQ9IjAuMDEiIHN0b3AtY29sb3I9InJlZCIgLz4KICAgICAgICAgIDwv
bGluZWFyR3JhZGllbnQ+CiAgICAgICAgICA8ZmlsdGVyIGlkPSJmaWx0ZXIiPgogICAgICAgICAg
ICAgIDxmZU9mZnNldC8+CiAgICAgICAgICA8L2ZpbHRlcj4KICAgICAgPC9kZWZzPgogICAgICA8
Zz4KICAgICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI1MDAwIiBoZWlnaHQ9IjUwMDAi
CiAgc3R5bGU9ImZpbGw6dXJsKCNncmFkaWVudCk7ZmlsdGVyOnVybCgjZmlsdGVyKTsiLz4KICAg
ICAgPC9nPgogIDwvc3ZnPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>42897</attachid>
            <date>2009-11-10 14:20:52 -0800</date>
            <delta_ts>2009-11-10 14:20:52 -0800</delta_ts>
            <desc>Better testcase</desc>
            <filename>filtered-svg-in-html.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>958</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVhZD4KICA8c3R5
bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgogICAgYm9keSB7CiAgICAgIC13ZWJr
aXQtcGVyc3BlY3RpdmU6IDgwMHB4OwogICAgfQogICAgLmNvbnRhaW5lciB7CiAgICAgIC13ZWJr
aXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdDsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0
ZVkoNTBkZWcpOwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHkgaWQ9ImJvZHkiPgogIAog
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciICB3aWR0aD0iNTAwMCIgaGVpZ2h0PSI1MDAiCiAgeG1sbnM6eGxpbms9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgICA8ZGVmcz4KICAgICAgICAgIDxsaW5lYXJH
cmFkaWVudCBpZD0iZ3JhZGllbnQiIGdyYWRpZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Igog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMSI+
CiAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSJncmVlbiIgLz4KICAg
ICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjAuMDEiIHN0b3AtY29sb3I9InJlZCIgLz4KICAgICAg
ICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgICA8ZmlsdGVyIGlkPSJmaWx0ZXIiPgogICAg
ICAgICAgICAgIDxmZU9mZnNldC8+CiAgICAgICAgICA8L2ZpbHRlcj4KICAgICAgPC9kZWZzPgog
ICAgICA8Zz4KICAgICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI1MDAwIiBoZWlnaHQ9
IjUwMDAiCiAgc3R5bGU9ImZpbGw6dXJsKCNncmFkaWVudCk7ZmlsdGVyOnVybCgjZmlsdGVyKTsi
Lz4KICAgICAgPC9nPgogIDwvc3ZnPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>