<?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>49694</bug_id>
          
          <creation_ts>2010-11-17 15:45:25 -0800</creation_ts>
          <short_desc>Add some comments about XSLStyleSheet owner node</short_desc>
          <delta_ts>2010-11-18 11:13:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>XML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>310573</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-17 15:45:25 -0800</bug_when>
    <thetext>XSLStyleSheets come in two varieties - one is created by &lt;?xml-stylesheet?&gt; processing instruction, and another by XSLTProcessor. These are extremely different in how they handle stylesheet and owner node lifetime.

- ProcessingInstruction ones are exposed to JavaScript, so stylesheet lifetime is unpredictable.
- ProcessingInstruction clears out backpointer in its destructor.
- XSLTProcessor exposes nothing to JavaScript, and carefully manages lifetime issues without a need for arbitrary nodes&apos; destructors to clear out references to those nodes.

This is difficult to figure out by looking at existing code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310576</commentid>
    <comment_count>1</comment_count>
      <attachid>74169</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-17 15:49:25 -0800</bug_when>
    <thetext>Created attachment 74169
proposed patch

Also, renamed a function that creates embedded stylesheets from createInline() to createEmbedded(). An example of such stylesheet is

&lt;?xml-stylesheet type=&quot;text/xml&quot; href=&quot;#style1&quot;?&gt;
&lt;!DOCTYPE doc SYSTEM &quot;doc.dtd&quot;&gt;
&lt;doc&gt;
&lt;head&gt;
&lt;xsl:stylesheet id=&quot;style1&quot;
                version=&quot;1.0&quot;
                xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;
                xmlns:fo=&quot;http://www.w3.org/1999/XSL/Format&quot;&gt;
&lt;...&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310710</commentid>
    <comment_count>2</comment_count>
      <attachid>74169</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-17 22:28:38 -0800</bug_when>
    <thetext>Comment on attachment 74169
proposed patch

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

&gt; WebCore/xml/XSLStyleSheet.h:54
&gt; +    static PassRefPtr&lt;XSLStyleSheet&gt; createEmbedded(Node* parentNode, const KURL&amp; finalURL)

The only call site for this function renamed in this patch is passing a ProcessingInstruction*; that must be the only one or those others would need to use the new name.

Given that, I don’t understand why this function takes a Node* and its only the other create function that takes a ProcessingInstruction*.

&gt; WebCore/xml/XSLStyleSheetLibxslt.cpp:79
&gt; +    // It can also be some otehr node, 

Typo: &quot;otehr&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310722</commentid>
    <comment_count>3</comment_count>
      <attachid>74206</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-17 23:11:46 -0800</bug_when>
    <thetext>Created attachment 74206
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310983</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-18 11:13:25 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/72315&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74169</attachid>
            <date>2010-11-17 15:49:25 -0800</date>
            <delta_ts>2010-11-17 23:11:46 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>XSLStyleSheetOwnerNode.txt</filename>
            <type>text/plain</type>
            <size>6238</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MjI1NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMTEtMTcgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5Njk0CisgICAgICAgIEFk
