<?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>87504</bug_id>
          
          <creation_ts>2012-05-25 08:17:57 -0700</creation_ts>
          <short_desc>REGRESSION (r112277): use/xlink doesn&apos;t work correctly</short_desc>
          <delta_ts>2012-08-01 12:51:48 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philip Rogers">pdr</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>fmalita</cc>
    
    <cc>rw12</cc>
    
    <cc>schenney</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>633942</commentid>
    <comment_count>0</comment_count>
      <attachid>144074</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-05-25 08:17:57 -0700</bug_when>
    <thetext>Created attachment 144074
Minimized testcase

Between Chrome 19 and Chrome 20 we had a regression in use/xlink (see the attached testcase).

Original bug: crbug.com/129556</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633960</commentid>
    <comment_count>1</comment_count>
      <attachid>144078</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-05-25 08:35:18 -0700</bug_when>
    <thetext>Created attachment 144078
A non-path test case

Not limited to &lt;path&gt; and not related to &lt;g&gt;. Works in SVG docs, appears to fail when embedded in HTML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634040</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-25 10:27:34 -0700</bug_when>
    <thetext>Bisected to r112329, which was a re-land of &lt;http://trac.webkit.org/changeset/112277&gt;

Is this known to affect any real sites?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634053</commentid>
    <comment_count>3</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-05-25 10:41:48 -0700</bug_when>
    <thetext>This is affecting the German puzzle site in the crbug repro, and probably others. Schenney and I are on this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634116</commentid>
    <comment_count>4</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-05-25 11:40:47 -0700</bug_when>
    <thetext>I think I got it - Stephen&apos;s change exposed a parser problem: 
HTMLConstructionSite::insertForeignElement() doesn&apos;t handle self-closing tags correctly (doesn&apos;t call finishParsingChildren like XMLTreeBuilder does), hence the &lt;use&gt; instance tree never gets built (after the change, buildPendingResources is triggered from finishParsingChildren() when m_wasInsertedByParser == true).

Making the use tag explicitly closed works around the issue: &lt;use ...&gt;&lt;/use&gt;

I&apos;ll work on a patch, but will probably be next week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634174</commentid>
    <comment_count>5</comment_count>
      <attachid>144122</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-05-25 12:27:36 -0700</bug_when>
    <thetext>Created attachment 144122
Fix for self-closing &lt;use&gt; tags

This patch is really by three people: schenney, fmalita, and pdr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634187</commentid>
    <comment_count>6</comment_count>
      <attachid>144122</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2012-05-25 12:35:13 -0700</bug_when>
    <thetext>Comment on attachment 144122
Fix for self-closing &lt;use&gt; tags

View in context: https://bugs.webkit.org/attachment.cgi?id=144122&amp;action=review

&gt; Source/WebCore/html/parser/HTMLConstructionSite.cpp:363
&gt; +        element-&gt;finishParsingChildren();

Note that there&apos;s logic in HTMLConstructionSite::attachLater to handle this - all we need to do is set the self closing flag on the task. I&apos;m also not convinced it&apos;s safe to call finishParsingChildren here because of the deferred attach. Here&apos;s my take:

diff --git a/Source/WebCore/html/parser/HTMLConstructionSite.cpp b/Source/WebCore/html/parser/HTMLConstructionSite.cpp
index 04e4606..4da7a7a 100644
--- a/Source/WebCore/html/parser/HTMLConstructionSite.cpp
+++ b/Source/WebCore/html/parser/HTMLConstructionSite.cpp
@@ -106,11 +106,12 @@ static inline void executeTask(HTMLConstructionSiteTask&amp; task)
         task.child-&gt;finishParsingChildren();
 }
 
