<?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>70896</bug_id>
          
          <creation_ts>2011-10-26 02:45:32 -0700</creation_ts>
          <short_desc>MediaStreamRegistry should hold references to MediaStreamDescriptor rather than MediaStream</short_desc>
          <delta_ts>2011-11-02 12:12:16 -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>WebCore Misc.</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>0</everconfirmed>
          <reporter name="Adam Bergkvist">adam.bergkvist</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>abarth</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>per-erik.brodin</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>490702</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2011-10-26 02:45:32 -0700</bug_when>
    <thetext>Update the MediaStreamRegistry to use MediaStreamDescriptor instead of MediaStream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494697</commentid>
    <comment_count>1</comment_count>
      <attachid>113327</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-11-02 10:18:10 -0700</bug_when>
    <thetext>Created attachment 113327
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494698</commentid>
    <comment_count>2</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-11-02 10:19:08 -0700</bug_when>
    <thetext>Adam, hope you don&apos;t mind me taking over this bug...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494706</commentid>
    <comment_count>3</comment_count>
      <attachid>113327</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-02 10:27:58 -0700</bug_when>
    <thetext>Comment on attachment 113327
Patch

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

&gt; Source/WebCore/mediastream/MediaStreamRegistry.cpp:50
&gt; +    m_streamDescriptors.set(url.string(), streamDescriptor);

streamDescriptor.release(), presumably.

&gt; Source/WebCore/mediastream/MediaStreamRegistry.cpp:59
&gt; -MediaStream* MediaStreamRegistry::mediaStream(const KURL&amp; url) const
&gt; +PassRefPtr&lt;MediaStreamDescriptor&gt; MediaStreamRegistry::lookupMediaStreamDescriptor(const String&amp; key)

The key isn&apos;t a URL?

Also, this should just return a raw pointer.  The function doesn&apos;t transfer ownership.  If you haven&apos;t read &lt;http://www.webkit.org/coding/RefPtr.html&gt;, it might help you with this sort of thing.

&gt; Source/WebCore/mediastream/MediaStreamRegistry.h:49
&gt; +    PassRefPtr&lt;MediaStreamDescriptor&gt; lookupMediaStreamDescriptor(const String&amp; key);

I don&apos;t see any callers of this function in this patch.  I&apos;m not sure whether it should take a KURL or whether it should take a String named url, but the keys do seem to be URLs.  Maybe we should wait to add this until its needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494717</commentid>
    <comment_count>4</comment_count>
      <attachid>113327</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-11-02 10:35:54 -0700</bug_when>
    <thetext>Comment on attachment 113327
Patch

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

&gt;&gt; Source/WebCore/mediastream/MediaStreamRegistry.cpp:50
&gt;&gt; +    m_streamDescriptors.set(url.string(), streamDescriptor);
&gt; 
&gt; streamDescriptor.release(), presumably.

Fixed.

&gt;&gt; Source/WebCore/mediastream/MediaStreamRegistry.cpp:59
&gt;&gt; +PassRefPtr&lt;MediaStreamDescriptor&gt; MediaStreamRegistry::lookupMediaStreamDescriptor(const String&amp; key)
&gt; 
&gt; The key isn&apos;t a URL?
&gt; 
&gt; Also, this should just return a raw pointer.  The function doesn&apos;t transfer ownership.  If you haven&apos;t read &lt;http://www.webkit.org/coding/RefPtr.html&gt;, it might help you with this sort of thing.

Sorry, i do this misstake now and then :/

This class will be extended to index MediaStream IDs as well as URLs in the next step, but I have changed the parameter name to url for now.

&gt;&gt; Source/WebCore/mediastream/MediaStreamRegistry.h:49
&gt;&gt; +    PassRefPtr&lt;MediaStreamDescriptor&gt; lookupMediaStreamDescriptor(const String&amp; key);
&gt; 
&gt; I don&apos;t see any callers of this function in this patch.  I&apos;m not sure whether it should take a KURL or whether it should take a String named url, but the keys do seem to be URLs.  Maybe we should wait to add this until its needed?

This will be called from the WebKit API that I will (re)add as soon as this patch goes in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494719</commentid>
    <comment_count>5</comment_count>
      <attachid>113330</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-11-02 10:40:23 -0700</bug_when>
    <thetext>Created attachment 113330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494723</commentid>
    <comment_count>6</comment_count>
      <attachid>113330</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-02 10:47:07 -0700</bug_when>
    <thetext>Comment on attachment 113330
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

