<?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>123025</bug_id>
          
          <creation_ts>2013-10-18 09:27:49 -0700</creation_ts>
          <short_desc>MediaStreamTrack now tracks its own state</short_desc>
          <delta_ts>2013-11-13 10:09:10 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>124288</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Thiago de Barros Lacerda">thiago.lacerda</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>tommyw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>941231</commentid>
    <comment_count>0</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-18 09:27:49 -0700</bug_when>
    <thetext>The spec says that a MediaStreamSource can be shared by different tracks, so a track must have its own state tracking.
In the old implementation if a user invoked the stop method, its readyState method was still returning the MediaStreamSource state, which was wrong.
This also adds a setEnabled method, which can be used to set the state of a track when a remote peer ends it, for instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941233</commentid>
    <comment_count>1</comment_count>
      <attachid>214581</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-18 09:30:51 -0700</bug_when>
    <thetext>Created attachment 214581
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941977</commentid>
    <comment_count>2</comment_count>
      <attachid>214581</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-10-21 12:44:00 -0700</bug_when>
    <thetext>Comment on attachment 214581
Patch

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

&gt; Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:80
&gt; +    m_state = m_source ? (TrackState) m_source-&gt;readyState() : MediaStreamTrack::New;

The space between the cast and variable is unnecessary, but I&apos;m more worried about the cast itself.  There should only be one instance of this enum, either in MediaStreamTrack, or MediaStreamSource.

So, if you reverted the m_readyState -&gt; m_state change, removed the MediaStreamTrack::TrackState enum, and kept the new setState() method (but renamed it setReadyState()), this patch would be a lot simpler.

&gt; Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:307
&gt; +    setState((TrackState) m_source-&gt;readyState());

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941978</commentid>
    <comment_count>3</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-21 12:56:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 214581 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=214581&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:80
&gt; &gt; +    m_state = m_source ? (TrackState) m_source-&gt;readyState() : MediaStreamTrack::New;
&gt; 
&gt; The space between the cast and variable is unnecessary, but I&apos;m more worried about the cast itself.  There should only be one instance of this enum, either in MediaStreamTrack, or MediaStreamSource.
&gt; 
&gt; So, if you reverted the m_readyState -&gt; m_state change, removed the MediaStreamTrack::TrackState enum, and kept the new setState() method (but renamed it setReadyState()), this patch would be a lot simpler.
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:307
&gt; &gt; +    setState((TrackState) m_source-&gt;readyState());
&gt; 
&gt; Ditto.

Sounds good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942005</commentid>
    <comment_count>4</comment_count>
      <attachid>214772</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-21 13:33:48 -0700</bug_when>
    <thetext>Created attachment 214772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942007</commentid>
    <comment_count>5</comment_count>
      <attachid>214772</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-10-21 13:37:04 -0700</bug_when>
    <thetext>Comment on attachment 214772
Patch

Looks good. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942018</commentid>
    <comment_count>6</comment_count>
      <attachid>214772</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-21 14:12:58 -0700</bug_when>
    <thetext>Comment on attachment 214772
Patch

Clearing flags on attachment: 214772

Committed r157733: &lt;http://trac.webkit.org/changeset/157733&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942019</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-21 14:13:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214581</attachid>
            <date>2013-10-18 09:30:51 -0700</date>
            <delta_ts>2013-10-21 13:33:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123025-20131018133049.patch</filename>
            <type>text/plain</type>
            <size>6785</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3NjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDJkOWQ1NzI2OWQ2YjUy