-void HTMLConstructionSite::attachLater(ContainerNode* parent, PassRefPtr&lt;Node&gt; prpChild)
+void HTMLConstructionSite::attachLater(ContainerNode* parent, PassRefPtr&lt;Node&gt; prpChild, bool selfClosing)
 {
     HTMLConstructionSiteTask task;
     task.parent = parent;
     task.child = prpChild;
+    task.selfClosing = selfClosing;
 
     if (shouldFosterParent()) {
         fosterParent(task.child);
@@ -315,11 +316,10 @@ void HTMLConstructionSite::insertHTMLElement(AtomicHTMLToken&amp; token)
 void HTMLConstructionSite::insertSelfClosingHTMLElement(AtomicHTMLToken&amp; token)
 {
     ASSERT(token.type() == HTMLTokenTypes::StartTag);
-    attachLater(currentNode(), createHTMLElement(token));
     // Normally HTMLElementStack is responsible for calling finishParsingChildren,
     // but self-closing elements are never in the element stack so the stack

     // doesn&apos;t get a chance to tell them that we&apos;re done parsing their children.
-    m_attachmentQueue.last().selfClosing = true;
+    attachLater(currentNode(), createHTMLElement(token), true);
     // FIXME: Do we want to acknowledge the token&apos;s self-closing flag?
     // http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#acknowledge-self-closing-flag
 }
@@ -355,9 +355,7 @@ void HTMLConstructionSite::insertForeignElement(AtomicHTMLToken&amp; token, const At
     notImplemented(); // parseError when xmlns or xmlns:xlink are wrong.
 
     RefPtr&lt;Element&gt; element = createElement(token, namespaceURI);
-    attachLater(currentNode(), element);
-    // FIXME: Don&apos;t we need to set the selfClosing flag on the task if we&apos;re
-    // not going to push the element on to the stack of open elements?
+    attachLater(currentNode(), element, token.selfClosing());
     if (!token.selfClosing())
         m_openElements.push(element.release());
 }
diff --git a/Source/WebCore/html/parser/HTMLConstructionSite.h b/Source/WebCore/html/parser/HTMLConstructionSite.h
index 6e28d3a..2790664 100644
--- a/Source/WebCore/html/parser/HTMLConstructionSite.h
+++ b/Source/WebCore/html/parser/HTMLConstructionSite.h
@@ -155,7 +155,7 @@ private:
     // tokens produce only one DOM mutation.
     typedef Vector&lt;HTMLConstructionSiteTask, 1&gt; AttachmentQueue;

 
-    void attachLater(ContainerNode* parent, PassRefPtr&lt;Node&gt; child);
+    void attachLater(ContainerNode* parent, PassRefPtr&lt;Node&gt; child, bool selfClosing = false);
 
     void findFosterSite(HTMLConstructionSiteTask&amp;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634202</commentid>
    <comment_count>7</comment_count>
      <attachid>144127</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-05-25 12:52:30 -0700</bug_when>
    <thetext>Created attachment 144127
Fix for self-closing &lt;use&gt; tags

Florin is right and his patch is better.

PTAL!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634401</commentid>
    <comment_count>8</comment_count>
      <attachid>144127</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-25 16:08:50 -0700</bug_when>
    <thetext>Comment on attachment 144127
Fix for self-closing &lt;use&gt; tags

Yep.  Thanks for the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634463</commentid>
    <comment_count>9</comment_count>
      <attachid>144127</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-25 17:18:45 -0700</bug_when>
    <thetext>Comment on attachment 144127
Fix for self-closing &lt;use&gt; tags

Clearing flags on attachment: 144127

Committed r118589: &lt;http://trac.webkit.org/changeset/118589&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634464</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-25 17:18:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671750</commentid>
    <comment_count>11</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-07-17 16:46:17 -0700</bug_when>
    <thetext>*** Bug 91498 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684468</commentid>
    <comment_count>12</comment_count>
    <who name="Bob Wyttenbach">rw12</who>
    <bug_when>2012-08-01 12:31:25 -0700</bug_when>
    <thetext>Fixed in today&apos;s version of Chrome (21.0.1180.57), which uses WebKit 537.1. 
Newly broken in yesterday&apos;s version of Safari (6), which uses WebKit 536.25.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684488</commentid>
    <comment_count>13</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2012-08-01 12:51:48 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Fixed in today&apos;s version of Chrome (21.0.1180.57), which uses WebKit 537.1. 
&gt; Newly broken in yesterday&apos;s version of Safari (6), which uses WebKit 536.25.

At this point you may wish to file the bug against Safari. For whatever reason it seems they did not pick up this WebKit fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>144074</attachid>
            <date>2012-05-25 08:17:57 -0700</date>
            <delta_ts>2012-05-25 08:17:57 -0700</delta_ts>
            <desc>Minimized testcase</desc>
            <filename>repro.html</filename>
            <type>text/html</type>
            <size>356</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPGRpdj4KICAgIFRoZXJlIHNob3VsZCBiZSB0
d28gbGluZXMgYmVsb3cuCjwvZGl2Pgo8c3ZnIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIj4KICAg
IDxnIGlkPSJsaW5lIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMDAgMTAwKSI+CiAgICAgICAgPHBh
dGggZD0iTTAgMCBMIDEwMCAxMDB6IiBzdHJva2Utd2lkdGg9IjFweCIgc3Ryb2tlPSJibGFjayIv
PgogICAgPC9nPgogICAgPGcgZmlsbD0iIzAwMDAwMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAx
MDApIj4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNsaW5lIi8+CiAgICA8L2c+Cjwvc3ZnPgo8
L2JvZHk+CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>144078</attachid>
            <date>2012-05-25 08:35:18 -0700</date>
            <delta_ts>2012-05-25 08:35:18 -0700</delta_ts>
            <desc>A non-path test case</desc>
            <filename>use-fail.html</filename>
            <type>text/html</type>
            <size>239</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+
CjxkZWZzPgogIDxyZWN0IGlkPSJyZWN0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0i
Z3JlZW4iLz4KPC9kZWZzPgoKPHVzZSB4bGluazpocmVmPSIjcmVjdCIvPgoKPC9zdmc+Cgo8L2Jv
ZHk+CjwvaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144122</attachid>
            <date>2012-05-25 12:27:36 -0700</date>
            <delta_ts>2012-05-25 12:52:30 -0700</delta_ts>
            <desc>Fix for self-closing &lt;use&gt; tags</desc>
            <filename>87504.1.patch</filename>
            <type>text/plain</type>
            <size>3431</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTI1ICBQaGlsaXAg
Um9nZXJzICA8cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgRml4IGZvciBzZWxmLWNsb3Npbmcg
PHVzZT4gdGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODc1MDQKKworICAgICAgICBUaGlzIGNoYW5nZSBjYXVzZXMgc2VsZi1jbG9zaW5nIG5vbi1o
dG1sIHRhZ3MgdG8gYmVoYXZlIHRoZSBzYW1lCisgICAgICAgIGFzIHRhZ3MgaW1tZWRpYXRlbHkg
Zm9sbG93ZWQgYnkgdGhlIGNsb3NpbmcgdGFnLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vc3ZnLXNlbGYtY2xvc2luZy11
c2UuaHRtbAorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydEZvcmVpZ25F
bGVtZW50KToKKwogMjAxMi0wNS0yNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjExODM5NS4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9u
U2l0ZS5jcHAJKHJldmlzaW9uIDExODUzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzU2LDEwICszNTYs
MTEgQEAgdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0Rm9yZWlnbgogCiAgICAgUmVm
UHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KHRva2VuLCBuYW1lc3BhY2VVUkkp
OwogICAgIGF0dGFjaExhdGVyKGN1cnJlbnROb2RlKCksIGVsZW1lbnQpOwotICAgIC8vIEZJWE1F
OiBEb24ndCB3ZSBuZWVkIHRvIHNldCB0aGUgc2VsZkNsb3NpbmcgZmxhZyBvbiB0aGUgdGFzayBp
ZiB3ZSdyZQotICAgIC8vIG5vdCBnb2luZyB0byBwdXNoIHRoZSBlbGVtZW50IG9uIHRvIHRoZSBz
dGFjayBvZiBvcGVuIGVsZW1lbnRzPworCiAgICAgaWYgKCF0b2tlbi5zZWxmQ2xvc2luZygpKQog
ICAgICAgICBtX29wZW5FbGVtZW50cy5wdXNoKGVsZW1lbnQucmVsZWFzZSgpKTsKKyAgICBlbHNl
CisgICAgICAgIGVsZW1lbnQtPmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwogfQogCiB2b2lkIEhU
TUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRUZXh0Tm9kZShjb25zdCBTdHJpbmcmIGNoYXJhY3Rl
cnMsIFdoaXRlc3BhY2VNb2RlIHdoaXRlc3BhY2VNb2RlKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTE4
NTQ5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTItMDUtMjUgIFBoaWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBGaXggZm9yIHNlbGYtY2xvc2luZyA8dXNlPiB0YWdzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctc2VsZi1jbG9zaW5n
LXVzZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1zZWxm
LWNsb3NpbmctdXNlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTI1ICBTaGVyaWZmIEJvdCAgPHdl
YmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTE4Mzk1LgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctc2VsZi1jbG9z
aW5nLXVzZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0
b20vc3ZnLXNlbGYtY2xvc2luZy11c2UtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXNlbGYtY2xvc2luZy11c2UtZXhwZWN0ZWQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxi
b2R5PgorPCEtLSBUZXN0IGZvciBXSzg3NTA0IHRoYXQgPHVzZS8+IGFuZCA8dXNlPjwvdXNlPiBh
cmUgZXF1aXZhbGVudCAtLT4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+Cis8ZGVmcz4KKyAg
PHJlY3QgaWQ9InJlY3QiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIvPgor
PC9kZWZzPgorPHVzZSB4bGluazpocmVmPSIjcmVjdCI+PC91c2U+Cis8L3N2Zz4KKzwvYm9keT4K
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXNlbGYtY2xvc2luZy11c2UuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1zZWxmLWNsb3NpbmctdXNl
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1zZWxmLWNs
b3NpbmctdXNlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8Ym9keT4KKzwhLS0gVGVzdCBmb3IgV0s4NzUwNCB0aGF0IDx1c2UvPiBh
bmQgPHVzZT48L3VzZT4gYXJlIGVxdWl2YWxlbnQgLS0+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiPgorPGRlZnM+CisgIDxyZWN0IGlkPSJyZWN0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIg
ZmlsbD0iZ3JlZW4iLz4KKzwvZGVmcz4KKzx1c2UgeGxpbms6aHJlZj0iI3JlY3QiLz4KKzwvc3Zn
PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144127</attachid>
            <date>2012-05-25 12:52:30 -0700</date>
            <delta_ts>2012-05-25 17:18:45 -0700</delta_ts>
            <desc>Fix for self-closing &lt;use&gt; tags</desc>
            <filename>87504.2.patch</filename>
            <type>text/plain</type>
            <size>5600</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODU1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTI1ICBQaGlsaXAg
Um9nZXJzICA8cGRyQGdvb2dsZS5jb20+CisKKyAgICAgICAgRml4IGZvciBzZWxmLWNsb3Npbmcg
PHVzZT4gdGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODc1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIGNoYW5nZSBjYXVzZXMgc2VsZi1jbG9zaW5nIG5vbi1odG1sIHRhZ3MgdG8gYmVoYXZl
IHRoZSBzYW1lCisgICAgICAgIGFzIHRhZ3MgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgdGhlIGNs
b3NpbmcgdGFnLgorCisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vc3ZnLXNlbGYtY2xvc2luZy11
c2UuaHRtbAorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6OmF0dGFjaExhdGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRTZWxmQ2xvc2lu
Z0hUTUxFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpp
bnNlcnRGb3JlaWduRWxlbWVudCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVj
dGlvblNpdGUuaDoKKyAgICAgICAgKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKToKKwogMjAxMi0wNS0y
NSAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2hhbmdlIFJl
bmRlckJveE1vZGVsT2JqZWN0IHRvIGNvbXB1dGUgcmVsYXRpdmVQb3NpdGlvbk9mZnNldCBhcyBz
aXplCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0
cnVjdGlvblNpdGUuY3BwCShyZXZpc2lvbiAxMTg1MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNiwx
MSArMTA2LDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBleGVjdXRlVGFzayhIVE1MQ29uc3QKICAg
ICAgICAgdGFzay5jaGlsZC0+ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiB9CiAKLXZvaWQgSFRN
TENvbnN0cnVjdGlvblNpdGU6OmF0dGFjaExhdGVyKENvbnRhaW5lck5vZGUqIHBhcmVudCwgUGFz
c1JlZlB0cjxOb2RlPiBwcnBDaGlsZCkKK3ZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6OmF0dGFj
aExhdGVyKENvbnRhaW5lck5vZGUqIHBhcmVudCwgUGFzc1JlZlB0cjxOb2RlPiBwcnBDaGlsZCwg
Ym9vbCBzZWxmQ2xvc2luZykKIHsKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZVRhc2sgdGFzazsK
ICAgICB0YXNrLnBhcmVudCA9IHBhcmVudDsKICAgICB0YXNrLmNoaWxkID0gcHJwQ2hpbGQ7Cisg
ICAgdGFzay5zZWxmQ2xvc2luZyA9IHNlbGZDbG9zaW5nOwogCiAgICAgaWYgKHNob3VsZEZvc3Rl
clBhcmVudCgpKSB7CiAgICAgICAgIGZvc3RlclBhcmVudCh0YXNrLmNoaWxkKTsKQEAgLTMxNSwx
MSArMzE2LDEwIEBAIHZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydEhUTUxFbGUKIHZv
aWQgSFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydFNlbGZDbG9zaW5nSFRNTEVsZW1lbnQoQXRv
bWljSFRNTFRva2VuJiB0b2tlbikKIHsKICAgICBBU1NFUlQodG9rZW4udHlwZSgpID09IEhUTUxU
b2tlblR5cGVzOjpTdGFydFRhZyk7Ci0gICAgYXR0YWNoTGF0ZXIoY3VycmVudE5vZGUoKSwgY3Jl
YXRlSFRNTEVsZW1lbnQodG9rZW4pKTsKICAgICAvLyBOb3JtYWxseSBIVE1MRWxlbWVudFN0YWNr
IGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIGZpbmlzaFBhcnNpbmdDaGlsZHJlbiwKICAgICAv
LyBidXQgc2VsZi1jbG9zaW5nIGVsZW1lbnRzIGFyZSBuZXZlciBpbiB0aGUgZWxlbWVudCBzdGFj
ayBzbyB0aGUgc3RhY2sKICAgICAvLyBkb2Vzbid0IGdldCBhIGNoYW5jZSB0byB0ZWxsIHRoZW0g
dGhhdCB3ZSdyZSBkb25lIHBhcnNpbmcgdGhlaXIgY2hpbGRyZW4uCi0gICAgbV9hdHRhY2htZW50
UXVldWUubGFzdCgpLnNlbGZDbG9zaW5nID0gdHJ1ZTsKKyAgICBhdHRhY2hMYXRlcihjdXJyZW50
Tm9kZSgpLCBjcmVhdGVIVE1MRWxlbWVudCh0b2tlbiksIHRydWUpOwogICAgIC8vIEZJWE1FOiBE
byB3ZSB3YW50IHRvIGFja25vd2xlZGdlIHRoZSB0b2tlbidzIHNlbGYtY2xvc2luZyBmbGFnPwog
ICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsv
bXVsdGlwYWdlL3Rva2VuaXphdGlvbi5odG1sI2Fja25vd2xlZGdlLXNlbGYtY2xvc2luZy1mbGFn
CiB9CkBAIC0zNTUsOSArMzU1LDcgQEAgdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0
Rm9yZWlnbgogICAgIG5vdEltcGxlbWVudGVkKCk7IC8vIHBhcnNlRXJyb3Igd2hlbiB4bWxucyBv
ciB4bWxuczp4bGluayBhcmUgd3JvbmcuCiAKICAgICBSZWZQdHI8RWxlbWVudD4gZWxlbWVudCA9
IGNyZWF0ZUVsZW1lbnQodG9rZW4sIG5hbWVzcGFjZVVSSSk7Ci0gICAgYXR0YWNoTGF0ZXIoY3Vy
cmVudE5vZGUoKSwgZWxlbWVudCk7Ci0gICAgLy8gRklYTUU6IERvbid0IHdlIG5lZWQgdG8gc2V0
IHRoZSBzZWxmQ2xvc2luZyBmbGFnIG9uIHRoZSB0YXNrIGlmIHdlJ3JlCi0gICAgLy8gbm90IGdv
aW5nIHRvIHB1c2ggdGhlIGVsZW1lbnQgb24gdG8gdGhlIHN0YWNrIG9mIG9wZW4gZWxlbWVudHM/
CisgICAgYXR0YWNoTGF0ZXIoY3VycmVudE5vZGUoKSwgZWxlbWVudCwgdG9rZW4uc2VsZkNsb3Np
bmcoKSk7CiAgICAgaWYgKCF0b2tlbi5zZWxmQ2xvc2luZygpKQogICAgICAgICBtX29wZW5FbGVt
ZW50cy5wdXNoKGVsZW1lbnQucmVsZWFzZSgpKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAkocmV2aXNpb24gMTE4NTM5
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMTU1LDcgKzE1NSw3IEBAIHByaXZhdGU6CiAgICAgLy8gdG9rZW5z
IHByb2R1Y2Ugb25seSBvbmUgRE9NIG11dGF0aW9uLgogICAgIHR5cGVkZWYgVmVjdG9yPEhUTUxD
b25zdHJ1Y3Rpb25TaXRlVGFzaywgMT4gQXR0YWNobWVudFF1ZXVlOwogCi0gICAgdm9pZCBhdHRh
Y2hMYXRlcihDb250YWluZXJOb2RlKiBwYXJlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gY2hpbGQpOwor
ICAgIHZvaWQgYXR0YWNoTGF0ZXIoQ29udGFpbmVyTm9kZSogcGFyZW50LCBQYXNzUmVmUHRyPE5v
ZGU+IGNoaWxkLCBib29sIHNlbGZDbG9zaW5nID0gZmFsc2UpOwogCiAgICAgdm9pZCBmaW5kRm9z
dGVyU2l0ZShIVE1MQ29uc3RydWN0aW9uU2l0ZVRhc2smKTsKIApJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTE4NTUxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMDUtMjUgIFBoaWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBGaXggZm9yIHNlbGYtY2xvc2luZyA8dXNlPiB0YWdzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzUwNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctc2VsZi1jbG9z
aW5nLXVzZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1z
ZWxmLWNsb3NpbmctdXNlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTI1ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTE4Mzk1LgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctc2VsZi1j
bG9zaW5nLXVzZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9j
dXN0b20vc3ZnLXNlbGYtY2xvc2luZy11c2UtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXNlbGYtY2xvc2luZy11c2UtZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
Kzxib2R5PgorPCEtLSBUZXN0IGZvciBXSzg3NTA0IHRoYXQgPHVzZS8+IGFuZCA8dXNlPjwvdXNl
PiBhcmUgZXF1aXZhbGVudCAtLT4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+Cis8ZGVmcz4K
KyAgPHJlY3QgaWQ9InJlY3QiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIv
PgorPC9kZWZzPgorPHVzZSB4bGluazpocmVmPSIjcmVjdCI+PC91c2U+Cis8L3N2Zz4KKzwvYm9k
eT4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXNlbGYtY2xvc2luZy11c2UuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1zZWxmLWNsb3Npbmct
dXNlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1zZWxm
LWNsb3NpbmctdXNlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzwhLS0gVGVzdCBmb3IgV0s4NzUwNCB0aGF0IDx1c2Uv
PiBhbmQgPHVzZT48L3VzZT4gYXJlIGVxdWl2YWxlbnQgLS0+Cis8c3ZnIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv
eGxpbmsiPgorPGRlZnM+CisgIDxyZWN0IGlkPSJyZWN0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEw
MCIgZmlsbD0iZ3JlZW4iLz4KKzwvZGVmcz4KKzx1c2UgeGxpbms6aHJlZj0iI3JlY3QiLz4KKzwv
c3ZnPgorPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>