<?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>136934</bug_id>
          
          <creation_ts>2014-09-18 16:56:22 -0700</creation_ts>
          <short_desc>Add a move operator and constructor override to HashSet</short_desc>
          <delta_ts>2014-09-19 10:54:27 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Roger Fong">roger_fong</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>darin</cc>
    
    <cc>roger_fong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1036020</commentid>
    <comment_count>0</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-09-18 16:56:22 -0700</bug_when>
    <thetext>We do this to ensure that the Hashtable fields are zero&apos;ed out when performing a move operation.
fast\dom\html-collections-named-getter.html fails in debug builds without this do a failing assertion that a hashset is empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036024</commentid>
    <comment_count>1</comment_count>
      <attachid>238337</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-09-18 17:03:58 -0700</bug_when>
    <thetext>Created attachment 238337
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036035</commentid>
    <comment_count>2</comment_count>
      <attachid>238342</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-09-18 18:01:30 -0700</bug_when>
    <thetext>Created attachment 238342
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036047</commentid>
    <comment_count>3</comment_count>
      <attachid>238347</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2014-09-18 18:53:00 -0700</bug_when>
    <thetext>Created attachment 238347
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036132</commentid>
    <comment_count>4</comment_count>
      <attachid>238347</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-19 08:53:40 -0700</bug_when>
    <thetext>Comment on attachment 238347
patch

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

review- because the EWS compiles failed; I think you are on the right track here, though

&gt; Source/WTF/wtf/HashSet.h:114
&gt; +        HashSet(HashSet&amp;&amp;);
&gt; +        HashSet&amp; operator=(HashSet&amp;&amp;);

We need to add regression tests for this. The file Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp already exists, so we should add tests to it. It should not be hard to test that the set moved from ends up empty and the set moved to ends up with the appropriate contents.

I would have expected that adding these should not have been necessary because HashTable class already has a move constructor and assignment operator, but perhaps there’s something I’m missing. That test will really clear up the mystery.

&gt; Source/WTF/wtf/HashSet.h:315
&gt; +    template&lt;typename Value, typename HashFunctions, typename Traits&gt;
&gt; +    inline HashSet&lt;typename Value, typename HashFunctions, typename Traits&gt;::HashSet(HashSet&amp;&amp; other)
&gt; +    {
&gt; +        swap(other);
&gt; +    }

This should instead be:

    ...
        : m_impl(WTF::move(other.m_impl))
    {
    }

The swap function does unnecessary work. I’m not sure the WTF::move is needed, by the way. Having a regression test is the key.

&gt; Source/WTF/wtf/HashSet.h:323
&gt; +    template&lt;typename T, typename U, typename V&gt;
&gt; +    inline auto HashSet&lt;T, U, V&gt;::operator=(HashSet&amp;&amp; other) -&gt; HashSet&amp;
&gt; +    {
&gt; +        HashSet temp = WTF::move(other);
&gt; +        swap(temp);
&gt; +        return *this;
&gt; +    }

This should instead be:

    ...
    {
        m_impl = WTF::move(other.m_impl);
    }

The swap function does unnecessary work. I’m not sure the WTF::move is needed, by the way. Having a regression test is the key.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036153</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-09-19 10:40:44 -0700</bug_when>
    <thetext>We should also make this windows only as well; MSVC seems buggy in this regard - the move ctor and move assignment operator should be generated automatically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036156</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-19 10:49:31 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; We should also make this windows only as well; MSVC seems buggy in this regard - the move ctor and move assignment operator should be generated automatically.

So it should be:

#if COMPILER(MSVC)

And be documented as a workaround for a compiler bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036159</commentid>
    <comment_count>7</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-09-19 10:54:27 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; We should also make this windows only as well; MSVC seems buggy in this regard - the move ctor and move assignment operator should be generated automatically.
&gt; 
&gt; So it should be:
&gt; 
&gt; #if COMPILER(MSVC)
&gt; 
&gt; And be documented as a workaround for a compiler bug.