MWY2MjVhZThjODIxZjZjNDBlZWIzYzMxNS4uMDQ1YmNiMjM0Nzk4MmE0ZWNhODFmOGI1MTExNmEx
MmVkMGRmYTQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTEwLTE4ICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIE1lZGlhU3RyZWFtVHJhY2sgbm93IHRyYWNrcyBpdHMgb3duIHN0YXRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjMwMjUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc3BlYyBzYXlzIHRo
YXQgYSBNZWRpYVN0cmVhbVNvdXJjZSBjYW4gYmUgc2hhcmVkIGJ5IGRpZmZlcmVudCB0cmFja3Ms
CisgICAgICAgIHNvIGEgdHJhY2sgbXVzdCBoYXZlIGl0cyBvd24gc3RhdGUgdHJhY2tpbmcuCisg
ICAgICAgIEluIHRoZSBvbGQgaW1wbGVtZW50YXRpb24gaWYgYSB1c2VyIGludm9rZWQgdGhlIHN0
b3AgbWV0aG9kLCBpdHMgcmVhZHlTdGF0ZSBtZXRob2QKKyAgICAgICAgd2FzIHN0aWxsIHJldHVy
bmluZyB0aGUgTWVkaWFTdHJlYW1Tb3VyY2Ugc3RhdGUsIHdoaWNoIHdhcyB3cm9uZy4KKyAgICAg
ICAgVGhpcyBhbHNvIGFkZHMgYSBzZXRFbmFibGVkIG1ldGhvZCwgd2hpY2ggY2FuIGJlIHVzZWQg
dG8gc2V0IHRoZSBzdGF0ZSBvZiBhCisgICAgICAgIHRyYWNrIHdoZW4gYSByZW1vdGUgcGVlciBl
bmRzIGl0LCBmb3IgaW5zdGFuY2UuCisKKyAgICAgICAgQ292ZXJlZCBieSBvbGQgdGVzdHMuCisK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6TWVkaWFTdHJlYW1UcmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpyZWFkeVN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OnNldFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtVHJhY2s6OnN0b3BQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtVHJhY2s6OmVuZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJh
Y2s6OnNvdXJjZVN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjp0cmFja0RpZEVuZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbVRyYWNrLmg6CisKIDIwMTMtMTAtMTggIENoYW5nU2VvayBPaCAgPGNoYW5nc2Vvay5vaEBj
b2xsYWJvcmEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciAtLW5vLXN2
ZyBvcHRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAwMWJiY2RjMmNjMGQyODNkMmVjMGJiOGY5NDQ3
ZTRlMGIxZTY0NDgyLi45MDY4YjU5ODcwMmQ3MWRkMzZlOTU2ZmIwZTk2YWM2ZDc5ZWE4ZDJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFjay5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogTWVk
aWFTdHJlYW1UcmFjazo6TWVkaWFTdHJlYW1UcmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBNZWRpYVN0cmVhbVNvdXJjZSogc291cmNlLCBjb25zdCBEaWN0aW9uYXJ5KikKICAg
ICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0KQogICAgICwgbV9zb3VyY2UoMCkKLSAgICAsIG1f
cmVhZHlTdGF0ZShNZWRpYVN0cmVhbVNvdXJjZTo6TmV3KQorICAgICwgbV9zdGF0ZShNZWRpYVN0
cmVhbVRyYWNrOjpOZXcpCiAgICAgLCBtX3N0b3BwZWQoZmFsc2UpCiAgICAgLCBtX2VuYWJsZWQo
dHJ1ZSkKICAgICAsIG1fbXV0ZWQoZmFsc2UpCkBAIC03Nyw3ICs3Nyw3IEBAIE1lZGlhU3RyZWFt
VHJhY2s6Ok1lZGlhU3RyZWFtVHJhY2soTWVkaWFTdHJlYW1UcmFjayogb3RoZXIpCiAKICAgICAv
LyAzLiBMZXQgdHJhY2tDbG9uZSBpbmhlcml0IHRoaXMgdHJhY2sncyB1bmRlcmx5aW5nIHNvdXJj
ZSwga2luZCwgbGFiZWwgYW5kIGVuYWJsZWQgYXR0cmlidXRlcy4KICAgICBzZXRTb3VyY2Uob3Ro
ZXItPnNvdXJjZSgpKTsKLSAgICBtX3JlYWR5U3RhdGUgPSBtX3NvdXJjZSA/IG1fc291cmNlLT5y
ZWFkeVN0YXRlKCkgOiBNZWRpYVN0cmVhbVNvdXJjZTo6TmV3OworICAgIG1fc3RhdGUgPSBtX3Nv
dXJjZSA/IChUcmFja1N0YXRlKSBtX3NvdXJjZS0+cmVhZHlTdGF0ZSgpIDogTWVkaWFTdHJlYW1U
cmFjazo6TmV3OwogICAgIG1fZW5hYmxlZCA9IG90aGVyLT5lbmFibGVkKCk7CiAKICAgICAvLyBO
b3RlOiB0aGUgImNsb25lIiBzdGVwcyBkb24ndCBzYXkgYW55dGhpbmcgYWJvdXQgJ211dGVkJywg
YnV0IDQuMy4xIHNheXM6CkBAIC0yMTAsMTIgKzIxMCwxMiBAQCBjb25zdCBBdG9taWNTdHJpbmcm
IE1lZGlhU3RyZWFtVHJhY2s6OnJlYWR5U3RhdGUoKSBjb25zdAogICAgIGlmIChtX3N0b3BwZWQp
CiAgICAgICAgIHJldHVybiBlbmRlZDsKIAotICAgIHN3aXRjaCAobV9zb3VyY2UtPnJlYWR5U3Rh
dGUoKSkgewotICAgIGNhc2UgTWVkaWFTdHJlYW1Tb3VyY2U6OkxpdmU6CisgICAgc3dpdGNoICht
X3N0YXRlKSB7CisgICAgY2FzZSBNZWRpYVN0cmVhbVRyYWNrOjpMaXZlOgogICAgICAgICByZXR1
cm4gbGl2ZTsKLSAgICBjYXNlIE1lZGlhU3RyZWFtU291cmNlOjpOZXc6CisgICAgY2FzZSBNZWRp
YVN0cmVhbVRyYWNrOjpOZXc6CiAgICAgICAgIHJldHVybiBuZXdTdGF0ZTsKLSAgICBjYXNlIE1l
ZGlhU3RyZWFtU291cmNlOjpFbmRlZDoKKyAgICBjYXNlIE1lZGlhU3RyZWFtVHJhY2s6OkVuZGVk
OgogICAgICAgICByZXR1cm4gZW5kZWQ7CiAgICAgfQogCkBAIC0yMjMsNiArMjIzLDIwIEBAIGNv
bnN0IEF0b21pY1N0cmluZyYgTWVkaWFTdHJlYW1UcmFjazo6cmVhZHlTdGF0ZSgpIGNvbnN0CiAg
ICAgcmV0dXJuIGVtcHR5QXRvbTsKIH0KIAordm9pZCBNZWRpYVN0cmVhbVRyYWNrOjpzZXRTdGF0
ZShUcmFja1N0YXRlIHN0YXRlKQoreworICAgIGlmIChtX3N0YXRlID09IEVuZGVkIHx8IG1fc3Rh
dGUgPT0gc3RhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIFRyYWNrU3RhdGUgb2xkU3RhdGUg
PSBtX3N0YXRlOworICAgIG1fc3RhdGUgPSBzdGF0ZTsKKworICAgIGlmIChtX3N0YXRlID09IExp
dmUgJiYgb2xkU3RhdGUgPT0gTmV3KQorICAgICAgICBzY2hlZHVsZUV2ZW50RGlzcGF0Y2goRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc3RhcnRlZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKKyAg
ICBpZiAobV9zdGF0ZSA9PSBFbmRlZCAmJiBvbGRTdGF0ZSAhPSBFbmRlZCkKKyAgICAgICAgc2No
ZWR1bGVFdmVudERpc3BhdGNoKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQs
IGZhbHNlLCBmYWxzZSkpOworfQorCiB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OmdldFNvdXJjZXMo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRy
YWNrU291cmNlc0NhbGxiYWNrPiBjYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAg
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdD4gcmVxdWVzdCA9IE1lZGlhU3Ry
ZWFtVHJhY2tTb3VyY2VzUmVxdWVzdDo6Y3JlYXRlKGNvbnRleHQsIGNhbGxiYWNrKTsKQEAgLTI3
NSwxNiArMjg5LDE0IEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6c3RvcFByb2R1Y2luZ0RhdGEo
KQogCiAgICAgLy8gU2V0IG1fc3RvcHBlZCBiZWZvcmUgc3RvcHBpbmcgdGhlIHNvdXJjZSBiZWNh
dXNlIHRoYXQgbWF5IHJlc3VsdCBpbiBhIGNhbGwgdG8gc291cmNlQ2hhbmdlZFN0YXRlCiAgICAg
Ly8gYW5kIHdlIG9ubHkgd2FudCB0byBkaXNwYXRjaCB0aGUgJ2VuZGVkJyBldmVudCBpZiBuZWNl
c3NhcnkuCisgICAgc2V0U3RhdGUoRW5kZWQpOwogICAgIG1fc3RvcHBlZCA9IHRydWU7CiAgICAg
bV9zb3VyY2UtPnN0b3AoKTsKLQotICAgIGlmIChtX3JlYWR5U3RhdGUgIT0gTWVkaWFTdHJlYW1T
b3VyY2U6OkVuZGVkKQotICAgICAgICBzY2hlZHVsZUV2ZW50RGlzcGF0Y2goRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKIGJvb2wgTWVk
aWFTdHJlYW1UcmFjazo6ZW5kZWQoKSBjb25zdAogewotICAgIHJldHVybiBtX3N0b3BwZWQgfHwg
KG1fc291cmNlICYmIG1fc291cmNlLT5yZWFkeVN0YXRlKCkgPT0gTWVkaWFTdHJlYW1Tb3VyY2U6
OkVuZGVkKTsKKyAgICByZXR1cm4gbV9zdG9wcGVkIHx8IG1fc3RhdGUgPT0gRW5kZWQ7CiB9CiAK
IHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6c291cmNlU3RhdGVDaGFuZ2VkKCkKQEAgLTI5MiwxMyAr
MzA0LDcgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjpzb3VyY2VTdGF0ZUNoYW5nZWQoKQogICAg
IGlmIChtX3N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIE1lZGlhU3RyZWFtU291cmNl
OjpSZWFkeVN0YXRlIG9sZFJlYWR5U3RhdGUgPSBtX3JlYWR5U3RhdGU7Ci0gICAgbV9yZWFkeVN0
YXRlID0gbV9zb3VyY2UtPnJlYWR5U3RhdGUoKTsKLQotICAgIGlmIChtX3JlYWR5U3RhdGUgPj0g
TWVkaWFTdHJlYW1Tb3VyY2U6OkxpdmUgJiYgb2xkUmVhZHlTdGF0ZSA9PSBNZWRpYVN0cmVhbVNv
dXJjZTo6TmV3KQotICAgICAgICBzY2hlZHVsZUV2ZW50RGlzcGF0Y2goRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkuc3RhcnRlZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKLSAgICBpZiAobV9yZWFk
eVN0YXRlID09IE1lZGlhU3RyZWFtU291cmNlOjpFbmRlZCAmJiBvbGRSZWFkeVN0YXRlICE9IE1l
ZGlhU3RyZWFtU291cmNlOjpFbmRlZCkKLSAgICAgICAgc2NoZWR1bGVFdmVudERpc3BhdGNoKEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQsIGZhbHNlLCBmYWxzZSkpOworICAg
IHNldFN0YXRlKChUcmFja1N0YXRlKSBtX3NvdXJjZS0+cmVhZHlTdGF0ZSgpKTsKIH0KICAgICAK
IHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6c291cmNlTXV0ZWRDaGFuZ2VkKCkKQEAgLTM1MCw2ICsz
NTYsNyBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnRyYWNrRGlkRW5kKCkKICAgICAgICAgcmV0
dXJuOwogICAgIAogICAgIGNsaWVudC0+dHJhY2tEaWRFbmQoKTsKKyAgICBzZXRTdGF0ZShFbmRl
ZCk7CiB9CiAKIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCmluZGV4IGI1
ZGFiZDAwODk3YjRmOTg2NDBjYjU5YWUyYWZjMGNmNTA1M2FhMGYuLjcxNzczMzJhMDA3ZDdhNjlh
ZjQ0ZGY4ZDdmNTkwMzhlMjViNDM4MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC00OSw2ICs0OSw4IEBAIGNs
YXNzIE1lZGlhVHJhY2tDb25zdHJhaW50czsKIAogY2xhc3MgTWVkaWFTdHJlYW1UcmFjayA6IHB1
YmxpYyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtVHJhY2s+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxl
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0
YSwgcHVibGljIE1lZGlhU3RyZWFtU291cmNlOjpPYnNlcnZlciB7CiBwdWJsaWM6CisgICAgZW51
bSBUcmFja1N0YXRlIHsgTmV3ID0gMCwgTGl2ZSA9IDEsIEVuZGVkID0gMiB9OworCiAgICAgdmly
dHVhbCB+TWVkaWFTdHJlYW1UcmFjaygpOwogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJp
bmcmIGtpbmQoKSBjb25zdCA9IDA7CkBAIC02Myw2ICs2NSw3IEBAIHB1YmxpYzoKICAgICBib29s
IHJlbW90ZSgpIGNvbnN0OwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiByZWFkeVN0YXRlKCkg
Y29uc3Q7CisgICAgdm9pZCBzZXRTdGF0ZShUcmFja1N0YXRlKTsKIAogICAgIHN0YXRpYyB2b2lk
IGdldFNvdXJjZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8TWVkaWFTdHJl
YW1UcmFja1NvdXJjZXNDYWxsYmFjaz4sIEV4Y2VwdGlvbkNvZGUmKTsKIApAQCAtMTIwLDcgKzEy
Myw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8TWVkaWFTdHJlYW1Tb3VyY2U+IG1fc291cmNl
OwogICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gbV9jb25zdHJhaW50czsKLSAgICBN
ZWRpYVN0cmVhbVNvdXJjZTo6UmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGU7CisgICAgVHJhY2tTdGF0
ZSBtX3N0YXRlOwogICAgIG11dGFibGUgU3RyaW5nIG1faWQ7CiAgICAgTXV0ZXggbV9tdXRleDsK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214772</attachid>
            <date>2013-10-21 13:33:48 -0700</date>
            <delta_ts>2013-10-21 14:12:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123025-20131021173346.patch</filename>
            <type>text/plain</type>
            <size>5655</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3NzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzIzY2IxZDRhMWMxZDhh