Usually we put this information above the list of files/function names.

&gt; Source/WebCore/mediastream/MediaStreamRegistry.cpp:46
&gt; -    m_streams.add(url.string(), stream);
&gt; +    m_streamDescriptors.set(url.string(), stream-&gt;descriptor());

You wrote &quot;fixed&quot;, but this doesn&apos;t appear to have changed.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494729</commentid>
    <comment_count>7</comment_count>
      <attachid>113330</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-11-02 10:51:33 -0700</bug_when>
    <thetext>Comment on attachment 113330
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:14
&gt;&gt; +        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
&gt; 
&gt; Usually we put this information above the list of files/function names.

OK

&gt;&gt; Source/WebCore/mediastream/MediaStreamRegistry.cpp:46
&gt;&gt; +    m_streamDescriptors.set(url.string(), stream-&gt;descriptor());
&gt; 
&gt; You wrote &quot;fixed&quot;, but this doesn&apos;t appear to have changed.  :)

But I don&apos;t store the descriptor in a RefPtr any more... Just passing a raw pointer.
Realized that a stream always have a descriptor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494732</commentid>
    <comment_count>8</comment_count>
      <attachid>113334</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2011-11-02 10:54:11 -0700</bug_when>
    <thetext>Created attachment 113334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494740</commentid>
    <comment_count>9</comment_count>
      <attachid>113334</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-02 11:03:11 -0700</bug_when>
    <thetext>Comment on attachment 113334
Patch

Ah, you&apos;re right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494791</commentid>
    <comment_count>10</comment_count>
      <attachid>113334</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 12:12:11 -0700</bug_when>
    <thetext>Comment on attachment 113334
Patch

Clearing flags on attachment: 113334

Committed r99087: &lt;http://trac.webkit.org/changeset/99087&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494792</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-02 12:12:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113327</attachid>
            <date>2011-11-02 10:18:10 -0700</date>
            <delta_ts>2011-11-02 10:40:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70896-20111102181808.patch</filename>
            <type>text/plain</type>
            <size>3749</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkwNTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4OWQ2ZDg0MjJiY2Y0MWI3