ZCBzb21lIGNvbW1lbnRzIGFib3V0IFhTTFN0eWxlU2hlZXQgb3duZXIgbm9kZQorCisgICAgICAg
IE5vIGNoYW5nZSBpbiBiZWhhdmlvciwgc28gbm8gdGVzdHMuCisKKyAgICAgICAgKiBkb20vUHJv
Y2Vzc2luZ0luc3RydWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2Nlc3NpbmdJbnN0
cnVjdGlvbjo6Y2hlY2tTdHlsZVNoZWV0KToKKyAgICAgICAgKiB4bWwvWFNMU3R5bGVTaGVldC5o
OgorICAgICAgICAoV2ViQ29yZTo6WFNMU3R5bGVTaGVldDo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlhTTFN0eWxlU2hlZXQ6OmNyZWF0ZUVtYmVkZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlhTTFN0eWxlU2hlZXQ6OmNyZWF0ZUZvclhTTFRQcm9jZXNzb3IpOgorICAgICAgICAqIHhtbC9Y
U0xTdHlsZVNoZWV0TGlieHNsdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU0xTdHlsZVNoZWV0
OjpYU0xTdHlsZVNoZWV0KToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6eHNsdFN0eWxlc2hlZXRQb2ludGVyKToKKyAgICAgICAgKiB4
bWwvWFNMVFByb2Nlc3NvclF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTTFRQcm9jZXNzb3I6
OnRyYW5zZm9ybVRvU3RyaW5nKToKKwogMjAxMC0xMS0xNyAgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVh
cyBLbGluZy4KSW5kZXg6IFdlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcAkocmV2aXNp
b24gNzIxNzIpCisrKyBXZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDMsNyArMTQzLDcgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246
OmNoZWNrU3R5bGVTaAogICAgICAgICAgICAgLy8gdG8ga2ljayBvZmYgaW1wb3J0L2luY2x1ZGUg
bG9hZHMgdGhhdCBjYW4gaGFuZyBvZmYgc29tZSBwYXJlbnQgc2hlZXQuCiAgICAgICAgICAgICBp
ZiAobV9pc1hTTCkgewogICAgICAgICAgICAgICAgIEtVUkwgZmluYWxVUkwoUGFyc2VkVVJMU3Ry
aW5nLCBtX2xvY2FsSHJlZik7Ci0gICAgICAgICAgICAgICAgbV9zaGVldCA9IFhTTFN0eWxlU2hl
ZXQ6OmNyZWF0ZUlubGluZSh0aGlzLCBmaW5hbFVSTCk7CisgICAgICAgICAgICAgICAgbV9zaGVl
dCA9IFhTTFN0eWxlU2hlZXQ6OmNyZWF0ZUVtYmVkZGVkKHRoaXMsIGZpbmFsVVJMKTsKICAgICAg
ICAgICAgICAgICBtX2xvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgIH0KICNlbmRpZgpJbmRl
eDogV2ViQ29yZS94bWwvWFNMU3R5bGVTaGVldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveG1s
L1hTTFN0eWxlU2hlZXQuaAkocmV2aXNpb24gNzIxNzIpCisrKyBXZWJDb3JlL3htbC9YU0xTdHls
ZVNoZWV0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2lmIEVOQUJMRShY
U0xUKQogCisjaW5jbHVkZSAiUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgiCiAjaW5jbHVkZSAiU3R5
bGVTaGVldC5oIgogCiAjaWYgIVVTRShRWE1MUVVFUlkpCkBAIC0zNiw4ICszNyw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7Ci1jbGFzcyBE
b2N1bWVudDsKIGNsYXNzIFhTTEltcG9ydFJ1bGU7CiAgICAgCiBjbGFzcyBYU0xTdHlsZVNoZWV0
IDogcHVibGljIFN0eWxlU2hlZXQgewpAQCAtNDgsMTUgKzQ3LDIyIEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBYU0xTdHlsZVNoZWV0KHBhcmVudEltcG9ydCwgb3JpZ2lu
YWxVUkwsIGZpbmFsVVJMKSk7CiAgICAgfQogI2VuZGlmCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8
WFNMU3R5bGVTaGVldD4gY3JlYXRlKE5vZGUqIHBhcmVudE5vZGUsIGNvbnN0IFN0cmluZyYgb3Jp
Z2luYWxVUkwsIGNvbnN0IEtVUkwmIGZpbmFsVVJMKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhT
TFN0eWxlU2hlZXQ+IGNyZWF0ZShQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24qIHBhcmVudE5vZGUsIGNv
bnN0IFN0cmluZyYgb3JpZ2luYWxVUkwsIGNvbnN0IEtVUkwmIGZpbmFsVVJMKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBYU0xTdHlsZVNoZWV0KHBhcmVudE5vZGUsIG9yaWdp
bmFsVVJMLCBmaW5hbFVSTCwgZmFsc2UpKTsKICAgICB9Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
WFNMU3R5bGVTaGVldD4gY3JlYXRlSW5saW5lKE5vZGUqIHBhcmVudE5vZGUsIGNvbnN0IEtVUkwm
IGZpbmFsVVJMKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhTTFN0eWxlU2hlZXQ+IGNyZWF0ZUVt
YmVkZGVkKE5vZGUqIHBhcmVudE5vZGUsIGNvbnN0IEtVUkwmIGZpbmFsVVJMKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBYU0xTdHlsZVNoZWV0KHBhcmVudE5vZGUsIGZpbmFs
VVJMLnN0cmluZygpLCBmaW5hbFVSTCwgdHJ1ZSkpOwogICAgIH0KIAorICAgIC8vIFRha2luZyBh
biBhcmJpdHJhcnkgbm9kZSBpcyB1bnNhZmUsIGJlY2F1c2Ugb3duZXIgbm9kZSBwb2ludGVyIGNh
biBiZWNvbWUgc3RhbGUuCisgICAgLy8gWFNMVFByb2Nlc3NvciBlbnN1cmVzIHRoYXQgdGhlIHN0
eWxlc2hlZXQgZG9lc24ndCBvdXRsaXZlIGl0cyBwYXJlbnQsIGluIHBhcnQgYnkgbm90IGV4cG9z
aW5nIGl0IHRvIEphdmFTY3JpcHQuCisgICAgc3RhdGljIFBhc3NSZWZQdHI8WFNMU3R5bGVTaGVl
dD4gY3JlYXRlRm9yWFNMVFByb2Nlc3NvcihOb2RlKiBwYXJlbnROb2RlLCBjb25zdCBTdHJpbmcm
IG9yaWdpbmFsVVJMLCBjb25zdCBLVVJMJiBmaW5hbFVSTCkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgWFNMU3R5bGVTaGVldChwYXJlbnROb2RlLCBvcmlnaW5hbFVSTCwgZmlu
YWxVUkwsIGZhbHNlKSk7CisgICAgfQorCiAgICAgdmlydHVhbCB+WFNMU3R5bGVTaGVldCgpOwog
ICAgIAogICAgIHZpcnR1YWwgYm9vbCBpc1hTTFN0eWxlU2hlZXQoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CkluZGV4OiBXZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS94bWwvWFNMU3R5bGVTaGVldExpYnhzbHQuY3BwCShyZXZpc2lvbiA3
MjE3MikKKysrIFdlYkNvcmUveG1sL1hTTFN0eWxlU2hlZXRMaWJ4c2x0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzUsNiArNzUsOCBAQCBYU0xTdHlsZVNoZWV0OjpYU0xTdHlsZVNoZWV0KE5vZGUq
IHBhcmVuCiAgICAgLCBtX3N0eWxlc2hlZXREb2NUYWtlbihmYWxzZSkKICAgICAsIG1fcGFyZW50
U3R5bGVTaGVldCgwKQogeworICAgIC8vIFRoZSBwYXJlbnQgbm9kZSBtYXkgYmUgYSBQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24sIHdoaWNoIGNhbGxzIHNldE93bmVyRG9jdW1lbnQoMCkgZnJvbSBpdHMg
ZGVzdHJ1Y3Rvci4KKyAgICAvLyBJdCBjYW4gYWxzbyBiZSBzb21lIG90ZWhyIG5vZGUsIAogfQog
CiBYU0xTdHlsZVNoZWV0Ojp+WFNMU3R5bGVTaGVldCgpCkluZGV4OiBXZWJDb3JlL3htbC9YU0xU
UHJvY2Vzc29yTGlieHNsdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS94bWwvWFNMVFByb2Nl
c3NvckxpYnhzbHQuY3BwCShyZXZpc2lvbiA3MjE3MikKKysrIFdlYkNvcmUveG1sL1hTTFRQcm9j
ZXNzb3JMaWJ4c2x0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI0LDkgKzIyNCwxMiBAQCBzdGF0
aWMgdm9pZCBmcmVlWHNsdFBhcmFtQXJyYXkoY29uc3QgY2hhCiBzdGF0aWMgeHNsdFN0eWxlc2hl
ZXRQdHIgeHNsdFN0eWxlc2hlZXRQb2ludGVyKFJlZlB0cjxYU0xTdHlsZVNoZWV0PiYgY2FjaGVk
U3R5bGVzaGVldCwgTm9kZSogc3R5bGVzaGVldFJvb3ROb2RlKQogewogICAgIGlmICghY2FjaGVk
U3R5bGVzaGVldCAmJiBzdHlsZXNoZWV0Um9vdE5vZGUpIHsKLSAgICAgICAgY2FjaGVkU3R5bGVz
aGVldCA9IFhTTFN0eWxlU2hlZXQ6OmNyZWF0ZShzdHlsZXNoZWV0Um9vdE5vZGUtPnBhcmVudCgp
ID8gc3R5bGVzaGVldFJvb3ROb2RlLT5wYXJlbnQoKSA6IHN0eWxlc2hlZXRSb290Tm9kZSwKKyAg
ICAgICAgY2FjaGVkU3R5bGVzaGVldCA9IFhTTFN0eWxlU2hlZXQ6OmNyZWF0ZUZvclhTTFRQcm9j
ZXNzb3Ioc3R5bGVzaGVldFJvb3ROb2RlLT5wYXJlbnQoKSA/IHN0eWxlc2hlZXRSb290Tm9kZS0+
cGFyZW50KCkgOiBzdHlsZXNoZWV0Um9vdE5vZGUsCiAgICAgICAgICAgICBzdHlsZXNoZWV0Um9v
dE5vZGUtPmRvY3VtZW50KCktPnVybCgpLnN0cmluZygpLAogICAgICAgICAgICAgc3R5bGVzaGVl
dFJvb3ROb2RlLT5kb2N1bWVudCgpLT51cmwoKSk7IC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIGJh
c2VVUkwgaGVyZT8KKworICAgICAgICAvLyBBY2NvcmRpbmcgdG8gTW96aWxsYSBkb2N1bWVudGF0
aW9uLCB0aGUgbm9kZSBtdXN0IGJlIGEgRG9jdW1lbnQgbm9kZSwgYW4geHNsOnN0eWxlc2hlZXQg
b3IgeHNsOnRyYW5zZm9ybSBlbGVtZW50LgorICAgICAgICAvLyBCdXQgd2UganVzdCB1c2UgdGV4
dCBjb250ZW50IHJlZ2FyZGxlc3Mgb2Ygbm9kZSB0eXBlLgogICAgICAgICBjYWNoZWRTdHlsZXNo
ZWV0LT5wYXJzZVN0cmluZyhjcmVhdGVNYXJrdXAoc3R5bGVzaGVldFJvb3ROb2RlKSk7CiAgICAg
fQogCkluZGV4OiBXZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yUXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JRdC5jcHAJKHJldmlzaW9uIDcyMTcyKQorKysgV2Vi
Q29yZS94bWwvWFNMVFByb2Nlc3NvclF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE5LDkgKzEx
OSwxMiBAQCBib29sIFhTTFRQcm9jZXNzb3I6OnRyYW5zZm9ybVRvU3RyaW5nKE5vCiAgICAgUmVm
UHRyPFhTTFN0eWxlU2hlZXQ+IHN0eWxlc2hlZXQgPSBtX3N0eWxlc2hlZXQ7CiAgICAgaWYgKCFz
dHlsZXNoZWV0ICYmIG1fc3R5bGVzaGVldFJvb3ROb2RlKSB7CiAgICAgICAgIE5vZGUqIG5vZGUg
PSBtX3N0eWxlc2hlZXRSb290Tm9kZS5nZXQoKTsKLSAgICAgICAgc3R5bGVzaGVldCA9IFhTTFN0
eWxlU2hlZXQ6OmNyZWF0ZShub2RlLT5wYXJlbnQoKSA/IG5vZGUtPnBhcmVudCgpIDogbm9kZSwK
KyAgICAgICAgc3R5bGVzaGVldCA9IFhTTFN0eWxlU2hlZXQ6OmNyZWF0ZUZvclhTTFRQcm9jZXNz
b3Iobm9kZS0+cGFyZW50KCkgPyBub2RlLT5wYXJlbnQoKSA6IG5vZGUsCiAgICAgICAgICAgICBu
b2RlLT5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSwKICAgICAgICAgICAgIG5vZGUtPmRvY3Vt
ZW50KCktPnVybCgpKTsgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgYmFzZVVSTCBoZXJlPworCisg
ICAgICAgIC8vIEFjY29yZGluZyB0byBNb3ppbGxhIGRvY3VtZW50YXRpb24sIHRoZSBub2RlIG11
c3QgYmUgYSBEb2N1bWVudCBub2RlLCBhbiB4c2w6c3R5bGVzaGVldCBvciB4c2w6dHJhbnNmb3Jt
IGVsZW1lbnQuCisgICAgICAgIC8vIEJ1dCB3ZSBqdXN0IHVzZSB0ZXh0IGNvbnRlbnQgcmVnYXJk
bGVzcyBvZiBub2RlIHR5cGUuCiAgICAgICAgIHN0eWxlc2hlZXQtPnBhcnNlU3RyaW5nKGNyZWF0
ZU1hcmt1cChub2RlKSk7CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74206</attachid>
            <date>2010-11-17 23:11:46 -0800</date>
            <delta_ts>2010-11-18 11:05:51 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>XSLStyleSheetOwnerNode.txt</filename>
            <type>text/plain</type>
            <size>5715</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MjI1NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMTEtMTcgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5Njk0CisgICAgICAgIEFk