Looking at http://blogs.msdn.com/b/vcblog/archive/2014/06/11/c-11-14-feature-tables-for-visual-studio-14-ctp1.aspx it&apos;s likely that it&apos;s been fixed in VS 2014, so I think we should check for VS2013 explicitly.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238337</attachid>
            <date>2014-09-18 17:03:58 -0700</date>
            <delta_ts>2014-09-18 18:01:30 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>2990</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNzM3NDEpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE0LTA5LTE4ICBSb2dlciBGb25nICA8cm9nZXJf
Zm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbW92ZSBvcGVyYXRvciBhbmQgY29uc3Ry
dWN0b3Igb3ZlcnJpZGUgdG8gSGFzaFNldC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzNjkzNC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9IYXNoU2V0Lmg6CisgICAgICAgIChXVEY6OlRyYWl0
cz46Okhhc2hTZXQpOiBXZSBkbyB0aGlzIHRvIGVuc3VyZSB0aGF0IHRoZSBIYXNoU2V0J3MgSGFz
aHRhYmxlJ3MgZmllbGRzIGFyZSB6ZXJvJ2VkIG91dCB3aGVuIHBlcmZvcm1pbmcgYSBtb3ZlIG9w
ZXJhdGlvbi4KKwogMjAxNC0wOS0xOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgcm9sbG91dCByMTczNzMxLiBCcm9rZSBtdWx0aXBs
ZSBidWlsZHMuCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9IYXNoU2V0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvSGFzaFNldC5oCShyZXZpc2lvbiAxNzM3MjcpCisrKyBTb3VyY2UvV1RG
L3d0Zi9IYXNoU2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsxMTAsOCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKICAgICAgICAgCiAgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBIYXNoU2V0
JikgY29uc3Q7CiAKKyAgICAgICAgSGFzaFNldChIYXNoU2V0JiYpOworICAgICAgICBIYXNoU2V0
JiBvcGVyYXRvcj0oSGFzaFNldCYmKTsKICAgICBwcml2YXRlOgogICAgICAgICBIYXNoVGFibGVU
eXBlIG1faW1wbDsKICAgICB9OwpAQCAtMzA1LDcgKzMwNywyMCBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0
cz4KKyAgICBpbmxpbmUgSGFzaFNldDx0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgSGFzaEZ1bmN0
aW9ucywgdHlwZW5hbWUgVHJhaXRzPjo6SGFzaFNldChIYXNoU2V0JiYgb3RoZXIpCisgICAgewor
ICAgICAgICBzd2FwKG90aGVyKTsKKyAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0
eXBlbmFtZSBVLCB0eXBlbmFtZSBWPgorICAgIGlubGluZSBhdXRvIEhhc2hTZXQ8VCwgVSwgVj46
Om9wZXJhdG9yPShIYXNoU2V0JiYgb3RoZXIpIC0+IEhhc2hTZXQmCisgICAgeworICAgICAgICBI
YXNoU2V0IHRlbXAgPSBXVEY6Om1vdmUob3RoZXIpOworICAgICAgICBzd2FwKHRlbXApOworICAg
ICAgICByZXR1cm4gKnRoaXM7CisgICAgfQogfSAvLyBuYW1lc3BhY2UgV1RGCiAKIHVzaW5nIFdU
Rjo6SGFzaFNldDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3Mzc0MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExIEBACisyMDE0LTA5
LTE4ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEg
bW92ZSBvcGVyYXRvciBhbmQgY29uc3RydWN0b3Igb3ZlcnJpZGUgdG8gSGFzaFNldC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjkzNC4KKworICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbnZhbGlk
YXRlTm9kZUxpc3RBbmRDb2xsZWN0aW9uQ2FjaGVzKTogUmVtb3ZlIHRoZSBub3cgdW5uZWVkZWQg
Y2FsbCB0byBjbGVhciB0aGUgSGFzaFNldC4KKwogMjAxNC0wOS0xNyAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFRleHQgbGFpZCBvdXQgd2l0aCB0
aGUgU1ZHIC0+IE9URiBmb250IGNvbnZlcnRlciBkb2VzIG5vdCBoYXZlIHRoZSBzYW1lIG1ldHJp
Y3MgYXMgd2l0aCB0aGUgU1ZHIGZvbnQgY29kZSBwYXRoCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCShy
ZXZpc2lvbiAxNzM3MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTczMiw3ICs3MzIsNiBAQCB2b2lkIERvY3VtZW50OjppbnZhbGlkYXRlTm9kZUxp
c3RBbmRDb2xsCiAgICAgbV9pbkludmFsaWRhdGVOb2RlTGlzdEFuZENvbGxlY3Rpb25DYWNoZXMg
PSB0cnVlOwogI2VuZGlmCiAgICAgSGFzaFNldDxMaXZlTm9kZUxpc3QqPiBsaXN0cyA9IFdURjo6
bW92ZShtX2xpc3RzSW52YWxpZGF0ZWRBdERvY3VtZW50KTsKLSAgICBtX2xpc3RzSW52YWxpZGF0
ZWRBdERvY3VtZW50LmNsZWFyKCk7CiAgICAgZm9yIChhdXRvKiBsaXN0IDogbGlzdHMpCiAgICAg
ICAgIGxpc3QtPmludmFsaWRhdGVDYWNoZUZvckF0dHJpYnV0ZShhdHRyTmFtZSk7CiAgICAgSGFz
aFNldDxIVE1MQ29sbGVjdGlvbio+IGNvbGxlY3Rpb25zID0gV1RGOjptb3ZlKG1fY29sbGVjdGlv
bnNJbnZhbGlkYXRlZEF0RG9jdW1lbnQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238342</attachid>
            <date>2014-09-18 18:01:30 -0700</date>
            <delta_ts>2014-09-18 18:53:00 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>3060</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNzM3NDEpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE0LTA5LTE4ICBSb2dlciBGb25nICA8cm9nZXJf