ZTY4MDJmODRmNjU5ODA3Nzg3MDE4ZWJmLi4zODM0OGYyNzkzYjBmM2NmMjE0MDIxMGIyZjVkZjcw
NDAzZTRiNDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDIgIFRvbW15
IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW1S
ZWdpc3RyeSBzaG91bGQgaG9sZCByZWZlcmVuY2VzIHRvIE1lZGlhU3RyZWFtRGVzY3JpcHRvciBy
YXRoZXIgdGhhbiBNZWRpYVN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzA4OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIG1lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVN0cmVhbVVS
TCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyTWVk
aWFTdHJlYW1VUkwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6bG9v
a3VwTWVkaWFTdHJlYW1EZXNjcmlwdG9yKToKKyAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbVJlZ2lzdHJ5Lmg6CisKKyAgICAgICAgVGVzdHMgZm9yIHRoZSBNZWRpYSBTdHJlYW0gQVBJ
IHdpbGwgYmUgcHJvdmlkZWQgYnkgdGhlIGJ1ZyA1NjU4NywgcGVuZGluZyBlbm91Z2ggbGFuZGVk
IGNvZGUuCisKIDIwMTEtMTEtMDIgIEJlbiBXZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBDYW52YXMgZmlsbGluZyBwYXRocyBvciByZWN0cyBuZWVkIHRvIGJlIGludmFs
aWRhdGUgbGFyZ2VyIHJlY3RzIGZvciBzb21lIGNvbXBvc2l0aW5nIG1vZGVzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcAppbmRleCA5
NTkxNTU1NzAxZDRjYzI3YmZiNDhhZWU1M2M4ZGZmY2U2NGE5MWQ5Li5lM2Y4MDYwYjgxYmY1M2Y2
N2Y3ZDRiOTNkZTVhZDg5ODQzZjA1MjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcApAQCAtNDMsMjIgKzQzLDIzIEBAIE1lZGlh
U3RyZWFtUmVnaXN0cnkmIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdHJ5KCkKIHZvaWQgTWVk
aWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChjb25zdCBLVVJMJiB1cmws
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IHN0cmVhbSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwotICAgIG1fc3RyZWFtcy5hZGQodXJsLnN0cmluZygpLCBzdHJlYW0pOworICAgIFJl
ZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+IHN0cmVhbURlc2NyaXB0b3IgPSBzdHJlYW0tPmRl
c2NyaXB0b3IoKTsKKyAgICBpZiAoIXN0cmVhbURlc2NyaXB0b3IpCisgICAgICAgIHJldHVybjsK
KworICAgIG1fc3RyZWFtRGVzY3JpcHRvcnMuc2V0KHVybC5zdHJpbmcoKSwgc3RyZWFtRGVzY3Jp
cHRvcik7CiB9CiAKIHZvaWQgTWVkaWFTdHJlYW1SZWdpc3RyeTo6dW5yZWdpc3Rlck1lZGlhU3Ry
ZWFtVVJMKGNvbnN0IEtVUkwmIHVybCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwot
ICAgIG1fc3RyZWFtcy5yZW1vdmUodXJsLnN0cmluZygpKTsKKyAgICBtX3N0cmVhbURlc2NyaXB0
b3JzLnJlbW92ZSh1cmwuc3RyaW5nKCkpOwogfQogCi1NZWRpYVN0cmVhbSogTWVkaWFTdHJlYW1S
ZWdpc3RyeTo6bWVkaWFTdHJlYW0oY29uc3QgS1VSTCYgdXJsKSBjb25zdAorUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbURlc2NyaXB0b3I+IE1lZGlhU3RyZWFtUmVnaXN0cnk6Omxvb2t1cE1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGtleSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwotICAgIFVSTFN0cmVhbU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3N0cmVhbXMu
ZmluZCh1cmwuc3RyaW5nKCkpOwotICAgIGlmIChpdCAhPSBtX3N0cmVhbXMuZW5kKCkpCi0gICAg
ICAgIHJldHVybiBpdC0+c2Vjb25kLmdldCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBt
X3N0cmVhbURlc2NyaXB0b3JzLmdldChrZXkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lz
dHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgK
aW5kZXggMWU5Y2QyYTE1YmUzYTUyNjZjNTMwYjYwODBhOGI3ZTlmYmFmZmRlYy4uMzAyZDZhYjEw
NzM1YjlkYmUxOGJkYjgzNDA1OWY1NjNmNDZhNTg2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1SZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuaApAQCAtMjUsNiArMjUsOCBAQAogI2lm
bmRlZiBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gKICNkZWZpbmUgTWVkaWFTdHJlYW1SZWdpc3RyeV9o
CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KQEAgLTMzLDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBLVVJM
OwogY2xhc3MgTWVkaWFTdHJlYW07CitjbGFzcyBNZWRpYVN0cmVhbURlc2NyaXB0b3I7CiAKIGNs
YXNzIE1lZGlhU3RyZWFtUmVnaXN0cnkgewogcHVibGljOgpAQCAtNDIsMTMgKzQ1LDE1IEBAIHB1
YmxpYzoKICAgICAvLyBSZWdpc3RlcnMgYSBibG9iIFVSTCByZWZlcnJpbmcgdG8gdGhlIHNwZWNp
ZmllZCBzdHJlYW0gZGF0YS4KICAgICB2b2lkIHJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwoY29uc3Qg
S1VSTCYsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+KTsKICAgICB2b2lkIHVucmVnaXN0ZXJNZWRp
YVN0cmVhbVVSTChjb25zdCBLVVJMJik7Ci0gICAgTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtKGNv
bnN0IEtVUkwmKSBjb25zdDsKKworICAgIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9y
PiBsb29rdXBNZWRpYVN0cmVhbURlc2NyaXB0b3IoY29uc3QgU3RyaW5nJiBrZXkpOwogCiBwcml2
YXRlOgotICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxNZWRpYVN0cmVhbT4gPiBV
UkxTdHJlYW1NYXA7Ci0gICAgVVJMU3RyZWFtTWFwIG1fc3RyZWFtczsKKyAgICBIYXNoTWFwPFN0
cmluZywgUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gPiBtX3N0cmVhbURlc2NyaXB0b3Jz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCisjZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NUUkVBTSkKKwogI2VuZGlmIC8vIE1lZGlhU3RyZWFtUmVnaXN0cnlfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113330</attachid>
            <date>2011-11-02 10:40:23 -0700</date>
            <delta_ts>2011-11-02 10:54:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70896-20111102184021.patch</filename>
            <type>text/plain</type>
            <size>3614</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkwNTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4OWQ2ZDg0MjJiY2Y0MWI3