ZCBzb21lIGNvbW1lbnRzIGFib3V0IFhTTFN0eWxlU2hlZXQgb3duZXIgbm9kZQorCisgICAgICAg
IE5vIGNoYW5nZSBpbiBiZWhhdmlvciwgc28gbm8gdGVzdHMuCisKKyAgICAgICAgKiBkb20vUHJv
Y2Vzc2luZ0luc3RydWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2Nlc3NpbmdJbnN0
cnVjdGlvbjo6Y2hlY2tTdHlsZVNoZWV0KToKKyAgICAgICAgKiB4bWwvWFNMU3R5bGVTaGVldC5o
OgorICAgICAgICAoV2ViQ29yZTo6WFNMU3R5bGVTaGVldDo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlhTTFN0eWxlU2hlZXQ6OmNyZWF0ZUVtYmVkZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlhTTFN0eWxlU2hlZXQ6OmNyZWF0ZUZvclhTTFRQcm9jZXNzb3IpOgorICAgICAgICAqIHhtbC9Y
U0xTdHlsZVNoZWV0TGlieHNsdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU0xTdHlsZVNoZWV0
OjpYU0xTdHlsZVNoZWV0KToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6eHNsdFN0eWxlc2hlZXRQb2ludGVyKToKKyAgICAgICAgKiB4
bWwvWFNMVFByb2Nlc3NvclF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTTFRQcm9jZXNzb3I6
OnRyYW5zZm9ybVRvU3RyaW5nKToKKwogMjAxMC0xMS0xNyAgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVh
cyBLbGluZy4KSW5kZXg6IFdlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcAkocmV2aXNp
b24gNzIxNzIpCisrKyBXZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDMsNyArMTQzLDcgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246
OmNoZWNrU3R5bGVTaAogICAgICAgICAgICAgLy8gdG8ga2ljayBvZmYgaW1wb3J0L2luY2x1ZGUg
bG9hZHMgdGhhdCBjYW4gaGFuZyBvZmYgc29tZSBwYXJlbnQgc2hlZXQuCiAgICAgICAgICAgICBp
ZiAobV9pc1hTTCkgewogICAgICAgICAgICAgICAgIEtVUkwgZmluYWxVUkwoUGFyc2VkVVJMU3Ry
aW5nLCBtX2xvY2FsSHJlZik7Ci0gICAgICAgICAgICAgICAgbV9zaGVldCA9IFhTTFN0eWxlU2hl
ZXQ6OmNyZWF0ZUlubGluZSh0aGlzLCBmaW5hbFVSTCk7CisgICAgICAgICAgICAgICAgbV9zaGVl
dCA9IFhTTFN0eWxlU2hlZXQ6OmNyZWF0ZUVtYmVkZGVkKHRoaXMsIGZpbmFsVVJMKTsKICAgICAg
ICAgICAgICAgICBtX2xvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgIH0KICNlbmRpZgpJbmRl
eDogV2ViQ29yZS94bWwvWFNMU3R5bGVTaGVldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveG1s
L1hTTFN0eWxlU2hlZXQuaAkocmV2aXNpb24gNzIxNzIpCisrKyBXZWJDb3JlL3htbC9YU0xTdHls
ZVNoZWV0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2lmIEVOQUJMRShY
U0xUKQogCisjaW5jbHVkZSAiUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgiCiAjaW5jbHVkZSAiU3R5
bGVTaGVldC5oIgogCiAjaWYgIVVTRShRWE1MUVVFUlkpCkBAIC0zNiw4ICszNyw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7Ci1jbGFzcyBE
b2N1bWVudDsKIGNsYXNzIFhTTEltcG9ydFJ1bGU7CiAgICAgCiBjbGFzcyBYU0xTdHlsZVNoZWV0
IDogcHVibGljIFN0eWxlU2hlZXQgewpAQCAtNDgsMTUgKzQ3LDIyIEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBYU0xTdHlsZVNoZWV0KHBhcmVudEltcG9ydCwgb3JpZ2lu
YWxVUkwsIGZpbmFsVVJMKSk7CiAgICAgfQogI2VuZGlmCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8
WFNMU3R5bGVTaGVldD4gY3JlYXRlKE5vZGUqIHBhcmVudE5vZGUsIGNvbnN0IFN0cmluZyYgb3Jp
Z2luYWxVUkwsIGNvbnN0IEtVUkwmIGZpbmFsVVJMKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhT
TFN0eWxlU2hlZXQ+IGNyZWF0ZShQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24qIHBhcmVudE5vZGUsIGNv
bnN0IFN0cmluZyYgb3JpZ2luYWxVUkwsIGNvbnN0IEtVUkwmIGZpbmFsVVJMKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBYU0xTdHlsZVNoZWV0KHBhcmVudE5vZGUsIG9yaWdp
bmFsVVJMLCBmaW5hbFVSTCwgZmFsc2UpKTsKICAgICB9Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
WFNMU3R5bGVTaGVldD4gY3JlYXRlSW5saW5lKE5vZGUqIHBhcmVudE5vZGUsIGNvbnN0IEtVUkwm
IGZpbmFsVVJMKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhTTFN0eWxlU2hlZXQ+IGNyZWF0ZUVt
YmVkZGVkKFByb2Nlc3NpbmdJbnN0cnVjdGlvbiogcGFyZW50Tm9kZSwgY29uc3QgS1VSTCYgZmlu
YWxVUkwpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFhTTFN0eWxlU2hlZXQo
cGFyZW50Tm9kZSwgZmluYWxVUkwuc3RyaW5nKCksIGZpbmFsVVJMLCB0cnVlKSk7CiAgICAgfQog
CisgICAgLy8gVGFraW5nIGFuIGFyYml0cmFyeSBub2RlIGlzIHVuc2FmZSwgYmVjYXVzZSBvd25l
ciBub2RlIHBvaW50ZXIgY2FuIGJlY29tZSBzdGFsZS4KKyAgICAvLyBYU0xUUHJvY2Vzc29yIGVu
c3VyZXMgdGhhdCB0aGUgc3R5bGVzaGVldCBkb2Vzbid0IG91dGxpdmUgaXRzIHBhcmVudCwgaW4g
cGFydCBieSBub3QgZXhwb3NpbmcgaXQgdG8gSmF2YVNjcmlwdC4KKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxYU0xTdHlsZVNoZWV0PiBjcmVhdGVGb3JYU0xUUHJvY2Vzc29yKE5vZGUqIHBhcmVudE5v
ZGUsIGNvbnN0IFN0cmluZyYgb3JpZ2luYWxVUkwsIGNvbnN0IEtVUkwmIGZpbmFsVVJMKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBYU0xTdHlsZVNoZWV0KHBhcmVudE5vZGUs
IG9yaWdpbmFsVVJMLCBmaW5hbFVSTCwgZmFsc2UpKTsKKyAgICB9CisKICAgICB2aXJ0dWFsIH5Y
U0xTdHlsZVNoZWV0KCk7CiAgICAgCiAgICAgdmlydHVhbCBib29sIGlzWFNMU3R5bGVTaGVldCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KSW5kZXg6IFdlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JM
aWJ4c2x0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNs
dC5jcHAJKHJldmlzaW9uIDcyMTcyKQorKysgV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhz
bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjQsOSArMjI0LDEyIEBAIHN0YXRpYyB2b2lkIGZy
ZWVYc2x0UGFyYW1BcnJheShjb25zdCBjaGEKIHN0YXRpYyB4c2x0U3R5bGVzaGVldFB0ciB4c2x0
U3R5bGVzaGVldFBvaW50ZXIoUmVmUHRyPFhTTFN0eWxlU2hlZXQ+JiBjYWNoZWRTdHlsZXNoZWV0
LCBOb2RlKiBzdHlsZXNoZWV0Um9vdE5vZGUpCiB7CiAgICAgaWYgKCFjYWNoZWRTdHlsZXNoZWV0
ICYmIHN0eWxlc2hlZXRSb290Tm9kZSkgewotICAgICAgICBjYWNoZWRTdHlsZXNoZWV0ID0gWFNM
U3R5bGVTaGVldDo6Y3JlYXRlKHN0eWxlc2hlZXRSb290Tm9kZS0+cGFyZW50KCkgPyBzdHlsZXNo
ZWV0Um9vdE5vZGUtPnBhcmVudCgpIDogc3R5bGVzaGVldFJvb3ROb2RlLAorICAgICAgICBjYWNo
ZWRTdHlsZXNoZWV0ID0gWFNMU3R5bGVTaGVldDo6Y3JlYXRlRm9yWFNMVFByb2Nlc3NvcihzdHls
ZXNoZWV0Um9vdE5vZGUtPnBhcmVudCgpID8gc3R5bGVzaGVldFJvb3ROb2RlLT5wYXJlbnQoKSA6
IHN0eWxlc2hlZXRSb290Tm9kZSwKICAgICAgICAgICAgIHN0eWxlc2hlZXRSb290Tm9kZS0+ZG9j
dW1lbnQoKS0+dXJsKCkuc3RyaW5nKCksCiAgICAgICAgICAgICBzdHlsZXNoZWV0Um9vdE5vZGUt
PmRvY3VtZW50KCktPnVybCgpKTsgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgYmFzZVVSTCBoZXJl
PworCisgICAgICAgIC8vIEFjY29yZGluZyB0byBNb3ppbGxhIGRvY3VtZW50YXRpb24sIHRoZSBu
b2RlIG11c3QgYmUgYSBEb2N1bWVudCBub2RlLCBhbiB4c2w6c3R5bGVzaGVldCBvciB4c2w6dHJh
bnNmb3JtIGVsZW1lbnQuCisgICAgICAgIC8vIEJ1dCB3ZSBqdXN0IHVzZSB0ZXh0IGNvbnRlbnQg
cmVnYXJkbGVzcyBvZiBub2RlIHR5cGUuCiAgICAgICAgIGNhY2hlZFN0eWxlc2hlZXQtPnBhcnNl
U3RyaW5nKGNyZWF0ZU1hcmt1cChzdHlsZXNoZWV0Um9vdE5vZGUpKTsKICAgICB9CiAKSW5kZXg6
IFdlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS94
bWwvWFNMVFByb2Nlc3NvclF0LmNwcAkocmV2aXNpb24gNzIxNzIpCisrKyBXZWJDb3JlL3htbC9Y
U0xUUHJvY2Vzc29yUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTksOSArMTE5LDEyIEBAIGJv
b2wgWFNMVFByb2Nlc3Nvcjo6dHJhbnNmb3JtVG9TdHJpbmcoTm8KICAgICBSZWZQdHI8WFNMU3R5
bGVTaGVldD4gc3R5bGVzaGVldCA9IG1fc3R5bGVzaGVldDsKICAgICBpZiAoIXN0eWxlc2hlZXQg
JiYgbV9zdHlsZXNoZWV0Um9vdE5vZGUpIHsKICAgICAgICAgTm9kZSogbm9kZSA9IG1fc3R5bGVz
aGVldFJvb3ROb2RlLmdldCgpOwotICAgICAgICBzdHlsZXNoZWV0ID0gWFNMU3R5bGVTaGVldDo6
Y3JlYXRlKG5vZGUtPnBhcmVudCgpID8gbm9kZS0+cGFyZW50KCkgOiBub2RlLAorICAgICAgICBz
dHlsZXNoZWV0ID0gWFNMU3R5bGVTaGVldDo6Y3JlYXRlRm9yWFNMVFByb2Nlc3Nvcihub2RlLT5w
YXJlbnQoKSA/IG5vZGUtPnBhcmVudCgpIDogbm9kZSwKICAgICAgICAgICAgIG5vZGUtPmRvY3Vt
ZW50KCktPnVybCgpLnN0cmluZygpLAogICAgICAgICAgICAgbm9kZS0+ZG9jdW1lbnQoKS0+dXJs
KCkpOyAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBiYXNlVVJMIGhlcmU/CisKKyAgICAgICAgLy8g
QWNjb3JkaW5nIHRvIE1vemlsbGEgZG9jdW1lbnRhdGlvbiwgdGhlIG5vZGUgbXVzdCBiZSBhIERv
Y3VtZW50IG5vZGUsIGFuIHhzbDpzdHlsZXNoZWV0IG9yIHhzbDp0cmFuc2Zvcm0gZWxlbWVudC4K
KyAgICAgICAgLy8gQnV0IHdlIGp1c3QgdXNlIHRleHQgY29udGVudCByZWdhcmRsZXNzIG9mIG5v
ZGUgdHlwZS4KICAgICAgICAgc3R5bGVzaGVldC0+cGFyc2VTdHJpbmcoY3JlYXRlTWFya3VwKG5v
ZGUpKTsKICAgICB9CiAK
</data>
<flag name="review"
          id="64768"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>