Zm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbW92ZSBvcGVyYXRvciBhbmQgY29uc3Ry
dWN0b3Igb3ZlcnJpZGUgdG8gSGFzaFNldC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzNjkzNC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9IYXNoU2V0Lmg6CisgICAgICAgIChXVEY6OlRyYWl0
cz46Okhhc2hTZXQpOiBXZSBkbyB0aGlzIHRvIGVuc3VyZSB0aGF0IHRoZSBIYXNoU2V0J3MgSGFz
aHRhYmxlJ3MgZmllbGRzIGFyZSB6ZXJvJ2VkIG91dCB3aGVuIHBlcmZvcm1pbmcgYSBtb3ZlIG9w
ZXJhdGlvbi4KKwogMjAxNC0wOS0xOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgcm9sbG91dCByMTczNzMxLiBCcm9rZSBtdWx0aXBs
ZSBidWlsZHMuCkluZGV4OiBTb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURkdlbmVyYXRlZC5tYWtl
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0hhc2hTZXQuaAkocmV2aXNpb24gMTczNzI3
KQorKysgU291cmNlL1dURi93dGYvSGFzaFNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNiAr
MTEwLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIAogICAgICAgICBib29sIG9wZXJhdG9y
PT0oY29uc3QgSGFzaFNldCYpIGNvbnN0OwogCisgICAgICAgIEhhc2hTZXQoSGFzaFNldCYmKTsK
KyAgICAgICAgSGFzaFNldCYgb3BlcmF0b3I9KEhhc2hTZXQmJik7CiAgICAgcHJpdmF0ZToKICAg
ICAgICAgSGFzaFRhYmxlVHlwZSBtX2ltcGw7CiAgICAgfTsKQEAgLTMwNSw3ICszMDcsMjAgQEAg
bmFtZXNwYWNlIFdURiB7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQor
ICAgIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25z
LCB0eXBlbmFtZSBUcmFpdHM+CisgICAgaW5saW5lIEhhc2hTZXQ8dHlwZW5hbWUgVmFsdWUsIHR5
cGVuYW1lIEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cz46Okhhc2hTZXQoSGFzaFNldCYm
IG90aGVyKQorICAgIHsKKyAgICAgICAgc3dhcChvdGhlcik7CisgICAgfQogCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgVj4KKyAgICBpbmxpbmUgYXV0byBI
YXNoU2V0PFQsIFUsIFY+OjpvcGVyYXRvcj0oSGFzaFNldCYmIG90aGVyKSAtPiBIYXNoU2V0Jgor
ICAgIHsKKyAgICAgICAgSGFzaFNldCB0ZW1wID0gV1RGOjptb3ZlKG90aGVyKTsKKyAgICAgICAg
c3dhcCh0ZW1wKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KIH0gLy8gbmFtZXNwYWNl
IFdURgogCiB1c2luZyBXVEY6Okhhc2hTZXQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzM3
NDApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMSBAQAorMjAxNC0wOS0xOCAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBhIG1vdmUgb3BlcmF0b3IgYW5kIGNvbnN0cnVjdG9yIG92ZXJyaWRlIHRv
IEhhc2hTZXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzY5MzQuCisKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6aW52YWxpZGF0ZU5vZGVMaXN0QW5kQ29sbGVjdGlvbkNhY2hlcyk6IFJlbW92ZSB0
aGUgbm93IHVubmVlZGVkIGNhbGwgdG8gY2xlYXIgdGhlIEhhc2hTZXQuCisKIDIwMTQtMDktMTcg
IE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXh0
IGxhaWQgb3V0IHdpdGggdGhlIFNWRyAtPiBPVEYgZm9udCBjb252ZXJ0ZXIgZG9lcyBub3QgaGF2
ZSB0aGUgc2FtZSBtZXRyaWNzIGFzIHdpdGggdGhlIFNWRyBmb250IGNvZGUgcGF0aApJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcAkocmV2aXNpb24gMTczNzI3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MzIsNyArNzMyLDYgQEAgdm9pZCBEb2N1bWVudDo6
aW52YWxpZGF0ZU5vZGVMaXN0QW5kQ29sbAogICAgIG1faW5JbnZhbGlkYXRlTm9kZUxpc3RBbmRD
b2xsZWN0aW9uQ2FjaGVzID0gdHJ1ZTsKICNlbmRpZgogICAgIEhhc2hTZXQ8TGl2ZU5vZGVMaXN0
Kj4gbGlzdHMgPSBXVEY6Om1vdmUobV9saXN0c0ludmFsaWRhdGVkQXREb2N1bWVudCk7Ci0gICAg
bV9saXN0c0ludmFsaWRhdGVkQXREb2N1bWVudC5jbGVhcigpOwogICAgIGZvciAoYXV0byogbGlz
dCA6IGxpc3RzKQogICAgICAgICBsaXN0LT5pbnZhbGlkYXRlQ2FjaGVGb3JBdHRyaWJ1dGUoYXR0
ck5hbWUpOwogICAgIEhhc2hTZXQ8SFRNTENvbGxlY3Rpb24qPiBjb2xsZWN0aW9ucyA9IFdURjo6
bW92ZShtX2NvbGxlY3Rpb25zSW52YWxpZGF0ZWRBdERvY3VtZW50KTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFyaS5jcHAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238347</attachid>
            <date>2014-09-18 18:53:00 -0700</date>
            <delta_ts>2014-09-19 08:53:40 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>2948</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNzM3NDYpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE0LTA5LTE4ICBSb2dlciBGb25nICA8cm9nZXJf