ZTY4MDJmODRmNjU5ODA3Nzg3MDE4ZWJmLi4zODM0OGYyNzkzYjBmM2NmMjE0MDIxMGIyZjVkZjcw
NDAzZTRiNDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDIgIFRvbW15
IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW1S
ZWdpc3RyeSBzaG91bGQgaG9sZCByZWZlcmVuY2VzIHRvIE1lZGlhU3RyZWFtRGVzY3JpcHRvciBy
YXRoZXIgdGhhbiBNZWRpYVN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzA4OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIG1lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVN0cmVhbVVS
TCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyTWVk
aWFTdHJlYW1VUkwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6bG9v
a3VwTWVkaWFTdHJlYW1EZXNjcmlwdG9yKToKKyAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbVJlZ2lzdHJ5Lmg6CisKKyAgICAgICAgVGVzdHMgZm9yIHRoZSBNZWRpYSBTdHJlYW0gQVBJ
IHdpbGwgYmUgcHJvdmlkZWQgYnkgdGhlIGJ1ZyA1NjU4NywgcGVuZGluZyBlbm91Z2ggbGFuZGVk
IGNvZGUuCisKIDIwMTEtMTEtMDIgIEJlbiBXZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBDYW52YXMgZmlsbGluZyBwYXRocyBvciByZWN0cyBuZWVkIHRvIGJlIGludmFs
aWRhdGUgbGFyZ2VyIHJlY3RzIGZvciBzb21lIGNvbXBvc2l0aW5nIG1vZGVzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcAppbmRleCA5
NTkxNTU1NzAxZDRjYzI3YmZiNDhhZWU1M2M4ZGZmY2U2NGE5MWQ5Li5lYjlmZGJiYjNiNGJiYTkw
NjRhYzBjMjIyYWQ0ZGY0YzNhMTM1MzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcApAQCAtNDMsMjIgKzQzLDE5IEBAIE1lZGlh
U3RyZWFtUmVnaXN0cnkmIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdHJ5KCkKIHZvaWQgTWVk
aWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChjb25zdCBLVVJMJiB1cmws
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IHN0cmVhbSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwotICAgIG1fc3RyZWFtcy5hZGQodXJsLnN0cmluZygpLCBzdHJlYW0pOworICAgIG1f
c3RyZWFtRGVzY3JpcHRvcnMuc2V0KHVybC5zdHJpbmcoKSwgc3RyZWFtLT5kZXNjcmlwdG9yKCkp
OwogfQogCiB2b2lkIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnVucmVnaXN0ZXJNZWRpYVN0cmVhbVVS
TChjb25zdCBLVVJMJiB1cmwpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBt
X3N0cmVhbXMucmVtb3ZlKHVybC5zdHJpbmcoKSk7CisgICAgbV9zdHJlYW1EZXNjcmlwdG9ycy5y
ZW1vdmUodXJsLnN0cmluZygpKTsKIH0KIAotTWVkaWFTdHJlYW0qIE1lZGlhU3RyZWFtUmVnaXN0
cnk6Om1lZGlhU3RyZWFtKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK01lZGlhU3RyZWFtRGVzY3Jp
cHRvciogTWVkaWFTdHJlYW1SZWdpc3RyeTo6bG9va3VwTWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNv
bnN0IFN0cmluZyYgdXJsKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgVVJM
U3RyZWFtTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3RyZWFtcy5maW5kKHVybC5zdHJpbmco
KSk7Ci0gICAgaWYgKGl0ICE9IG1fc3RyZWFtcy5lbmQoKSkKLSAgICAgICAgcmV0dXJuIGl0LT5z
ZWNvbmQuZ2V0KCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fc3RyZWFtRGVzY3JpcHRv
cnMuZ2V0KHVybCkuZ2V0KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuaCBiL1Nv
dXJjZS9XZWJDb3JlL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuaAppbmRleCAxZTlj
ZDJhMTViZTNhNTI2NmM1MzBiNjA4MGE4YjdlOWZiYWZmZGVjLi4xZjkyNzQ1MDk1ZTk0ZmU3MzQy
MDlhYzhjZTAzODcyOTdiMDA4YjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1SZWdpc3RyeS5oCkBAIC0yNSw2ICsyNSw4IEBACiAjaWZuZGVmIE1lZGlh
U3RyZWFtUmVnaXN0cnlfaAogI2RlZmluZSBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gKIAorI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCisKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAt
MzMsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEtVUkw7CiBjbGFzcyBN
ZWRpYVN0cmVhbTsKK2NsYXNzIE1lZGlhU3RyZWFtRGVzY3JpcHRvcjsKIAogY2xhc3MgTWVkaWFT
dHJlYW1SZWdpc3RyeSB7CiBwdWJsaWM6CkBAIC00MiwxMyArNDUsMTUgQEAgcHVibGljOgogICAg
IC8vIFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0byB0aGUgc3BlY2lmaWVkIHN0cmVh
bSBkYXRhLgogICAgIHZvaWQgcmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChjb25zdCBLVVJMJiwgUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbT4pOwogICAgIHZvaWQgdW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJM
KGNvbnN0IEtVUkwmKTsKLSAgICBNZWRpYVN0cmVhbSogbWVkaWFTdHJlYW0oY29uc3QgS1VSTCYp
IGNvbnN0OworCisgICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKiBsb29rdXBNZWRpYVN0cmVhbURl
c2NyaXB0b3IoY29uc3QgU3RyaW5nJiB1cmwpOwogCiBwcml2YXRlOgotICAgIHR5cGVkZWYgSGFz
aE1hcDxTdHJpbmcsIFJlZlB0cjxNZWRpYVN0cmVhbT4gPiBVUkxTdHJlYW1NYXA7Ci0gICAgVVJM
U3RyZWFtTWFwIG1fc3RyZWFtczsKKyAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcj4gPiBtX3N0cmVhbURlc2NyaXB0b3JzOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKwogI2VuZGlmIC8v
IE1lZGlhU3RyZWFtUmVnaXN0cnlfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113334</attachid>
            <date>2011-11-02 10:54:11 -0700</date>
            <delta_ts>2011-11-02 12:12:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70896-20111102185409.patch</filename>
            <type>text/plain</type>
            <size>3614</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkwNTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4OWQ2ZDg0MjJiY2Y0MWI3