MDQzMTY5NDU0Njk1ZWUwYTg1YjEzMDM5MC4uNTMzZjhhNDZkYTU2MzRhYzIwOWY0YTQyNzVkZjlm
NTc2ZWExM2VlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTEwLTIxICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIE1lZGlhU3RyZWFtVHJhY2sgbm93IHRyYWNrcyBpdHMgb3duIHN0YXRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjMwMjUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc3BlYyBzYXlzIHRo
YXQgYSBNZWRpYVN0cmVhbVNvdXJjZSBjYW4gYmUgc2hhcmVkIGJ5IGRpZmZlcmVudCB0cmFja3Ms
CisgICAgICAgIHNvIGEgdHJhY2sgbXVzdCBoYXZlIGl0cyBvd24gc3RhdGUgdHJhY2tpbmcsIHN5
bmNocm9uaXppbmcgd2l0aCBpdHMgTWVkaWFTdHJlYW1Tb3VyY2Ugd2hlbgorICAgICAgICB0aGUg
dW5kZXJseWluZyBNZWRpYVN0cmVhbVNvdXJjZSBjaGFuZ2VzIHRoZSByZWFkeVN0YXRlLgorICAg
ICAgICBJbiB0aGUgb2xkIGltcGxlbWVudGF0aW9uIGlmIGEgdXNlciBpbnZva2VkIHRoZSBzdG9w
IG1ldGhvZCwgaXRzIHJlYWR5U3RhdGUgbWV0aG9kIHdhcyBzdGlsbAorICAgICAgICByZXR1cm5p
bmcgdGhlIE1lZGlhU3RyZWFtU291cmNlIHN0YXRlLCB3aGljaCB3YXMgd3JvbmcuCisgICAgICAg
IFRoaXMgYWxzbyBhZGRzIGEgc2V0RW5hYmxlZCBtZXRob2QsIHdoaWNoIGNhbiBiZSB1c2VkIHRv
IHNldCB0aGUgc3RhdGUgb2YgYSB0cmFjayB3aGVuIGEKKyAgICAgICAgcmVtb3RlIHBlZXIgZW5k
cyBpdCwgZm9yIGluc3RhbmNlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBuZWVkZWQuCisKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6cmVhZHlTdGF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpzZXRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbVRyYWNrOjpzdG9wUHJvZHVjaW5nRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbVRyYWNrOjplbmRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNr
Ojpzb3VyY2VTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFj
azo6dHJhY2tEaWRFbmQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5oOgorCiAyMDEzLTEwLTIxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBUcmFuc2l0aW9uIG1vc3QgdXNlIG9mIElEQkJhY2tpbmdTdG9yZUxldmVs
REIgdG8gSURCQmFja2luZ1N0b3JlSW50ZXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAwMWJiY2Rj
MmNjMGQyODNkMmVjMGJiOGY5NDQ3ZTRlMGIxZTY0NDgyLi5kMWJjMzRiZGU1MGY1NDQ2N2ZjNDM3
OWNlZWI1NWJiYzJkY2Q1MGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTIwNCwxMyArMjA0LDEwIEBA
IGNvbnN0IEF0b21pY1N0cmluZyYgTWVkaWFTdHJlYW1UcmFjazo6cmVhZHlTdGF0ZSgpIGNvbnN0
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbGl2ZSgibGl2ZSIsIEF0
b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwogICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxBdG9taWNTdHJpbmc+IG5ld1N0YXRlKCJuZXciLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVj
dEZyb21MaXRlcmFsKTsKIAotICAgIGlmICghbV9zb3VyY2UpCi0gICAgICAgIHJldHVybiBuZXdT
dGF0ZTsKLQogICAgIGlmIChtX3N0b3BwZWQpCiAgICAgICAgIHJldHVybiBlbmRlZDsKIAotICAg
IHN3aXRjaCAobV9zb3VyY2UtPnJlYWR5U3RhdGUoKSkgeworICAgIHN3aXRjaCAobV9yZWFkeVN0
YXRlKSB7CiAgICAgY2FzZSBNZWRpYVN0cmVhbVNvdXJjZTo6TGl2ZToKICAgICAgICAgcmV0dXJu
IGxpdmU7CiAgICAgY2FzZSBNZWRpYVN0cmVhbVNvdXJjZTo6TmV3OgpAQCAtMjIzLDYgKzIyMCwy
MCBAQCBjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhU3RyZWFtVHJhY2s6OnJlYWR5U3RhdGUoKSBj
b25zdAogICAgIHJldHVybiBlbXB0eUF0b207CiB9CiAKK3ZvaWQgTWVkaWFTdHJlYW1UcmFjazo6
c2V0U3RhdGUoTWVkaWFTdHJlYW1Tb3VyY2U6OlJlYWR5U3RhdGUgc3RhdGUpCit7CisgICAgaWYg
KG1fcmVhZHlTdGF0ZSA9PSBNZWRpYVN0cmVhbVNvdXJjZTo6RW5kZWQgfHwgbV9yZWFkeVN0YXRl
ID09IHN0YXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBNZWRpYVN0cmVhbVNvdXJjZTo6UmVh
ZHlTdGF0ZSBvbGRTdGF0ZSA9IG1fcmVhZHlTdGF0ZTsKKyAgICBtX3JlYWR5U3RhdGUgPSBzdGF0
ZTsKKworICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gTWVkaWFTdHJlYW1Tb3VyY2U6OkxpdmUgJiYg
b2xkU3RhdGUgPT0gTWVkaWFTdHJlYW1Tb3VyY2U6Ok5ldykKKyAgICAgICAgc2NoZWR1bGVFdmVu
dERpc3BhdGNoKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0YXJ0ZWRFdmVudCwgZmFsc2Us
IGZhbHNlKSk7CisgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBNZWRpYVN0cmVhbVNvdXJjZTo6RW5k
ZWQgJiYgb2xkU3RhdGUgIT0gTWVkaWFTdHJlYW1Tb3VyY2U6OkVuZGVkKQorICAgICAgICBzY2hl
ZHVsZUV2ZW50RGlzcGF0Y2goRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZW5kZWRFdmVudCwg
ZmFsc2UsIGZhbHNlKSk7Cit9CisKIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6Z2V0U291cmNlcyhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJh
Y2tTb3VyY2VzQ2FsbGJhY2s+IGNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBS
ZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0PiByZXF1ZXN0ID0gTWVkaWFTdHJl
YW1UcmFja1NvdXJjZXNSZXF1ZXN0OjpjcmVhdGUoY29udGV4dCwgY2FsbGJhY2spOwpAQCAtMjc1
LDE2ICsyODYsMTQgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjpzdG9wUHJvZHVjaW5nRGF0YSgp
CiAKICAgICAvLyBTZXQgbV9zdG9wcGVkIGJlZm9yZSBzdG9wcGluZyB0aGUgc291cmNlIGJlY2F1
c2UgdGhhdCBtYXkgcmVzdWx0IGluIGEgY2FsbCB0byBzb3VyY2VDaGFuZ2VkU3RhdGUKICAgICAv
LyBhbmQgd2Ugb25seSB3YW50IHRvIGRpc3BhdGNoIHRoZSAnZW5kZWQnIGV2ZW50IGlmIG5lY2Vz
c2FyeS4KKyAgICBzZXRTdGF0ZShNZWRpYVN0cmVhbVNvdXJjZTo6RW5kZWQpOwogICAgIG1fc3Rv
cHBlZCA9IHRydWU7CiAgICAgbV9zb3VyY2UtPnN0b3AoKTsKLQotICAgIGlmIChtX3JlYWR5U3Rh
dGUgIT0gTWVkaWFTdHJlYW1Tb3VyY2U6OkVuZGVkKQotICAgICAgICBzY2hlZHVsZUV2ZW50RGlz
cGF0Y2goRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNl
KSk7CiB9CiAKIGJvb2wgTWVkaWFTdHJlYW1UcmFjazo6ZW5kZWQoKSBjb25zdAogewotICAgIHJl
dHVybiBtX3N0b3BwZWQgfHwgKG1fc291cmNlICYmIG1fc291cmNlLT5yZWFkeVN0YXRlKCkgPT0g
TWVkaWFTdHJlYW1Tb3VyY2U6OkVuZGVkKTsKKyAgICByZXR1cm4gbV9zdG9wcGVkIHx8IG1fcmVh
ZHlTdGF0ZSA9PSBNZWRpYVN0cmVhbVNvdXJjZTo6RW5kZWQ7CiB9CiAKIHZvaWQgTWVkaWFTdHJl
YW1UcmFjazo6c291cmNlU3RhdGVDaGFuZ2VkKCkKQEAgLTI5MiwxMyArMzAxLDcgQEAgdm9pZCBN
ZWRpYVN0cmVhbVRyYWNrOjpzb3VyY2VTdGF0ZUNoYW5nZWQoKQogICAgIGlmIChtX3N0b3BwZWQp
CiAgICAgICAgIHJldHVybjsKIAotICAgIE1lZGlhU3RyZWFtU291cmNlOjpSZWFkeVN0YXRlIG9s
ZFJlYWR5U3RhdGUgPSBtX3JlYWR5U3RhdGU7Ci0gICAgbV9yZWFkeVN0YXRlID0gbV9zb3VyY2Ut
PnJlYWR5U3RhdGUoKTsKLQotICAgIGlmIChtX3JlYWR5U3RhdGUgPj0gTWVkaWFTdHJlYW1Tb3Vy
Y2U6OkxpdmUgJiYgb2xkUmVhZHlTdGF0ZSA9PSBNZWRpYVN0cmVhbVNvdXJjZTo6TmV3KQotICAg
ICAgICBzY2hlZHVsZUV2ZW50RGlzcGF0Y2goRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc3Rh
cnRlZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKLSAgICBpZiAobV9yZWFkeVN0YXRlID09IE1lZGlh
U3RyZWFtU291cmNlOjpFbmRlZCAmJiBvbGRSZWFkeVN0YXRlICE9IE1lZGlhU3RyZWFtU291cmNl
OjpFbmRlZCkKLSAgICAgICAgc2NoZWR1bGVFdmVudERpc3BhdGNoKEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmVuZGVkRXZlbnQsIGZhbHNlLCBmYWxzZSkpOworICAgIHNldFN0YXRlKG1fc291
cmNlLT5yZWFkeVN0YXRlKCkpOwogfQogICAgIAogdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjpzb3Vy
Y2VNdXRlZENoYW5nZWQoKQpAQCAtMzUwLDYgKzM1Myw3IEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFj
azo6dHJhY2tEaWRFbmQoKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgY2xpZW50LT50cmFj
a0RpZEVuZCgpOworICAgIHNldFN0YXRlKE1lZGlhU3RyZWFtU291cmNlOjpFbmRlZCk7CiB9CiAK
IHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCmluZGV4IDNhNDQ4MmUxMDAz
YmRjMDkxZTdiYmYwZWE2YzY4YjgwYzZkNDZmNDAuLmI1MGI5ZDQ5NjdhZWI5MmNlNjBlZDYyOGUy
NDA3MGU5Y2Y1YjIwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICAg
ICBib29sIHJlbW90ZSgpIGNvbnN0OwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiByZWFkeVN0
YXRlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTdGF0ZShNZWRpYVN0cmVhbVNvdXJjZTo6UmVhZHlT
dGF0ZSk7CiAKICAgICBzdGF0aWMgdm9pZCBnZXRTb3VyY2VzKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2s+LCBFeGNlcHRp
b25Db2RlJik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>