Zm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbW92ZSBvcGVyYXRvciBhbmQgY29uc3Ry
dWN0b3Igb3ZlcnJpZGUgdG8gSGFzaFNldC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzNjkzNC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9IYXNoU2V0Lmg6CisgICAgICAgIChXVEY6OlRyYWl0
cz46Okhhc2hTZXQpOiBXZSBkbyB0aGlzIHRvIGVuc3VyZSB0aGF0IHRoZSBIYXNoU2V0J3MgSGFz
aHRhYmxlJ3MgZmllbGRzIGFyZSB6ZXJvJ2VkIG91dCB3aGVuIHBlcmZvcm1pbmcgYSBtb3ZlIG9w
ZXJhdGlvbi4KKwogMjAxNC0wOS0xOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgcm9sbG91dCByMTczNzMxLiBCcm9rZSBtdWx0aXBs
ZSBidWlsZHMuCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9IYXNoU2V0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvSGFzaFNldC5oCShyZXZpc2lvbiAxNzM3NDYpCisrKyBTb3VyY2UvV1RG
L3d0Zi9IYXNoU2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsxMTAsOCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKICAgICAgICAgCiAgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBIYXNoU2V0
JikgY29uc3Q7CiAKKyAgICAgICAgSGFzaFNldChIYXNoU2V0JiYpOworICAgICAgICBIYXNoU2V0
JiBvcGVyYXRvcj0oSGFzaFNldCYmKTsKICAgICBwcml2YXRlOgogICAgICAgICBIYXNoVGFibGVU
eXBlIG1faW1wbDsKICAgICB9OwpAQCAtMzA1LDcgKzMwNywyMCBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0
cz4KKyAgICBpbmxpbmUgSGFzaFNldDx0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgSGFzaEZ1bmN0
aW9ucywgdHlwZW5hbWUgVHJhaXRzPjo6SGFzaFNldChIYXNoU2V0JiYgb3RoZXIpCisgICAgewor
ICAgICAgICBzd2FwKG90aGVyKTsKKyAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0
eXBlbmFtZSBVLCB0eXBlbmFtZSBWPgorICAgIGlubGluZSBhdXRvIEhhc2hTZXQ8VCwgVSwgVj46
Om9wZXJhdG9yPShIYXNoU2V0JiYgb3RoZXIpIC0+IEhhc2hTZXQmCisgICAgeworICAgICAgICBI
YXNoU2V0IHRlbXAgPSBXVEY6Om1vdmUob3RoZXIpOworICAgICAgICBzd2FwKHRlbXApOworICAg
ICAgICByZXR1cm4gKnRoaXM7CisgICAgfQogfSAvLyBuYW1lc3BhY2UgV1RGCiAKIHVzaW5nIFdU
Rjo6SGFzaFNldDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3Mzc0NikKKysrIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDExIEBACisyMDE0LTA5
LTE4ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEg
bW92ZSBvcGVyYXRvciBhbmQgY29uc3RydWN0b3Igb3ZlcnJpZGUgdG8gSGFzaFNldC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjkzNC4KKworICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbnZhbGlk
YXRlTm9kZUxpc3RBbmRDb2xsZWN0aW9uQ2FjaGVzKTogUmVtb3ZlIHRoZSBub3cgdW5uZWVkZWQg
Y2FsbCB0byBjbGVhciB0aGUgSGFzaFNldC4KKwogMjAxNC0wOS0xOCAgUm9nZXIgRm9uZyAgPHJv
Z2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5kb3dzXSBNZWRpYSB0ZXN0cyBhbGwg
ZmFpbCBiZWNhdXNlIHRoZXkgY2Fubm90IGZpbmQgbG9jYWxpemVkIHN0cmluZ3MuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCShyZXZpc2lvbiAxNzM3NDYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczMiw3ICs3MzIsNiBAQCB2b2lkIERvY3VtZW50Ojpp
bnZhbGlkYXRlTm9kZUxpc3RBbmRDb2xsCiAgICAgbV9pbkludmFsaWRhdGVOb2RlTGlzdEFuZENv
bGxlY3Rpb25DYWNoZXMgPSB0cnVlOwogI2VuZGlmCiAgICAgSGFzaFNldDxMaXZlTm9kZUxpc3Qq
PiBsaXN0cyA9IFdURjo6bW92ZShtX2xpc3RzSW52YWxpZGF0ZWRBdERvY3VtZW50KTsKLSAgICBt
X2xpc3RzSW52YWxpZGF0ZWRBdERvY3VtZW50LmNsZWFyKCk7CiAgICAgZm9yIChhdXRvKiBsaXN0
IDogbGlzdHMpCiAgICAgICAgIGxpc3QtPmludmFsaWRhdGVDYWNoZUZvckF0dHJpYnV0ZShhdHRy
TmFtZSk7CiAgICAgSGFzaFNldDxIVE1MQ29sbGVjdGlvbio+IGNvbGxlY3Rpb25zID0gV1RGOjpt
b3ZlKG1fY29sbGVjdGlvbnNJbnZhbGlkYXRlZEF0RG9jdW1lbnQpOwo=
</data>
<flag name="review"
          id="263093"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>