ZTY4MDJmODRmNjU5ODA3Nzg3MDE4ZWJmLi45YjRmZDFlNDU5MDlhM2ZjOWI1YTZiM2I0ZGVjMjQw
YjcyYzI5MGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDIgIFRvbW15
IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW1S
ZWdpc3RyeSBzaG91bGQgaG9sZCByZWZlcmVuY2VzIHRvIE1lZGlhU3RyZWFtRGVzY3JpcHRvciBy
YXRoZXIgdGhhbiBNZWRpYVN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzA4OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92
aWRlZCBieSB0aGUgYnVnIDU2NTg3LCBwZW5kaW5nIGVub3VnaCBsYW5kZWQgY29kZS4KKworICAg
ICAgICAqIG1lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVN0cmVhbVVSTCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyTWVkaWFTdHJlYW1V
UkwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6bG9va3VwTWVkaWFT
dHJlYW1EZXNjcmlwdG9yKToKKyAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lz
dHJ5Lmg6CisKIDIwMTEtMTEtMDIgIEJlbiBXZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBDYW52YXMgZmlsbGluZyBwYXRocyBvciByZWN0cyBuZWVkIHRvIGJlIGludmFs
aWRhdGUgbGFyZ2VyIHJlY3RzIGZvciBzb21lIGNvbXBvc2l0aW5nIG1vZGVzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcAppbmRleCA5
NTkxNTU1NzAxZDRjYzI3YmZiNDhhZWU1M2M4ZGZmY2U2NGE5MWQ5Li5lYjlmZGJiYjNiNGJiYTkw
NjRhYzBjMjIyYWQ0ZGY0YzNhMTM1MzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcApAQCAtNDMsMjIgKzQzLDE5IEBAIE1lZGlh
U3RyZWFtUmVnaXN0cnkmIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdHJ5KCkKIHZvaWQgTWVk
aWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChjb25zdCBLVVJMJiB1cmws
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IHN0cmVhbSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwotICAgIG1fc3RyZWFtcy5hZGQodXJsLnN0cmluZygpLCBzdHJlYW0pOworICAgIG1f
c3RyZWFtRGVzY3JpcHRvcnMuc2V0KHVybC5zdHJpbmcoKSwgc3RyZWFtLT5kZXNjcmlwdG9yKCkp
OwogfQogCiB2b2lkIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnVucmVnaXN0ZXJNZWRpYVN0cmVhbVVS
TChjb25zdCBLVVJMJiB1cmwpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBt
X3N0cmVhbXMucmVtb3ZlKHVybC5zdHJpbmcoKSk7CisgICAgbV9zdHJlYW1EZXNjcmlwdG9ycy5y
ZW1vdmUodXJsLnN0cmluZygpKTsKIH0KIAotTWVkaWFTdHJlYW0qIE1lZGlhU3RyZWFtUmVnaXN0
cnk6Om1lZGlhU3RyZWFtKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK01lZGlhU3RyZWFtRGVzY3Jp
cHRvciogTWVkaWFTdHJlYW1SZWdpc3RyeTo6bG9va3VwTWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNv
bnN0IFN0cmluZyYgdXJsKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgVVJM
U3RyZWFtTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3RyZWFtcy5maW5kKHVybC5zdHJpbmco
KSk7Ci0gICAgaWYgKGl0ICE9IG1fc3RyZWFtcy5lbmQoKSkKLSAgICAgICAgcmV0dXJuIGl0LT5z
ZWNvbmQuZ2V0KCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fc3RyZWFtRGVzY3JpcHRv
cnMuZ2V0KHVybCkuZ2V0KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuaCBiL1Nv
dXJjZS9XZWJDb3JlL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuaAppbmRleCAxZTlj
ZDJhMTViZTNhNTI2NmM1MzBiNjA4MGE4YjdlOWZiYWZmZGVjLi4xZjkyNzQ1MDk1ZTk0ZmU3MzQy
MDlhYzhjZTAzODcyOTdiMDA4YjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1SZWdpc3RyeS5oCkBAIC0yNSw2ICsyNSw4IEBACiAjaWZuZGVmIE1lZGlh
U3RyZWFtUmVnaXN0cnlfaAogI2RlZmluZSBNZWRpYVN0cmVhbVJlZ2lzdHJ5X2gKIAorI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCisKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgpAQCAt
MzMsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEtVUkw7CiBjbGFzcyBN
ZWRpYVN0cmVhbTsKK2NsYXNzIE1lZGlhU3RyZWFtRGVzY3JpcHRvcjsKIAogY2xhc3MgTWVkaWFT
dHJlYW1SZWdpc3RyeSB7CiBwdWJsaWM6CkBAIC00MiwxMyArNDUsMTUgQEAgcHVibGljOgogICAg
IC8vIFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0byB0aGUgc3BlY2lmaWVkIHN0cmVh
bSBkYXRhLgogICAgIHZvaWQgcmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChjb25zdCBLVVJMJiwgUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbT4pOwogICAgIHZvaWQgdW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJM
KGNvbnN0IEtVUkwmKTsKLSAgICBNZWRpYVN0cmVhbSogbWVkaWFTdHJlYW0oY29uc3QgS1VSTCYp
IGNvbnN0OworCisgICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKiBsb29rdXBNZWRpYVN0cmVhbURl
c2NyaXB0b3IoY29uc3QgU3RyaW5nJiB1cmwpOwogCiBwcml2YXRlOgotICAgIHR5cGVkZWYgSGFz
aE1hcDxTdHJpbmcsIFJlZlB0cjxNZWRpYVN0cmVhbT4gPiBVUkxTdHJlYW1NYXA7Ci0gICAgVVJM
U3RyZWFtTWFwIG1fc3RyZWFtczsKKyAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcj4gPiBtX3N0cmVhbURlc2NyaXB0b3JzOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKwogI2VuZGlmIC8v
IE1lZGlhU3RyZWFtUmVnaXN0cnlfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>