<?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>158338</bug_id>
          
          <creation_ts>2016-06-02 20:41:52 -0700</creation_ts>
          <short_desc>Fix AtomicString regression caused by r201603</short_desc>
          <delta_ts>2016-06-03 08:36:28 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=158293</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1198847</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-02 20:41:52 -0700</bug_when>
    <thetext>Fix AtomicString regression caused by r201603

http://trac.webkit.org/changeset/201603

Discussion of the regression is in the bug: https://bugs.webkit.org/show_bug.cgi?id=158293</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198848</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 20:43:08 -0700</bug_when>
    <thetext>rdar://problem/26612033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198849</commentid>
    <comment_count>2</comment_count>
      <attachid>280421</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-02 20:43:10 -0700</bug_when>
    <thetext>Created attachment 280421
WIP just to show my plan

This patch is incomplete and I haven&apos;t even fully built yet, but this is what I plan on doing to replace the old busted mechanism.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198850</commentid>
    <comment_count>3</comment_count>
      <attachid>280421</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 20:45:49 -0700</bug_when>
    <thetext>Comment on attachment 280421
WIP just to show my plan

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

&gt; Source/WebCore/platform/network/ResourceResponseBase.h:62
&gt; +        ResourceResponse createResponse() const;

I which we would use an (implicit) ResponseResponse constructor for this instead, to make the call sites a bit simpler.

&gt; Source/WebCore/platform/network/ResourceResponseBase.h:65
&gt; +    std::unique_ptr&lt;CrossThreadData&gt; crossThreadData() const;

This does not really need to return a unique_ptr&lt;&gt; right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198851</commentid>
    <comment_count>4</comment_count>
      <attachid>280421</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 20:46:16 -0700</bug_when>
    <thetext>Comment on attachment 280421
WIP just to show my plan

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

&gt;&gt; Source/WebCore/platform/network/ResourceResponseBase.h:62
&gt;&gt; +        ResourceResponse createResponse() const;
&gt; 
&gt; I which we would use an (implicit) ResponseResponse constructor for this instead, to make the call sites a bit simpler.

I meant, I wish! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198862</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-02 22:04:32 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 280421 [details]
&gt; WIP just to show my plan
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=280421&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/ResourceResponseBase.h:62
&gt; &gt; +        ResourceResponse createResponse() const;
&gt; 
&gt; I which we would use an (implicit) ResponseResponse constructor for this
&gt; instead, to make the call sites a bit simpler.

I&apos;d be against an implicit constructor, as it would hide the &quot;magic&quot; that&apos;s happening here.

What we&apos;re doing here is rather non-obvious, and trying to hide it wouldn&apos;t be great for future readability.

But another reason why I don&apos;t want to add even and explicit constructor is because of the ridiculous relationship between ResourceResponseBase and ResourceResponse - of which there are 3 completely separate implementations. Touching all the platforms and duplicating all the code... doesn&apos;t seem like a great idea.

I&apos;d rather *improve* the current platform-specific-response situation, and that would just make it worse again.

&gt; 
&gt; &gt; Source/WebCore/platform/network/ResourceResponseBase.h:65
&gt; &gt; +    std::unique_ptr&lt;CrossThreadData&gt; crossThreadData() const;
&gt; 
&gt; This does not really need to return a unique_ptr&lt;&gt; right?

Strictly? No.

But it needs to be non copyable, and it turns out making a non copyable object and putting it on the stack and then getting it to compile requires a lot of gross &amp;&amp;&apos;s and WTFMoves - Way more than you might expect.

(I know because I tried)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198863</commentid>
    <comment_count>6</comment_count>
      <attachid>280425</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-02 22:07:18 -0700</bug_when>
    <thetext>Created attachment 280425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198864</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-02 22:08:25 -0700</bug_when>
    <thetext>I don&apos;t think this patch makes the lambda site any grosser - It&apos;s still the same number of lines of code, still init-in-capture. It&apos;s also quite clear what&apos;s going on to somebody reading the code but unfamiliar with ResourceResponse&apos;s impl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198865</commentid>
    <comment_count>8</comment_count>
      <attachid>280425</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 22:19:30 -0700</bug_when>
    <thetext>Comment on attachment 280425
Patch

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

R=me

&gt; Source/WebCore/platform/network/ResourceResponseBase.h:62
&gt; +        ResourceResponse createResponse();

I think I would have have preferred a static method on ResourceResponseBase. E.g. ResourceResponse::fromCrossThreadData(CrossThreadData&amp;&amp;) or ResourceResponse::adoptCrossThreadData(CrossThreadData&amp;&amp;). It seems a bit odd to have a factory on the cross-thread struct, especially considering to kind of makes the cross-thread data useless (since it WTFMoves httpHeaderFields for e.g.). Using a static function a WTFMove() makes it more OK to WTFMove() members. Also note that with my proposal, there is no real benefit to using unique_ptr I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198866</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-02 22:22:34 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 280425 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=280425&amp;action=review
&gt; 
&gt; R=me
&gt; 
&gt; &gt; Source/WebCore/platform/network/ResourceResponseBase.h:62
&gt; &gt; +        ResourceResponse createResponse();
&gt; 
&gt; I think I would have have preferred a static method on ResourceResponseBase.
&gt; E.g. ResourceResponse::fromCrossThreadData(CrossThreadData&amp;&amp;) or
&gt; ResourceResponse::adoptCrossThreadData(CrossThreadData&amp;&amp;). 

I&apos;ll move the method as suggested.

&gt; It seems a bit
&gt; odd to have a factory on the cross-thread struct, especially considering to
&gt; kind of makes the cross-thread data useless (since it WTFMoves
&gt; httpHeaderFields for e.g.). Using a static function a WTFMove() makes it
&gt; more OK to WTFMove() members. Also note that with my proposal, there is no
&gt; real benefit to using unique_ptr I believe.

Believe me, there is. I can walk you through the compiler goose hunt it causes if you&apos;d like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198868</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 22:26:33 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Comment on attachment 280425 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=280425&amp;action=review
&gt; &gt; 
&gt; &gt; R=me
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/network/ResourceResponseBase.h:62
&gt; &gt; &gt; +        ResourceResponse createResponse();
&gt; &gt; 
&gt; &gt; I think I would have have preferred a static method on ResourceResponseBase.
&gt; &gt; E.g. ResourceResponse::fromCrossThreadData(CrossThreadData&amp;&amp;) or
&gt; &gt; ResourceResponse::adoptCrossThreadData(CrossThreadData&amp;&amp;). 
&gt; 
&gt; I&apos;ll move the method as suggested.
&gt; 
&gt; &gt; It seems a bit
&gt; &gt; odd to have a factory on the cross-thread struct, especially considering to
&gt; &gt; kind of makes the cross-thread data useless (since it WTFMoves
&gt; &gt; httpHeaderFields for e.g.). Using a static function a WTFMove() makes it
&gt; &gt; more OK to WTFMove() members. Also note that with my proposal, there is no
&gt; &gt; real benefit to using unique_ptr I believe.
&gt; 
&gt; Believe me, there is. I can walk you through the compiler goose hunt it
&gt; causes if you&apos;d like.

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198872</commentid>
    <comment_count>11</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-02 22:30:40 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; Comment on attachment 280425 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=280425&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; R=me
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/network/ResourceResponseBase.h:62
&gt; &gt; &gt; &gt; +        ResourceResponse createResponse();
&gt; &gt; &gt; 
&gt; &gt; &gt; I think I would have have preferred a static method on ResourceResponseBase.
&gt; &gt; &gt; E.g. ResourceResponse::fromCrossThreadData(CrossThreadData&amp;&amp;) or
&gt; &gt; &gt; ResourceResponse::adoptCrossThreadData(CrossThreadData&amp;&amp;). 
&gt; &gt; 
&gt; &gt; I&apos;ll move the method as suggested.
&gt; &gt; 
&gt; &gt; &gt; It seems a bit
&gt; &gt; &gt; odd to have a factory on the cross-thread struct, especially considering to
&gt; &gt; &gt; kind of makes the cross-thread data useless (since it WTFMoves
&gt; &gt; &gt; httpHeaderFields for e.g.). Using a static function a WTFMove() makes it
&gt; &gt; &gt; more OK to WTFMove() members. Also note that with my proposal, there is no
&gt; &gt; &gt; real benefit to using unique_ptr I believe.
&gt; &gt; 
&gt; &gt; Believe me, there is. I can walk you through the compiler goose hunt it
&gt; &gt; causes if you&apos;d like.
&gt; 
&gt; Ok.

I meant like tomorrow in person, because I need to get this landed tonight before crashing.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198873</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 22:31:30 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; &gt; Comment on attachment 280425 [details]
&gt; &gt; &gt; &gt; Patch
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; View in context:
&gt; &gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=280425&amp;action=review
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; R=me
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Source/WebCore/platform/network/ResourceResponseBase.h:62
&gt; &gt; &gt; &gt; &gt; +        ResourceResponse createResponse();
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I think I would have have preferred a static method on ResourceResponseBase.
&gt; &gt; &gt; &gt; E.g. ResourceResponse::fromCrossThreadData(CrossThreadData&amp;&amp;) or
&gt; &gt; &gt; &gt; ResourceResponse::adoptCrossThreadData(CrossThreadData&amp;&amp;). 
&gt; &gt; &gt; 
&gt; &gt; &gt; I&apos;ll move the method as suggested.
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; It seems a bit
&gt; &gt; &gt; &gt; odd to have a factory on the cross-thread struct, especially considering to
&gt; &gt; &gt; &gt; kind of makes the cross-thread data useless (since it WTFMoves
&gt; &gt; &gt; &gt; httpHeaderFields for e.g.). Using a static function a WTFMove() makes it
&gt; &gt; &gt; &gt; more OK to WTFMove() members. Also note that with my proposal, there is no
&gt; &gt; &gt; &gt; real benefit to using unique_ptr I believe.
&gt; &gt; &gt; 
&gt; &gt; &gt; Believe me, there is. I can walk you through the compiler goose hunt it
&gt; &gt; &gt; causes if you&apos;d like.
&gt; &gt; 
&gt; &gt; Ok.
&gt; 
&gt; I meant like tomorrow in person, because I need to get this landed tonight
&gt; before crashing.  :)

Oh, I meant OK to land using unique_ptr. But I am happy to get more details tomorrow too ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198876</commentid>
    <comment_count>13</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-02 22:38:23 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; 
&gt; &gt; I meant like tomorrow in person, because I need to get this landed tonight
&gt; &gt; before crashing.  :)
&gt; 
&gt; Oh, I meant OK to land using unique_ptr. But I am happy to get more details
&gt; tomorrow too ;)

Right - I figured that&apos;s what r+ meant 👏</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198934</commentid>
    <comment_count>14</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-03 08:36:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/201637</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280421</attachid>
            <date>2016-06-02 20:43:10 -0700</date>
            <delta_ts>2016-06-02 22:07:14 -0700</delta_ts>
            <desc>WIP just to show my plan</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3437</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5jcHAKaW5kZXggNWI1Mjg3Ni4uZmJhYTU4NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAK
QEAgLTYzLDIzICs2Myw0MiBAQCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6UmVzb3VyY2VSZXNwb25z
ZUJhc2UoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cAogewogfQogCi1SZXNv
dXJjZVJlc3BvbnNlIFJlc291cmNlUmVzcG9uc2VCYXNlOjppc29sYXRlZENvcHkoKSBjb25zdAor
c3RkOjp1bmlxdWVfcHRyPFJlc291cmNlUmVzcG9uc2VCYXNlOjpDcm9zc1RocmVhZERhdGE+IFJl
c291cmNlUmVzcG9uc2VCYXNlOjpjcm9zc1RocmVhZERhdGEoKSBjb25zdAoreworICAgIGF1dG8g
ZGF0YSA9IHN0ZDo6bWFrZV91bmlxdWU8Q3Jvc3NUaHJlYWREYXRhPigpOworCisgICAgZGF0YS0+
dXJsID0gdXJsKCkuaXNvbGF0ZWRDb3B5KCk7CisgICAgZGF0YS0+bWltZVR5cGUgPSBtaW1lVHlw
ZSgpLmlzb2xhdGVkQ29weSgpOworICAgIGRhdGEtPmV4cGVjdGVkQ29udGVudExlbmd0aCA9IGV4
cGVjdGVkQ29udGVudExlbmd0aCgpOworICAgIGRhdGEtPnRleHRFbmNvZGluZ05hbWUgPSB0ZXh0
RW5jb2RpbmdOYW1lKCkuaXNvbGF0ZWRDb3B5KCk7CisKKyAgICBkYXRhLT5odHRwU3RhdHVzQ29k
ZSA9IGh0dHBTdGF0dXNDb2RlKCk7CisgICAgZGF0YS0+aHR0cFN0YXR1c1RleHQgPSBodHRwU3Rh
dHVzVGV4dCgpLmlzb2xhdGVkQ29weSgpOworICAgIGRhdGEtPmh0dHBWZXJzaW9uID0gaHR0cFZl
cnNpb24oKS5pc29sYXRlZENvcHkoKTsKKworICAgIGRhdGEtPmh0dHBIZWFkZXJGaWVsZHMgPSBo
dHRwSGVhZGVyRmllbGRzKCkuaXNvbGF0ZWRDb3B5KCk7CisgICAgZGF0YS0+cmVzb3VyY2VMb2Fk
VGltaW5nID0gbV9yZXNvdXJjZUxvYWRUaW1pbmcuaXNvbGF0ZWRDb3B5KCk7CisgICAgZGF0YS0+
dHlwZSA9IG1fdHlwZTsKKworICAgIHJldHVybiBkYXRhOworfQorCitSZXNvdXJjZVJlc3BvbnNl
IFJlc291cmNlUmVzcG9uc2VCYXNlOjpDcm9zc1RocmVhZERhdGE6OmNyZWF0ZVJlc3BvbnNlKCkg
Y29uc3QKIHsKICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlOwogCi0gICAgcmVzcG9uc2Uu
c2V0VVJMKHVybCgpLmlzb2xhdGVkQ29weSgpKTsKLSAgICByZXNwb25zZS5zZXRNaW1lVHlwZSht
aW1lVHlwZSgpLmlzb2xhdGVkQ29weSgpKTsKLSAgICByZXNwb25zZS5zZXRFeHBlY3RlZENvbnRl
bnRMZW5ndGgoZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCkpOwotICAgIHJlc3BvbnNlLnNldFRleHRF
bmNvZGluZ05hbWUodGV4dEVuY29kaW5nTmFtZSgpLmlzb2xhdGVkQ29weSgpKTsKKyAgICByZXNw
b25zZS5zZXRVUkwodXJsKTsKKyAgICByZXNwb25zZS5zZXRNaW1lVHlwZShtaW1lVHlwZSk7Cisg
ICAgcmVzcG9uc2Uuc2V0RXhwZWN0ZWRDb250ZW50TGVuZ3RoKGV4cGVjdGVkQ29udGVudExlbmd0
aCk7CisgICAgcmVzcG9uc2Uuc2V0VGV4dEVuY29kaW5nTmFtZSh0ZXh0RW5jb2RpbmdOYW1lKTsK
IAotICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNDb2RlKGh0dHBTdGF0dXNDb2RlKCkpOwotICAg
IHJlc3BvbnNlLnNldEhUVFBTdGF0dXNUZXh0KGh0dHBTdGF0dXNUZXh0KCkuaXNvbGF0ZWRDb3B5
KCkpOwotICAgIHJlc3BvbnNlLnNldEhUVFBWZXJzaW9uKGh0dHBWZXJzaW9uKCkuaXNvbGF0ZWRD
b3B5KCkpOworICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNDb2RlKGh0dHBTdGF0dXNDb2RlKTsK
KyAgICByZXNwb25zZS5zZXRIVFRQU3RhdHVzVGV4dChodHRwU3RhdHVzVGV4dCk7CisgICAgcmVz
cG9uc2Uuc2V0SFRUUFZlcnNpb24oaHR0cFZlcnNpb24pOwogCi0gICAgcmVzcG9uc2UubGF6eUlu
aXQoQWxsRmllbGRzKTsKLSAgICByZXNwb25zZS5tX2h0dHBIZWFkZXJGaWVsZHMgPSBodHRwSGVh
ZGVyRmllbGRzKCkuaXNvbGF0ZWRDb3B5KCk7Ci0gICAgcmVzcG9uc2UubV9yZXNvdXJjZUxvYWRU
aW1pbmcgPSBtX3Jlc291cmNlTG9hZFRpbWluZy5pc29sYXRlZENvcHkoKTsKLSAgICByZXNwb25z
ZS5tX3R5cGUgPSBtX3R5cGU7CisgICAgcmVzcG9uc2UubV9odHRwSGVhZGVyRmllbGRzID0gV1RG
TW92ZShodHRwSGVhZGVyRmllbGRzKTsKKyAgICByZXNwb25zZS5tX3Jlc291cmNlTG9hZFRpbWlu
ZyA9IHJlc291cmNlTG9hZFRpbWluZzsKKyAgICByZXNwb25zZS5tX3R5cGUgPSB0eXBlOwogCiAg
ICAgcmV0dXJuIHJlc3BvbnNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IGFkNTEwN2YuLmE0YmFjNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKQEAgLTQ1LDcgKzQ1LDI0IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6Ci0gICAgUmVzb3VyY2VSZXNwb25zZSBpc29sYXRlZENvcHkoKSBjb25zdDsK
KyAgICBlbnVtIGNsYXNzIFR5cGU7CisKKyAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWREYXRhIHsKKyAg
ICAgICAgVVJMIHVybDsKKyAgICAgICAgU3RyaW5nIG1pbWVUeXBlOworICAgICAgICBsb25nIGxv
bmcgZXhwZWN0ZWRDb250ZW50TGVuZ3RoOworICAgICAgICBTdHJpbmcgdGV4dEVuY29kaW5nTmFt
ZTsKKyAgICAgICAgaW50IGh0dHBTdGF0dXNDb2RlOworICAgICAgICBTdHJpbmcgaHR0cFN0YXR1
c1RleHQ7CisgICAgICAgIFN0cmluZyBodHRwVmVyc2lvbjsKKyAgICAgICAgSFRUUEhlYWRlck1h
cCBodHRwSGVhZGVyRmllbGRzOworICAgICAgICBSZXNvdXJjZUxvYWRUaW1pbmcgcmVzb3VyY2VM
b2FkVGltaW5nOworICAgICAgICBUeXBlIHR5cGU7CisKKyAgICAgICAgUmVzb3VyY2VSZXNwb25z
ZSBjcmVhdGVSZXNwb25zZSgpIGNvbnN0OworICAgIH07CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
Q3Jvc3NUaHJlYWREYXRhPiBjcm9zc1RocmVhZERhdGEoKSBjb25zdDsKIAogICAgIGJvb2wgaXNO
dWxsKCkgY29uc3QgeyByZXR1cm4gbV9pc051bGw7IH0KICAgICBXRUJDT1JFX0VYUE9SVCBib29s
IGlzSFRUUCgpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280425</attachid>
            <date>2016-06-02 22:07:18 -0700</date>
            <delta_ts>2016-06-02 22:19:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158338-20160602220838.patch</filename>
            <type>text/plain</type>
            <size>6361</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGFlZmM2NzljMzE5NjRl
ZThlNWI2YWFkMDZkMTBhYmM0N2Y4ZDJhNi4uYjEzY2MwNDhjYTAwNmM3ZDEyMWY1YTU5MmJlNjEx
NzhhNWZhMTk4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTA2LTAyICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggQXRvbWljU3RyaW5n
IHJlZ3Jlc3Npb24gY2F1c2VkIGJ5IHIyMDE2MDMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKFJlZmFjdG9yLCBwbHVzIGFscmVh
ZHkgY2F1Z2h0IGJ5IGV4aXN0aW5nIHRlc3QgY29uZmlncykuCisKKyAgICAgICAgKiBsb2FkZXIv
V29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJl
YWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAg
ICAgICAKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjcm9zc1RocmVhZERh
dGEpOiBSZS1pbnRyb2R1Y2UgdGhlIGNyb3NzIHRocmVhZCBkYXRhIGNvbmNlcHQsCisgICAgICAg
ICAgYnV0IG1vcmUgbW9kZXJuIGFuZCBjbGVhbiB0aGlzIHRpbWUuCisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Q3Jvc3NUaHJlYWREYXRhOjpjcmVhdGVSZXNwb25zZSk6
IFRvIGdldCBhIFJlc291cmNlUmVzcG9uc2Ugb3V0CisgICAgICAgICAgb2YgdGhlIGNyb3NzIHRo
cmVhZCBkYXRhIG9iamVjdCwgYXNrIHRoZSBkYXRhIG9iamVjdCBpdHNlbGYuIFRoaXMgc2VlbXMg
YmV0dGVyIHRoYW4gdG91Y2hpbmcgZWFjaAorICAgICAgICAgIG9mIHRoZSB0aHJlZSBSZXNvdXJj
ZVJlc3BvbnNlIGltcGxlbWVudGF0aW9ucyBkaXJlY3RseSwgZHVwbGljYXRpbmcgY29kZS4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjppc29sYXRlZENvcHkpOiBEZWxl
dGVkLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaDoK
KwogMjAxNi0wNi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IFtXZWJJRExdICd1bmRlZmluZWQnIHNob3VsZCBiZSBhbiBhY2NlcHRhYmxlIHZhbHVlIGZvciBu
dWxsYWJsZSBwYXJhbWV0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhy
ZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggOTdlMDJmOGEzNDZmZGFiOWMzMTcwZWFmMGJmMmEyZGI1
ZTQ4Y2M5OS4uMmRjZGI4NTk1ZjJmNTdkNWE0OWMyYWRjODQwZTZjNTlhZmYwNjE3ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAt
MTYyLDkgKzE2Miw5IEBAIHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJy
aWRnZTo6ZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIGJ5CiB2b2lkIFdvcmtlclRocmVh
ZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewog
ICAgIFJlZjxUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcj4gcHJvdGVjdGVkV29ya2VyQ2xp
ZW50V3JhcHBlciA9ICptX3dvcmtlckNsaWVudFdyYXBwZXI7Ci0gICAgbV9sb2FkZXJQcm94eS5w
b3N0VGFza0Zvck1vZGVUb1dvcmtlckdsb2JhbFNjb3BlKFtwcm90ZWN0ZWRXb3JrZXJDbGllbnRX
cmFwcGVyID0gV1RGTW92ZShwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVyKSwgaWRlbnRpZmll
ciwgcmVzcG9uc2UgPSByZXNwb25zZS5pc29sYXRlZENvcHkoKV0gKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQpIG11dGFibGUgeworICAgIG1fbG9hZGVyUHJveHkucG9zdFRhc2tGb3JN
b2RlVG9Xb3JrZXJHbG9iYWxTY29wZShbcHJvdGVjdGVkV29ya2VyQ2xpZW50V3JhcHBlciA9IFdU
Rk1vdmUocHJvdGVjdGVkV29ya2VyQ2xpZW50V3JhcHBlciksIGlkZW50aWZpZXIsIHJlc3BvbnNl
RGF0YSA9IHJlc3BvbnNlLmNyb3NzVGhyZWFkRGF0YSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCkgbXV0YWJsZSB7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQoY29udGV4dCwgY29u
dGV4dC5pc1dvcmtlckdsb2JhbFNjb3BlKCkpOwotICAgICAgICBwcm90ZWN0ZWRXb3JrZXJDbGll
bnRXcmFwcGVyLT5kaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgcmVzcG9uc2UpOworICAg
ICAgICBwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVyLT5kaWRSZWNlaXZlUmVzcG9uc2UoaWRl
bnRpZmllciwgcmVzcG9uc2VEYXRhLT5jcmVhdGVSZXNwb25zZSgpKTsKICAgICB9LCBtX3Rhc2tN
b2RlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCA1YjUyODc2MDZjM2M5OTc1NDVlNDQwZGI1
MTVkYTVlNmI0Y2E0N2NlLi5hZGQxNDI2MjRhYjAzODUxNGQ2MjViMzgzY2IwNTVmOGY4ZGU1ZDQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAtNjMsMjMgKzYzLDQyIEBAIFJlc291cmNlUmVzcG9uc2VC
YXNlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBt
aW1lVHlwCiB7CiB9CiAKLVJlc291cmNlUmVzcG9uc2UgUmVzb3VyY2VSZXNwb25zZUJhc2U6Omlz
b2xhdGVkQ29weSgpIGNvbnN0CitzdGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VSZXNwb25zZUJhc2U6
OkNyb3NzVGhyZWFkRGF0YT4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNyb3NzVGhyZWFkRGF0YSgp
IGNvbnN0Cit7CisgICAgYXV0byBkYXRhID0gc3RkOjptYWtlX3VuaXF1ZTxDcm9zc1RocmVhZERh
dGE+KCk7CisKKyAgICBkYXRhLT51cmwgPSB1cmwoKS5pc29sYXRlZENvcHkoKTsKKyAgICBkYXRh
LT5taW1lVHlwZSA9IG1pbWVUeXBlKCkuaXNvbGF0ZWRDb3B5KCk7CisgICAgZGF0YS0+ZXhwZWN0
ZWRDb250ZW50TGVuZ3RoID0gZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCk7CisgICAgZGF0YS0+dGV4
dEVuY29kaW5nTmFtZSA9IHRleHRFbmNvZGluZ05hbWUoKS5pc29sYXRlZENvcHkoKTsKKworICAg
IGRhdGEtPmh0dHBTdGF0dXNDb2RlID0gaHR0cFN0YXR1c0NvZGUoKTsKKyAgICBkYXRhLT5odHRw
U3RhdHVzVGV4dCA9IGh0dHBTdGF0dXNUZXh0KCkuaXNvbGF0ZWRDb3B5KCk7CisgICAgZGF0YS0+
aHR0cFZlcnNpb24gPSBodHRwVmVyc2lvbigpLmlzb2xhdGVkQ29weSgpOworCisgICAgZGF0YS0+
aHR0cEhlYWRlckZpZWxkcyA9IGh0dHBIZWFkZXJGaWVsZHMoKS5pc29sYXRlZENvcHkoKTsKKyAg
ICBkYXRhLT5yZXNvdXJjZUxvYWRUaW1pbmcgPSBtX3Jlc291cmNlTG9hZFRpbWluZy5pc29sYXRl
ZENvcHkoKTsKKyAgICBkYXRhLT50eXBlID0gbV90eXBlOworCisgICAgcmV0dXJuIGRhdGE7Cit9
CisKK1Jlc291cmNlUmVzcG9uc2UgUmVzb3VyY2VSZXNwb25zZUJhc2U6OkNyb3NzVGhyZWFkRGF0
YTo6Y3JlYXRlUmVzcG9uc2UoKQogewogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2U7CiAK
LSAgICByZXNwb25zZS5zZXRVUkwodXJsKCkuaXNvbGF0ZWRDb3B5KCkpOwotICAgIHJlc3BvbnNl
LnNldE1pbWVUeXBlKG1pbWVUeXBlKCkuaXNvbGF0ZWRDb3B5KCkpOwotICAgIHJlc3BvbnNlLnNl
dEV4cGVjdGVkQ29udGVudExlbmd0aChleHBlY3RlZENvbnRlbnRMZW5ndGgoKSk7Ci0gICAgcmVz
cG9uc2Uuc2V0VGV4dEVuY29kaW5nTmFtZSh0ZXh0RW5jb2RpbmdOYW1lKCkuaXNvbGF0ZWRDb3B5
KCkpOworICAgIHJlc3BvbnNlLnNldFVSTCh1cmwpOworICAgIHJlc3BvbnNlLnNldE1pbWVUeXBl
KG1pbWVUeXBlKTsKKyAgICByZXNwb25zZS5zZXRFeHBlY3RlZENvbnRlbnRMZW5ndGgoZXhwZWN0
ZWRDb250ZW50TGVuZ3RoKTsKKyAgICByZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdOYW1lKHRleHRF
bmNvZGluZ05hbWUpOwogCi0gICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c0NvZGUoaHR0cFN0YXR1
c0NvZGUoKSk7Ci0gICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c1RleHQoaHR0cFN0YXR1c1RleHQo
KS5pc29sYXRlZENvcHkoKSk7Ci0gICAgcmVzcG9uc2Uuc2V0SFRUUFZlcnNpb24oaHR0cFZlcnNp
b24oKS5pc29sYXRlZENvcHkoKSk7CisgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c0NvZGUoaHR0
cFN0YXR1c0NvZGUpOworICAgIHJlc3BvbnNlLnNldEhUVFBTdGF0dXNUZXh0KGh0dHBTdGF0dXNU
ZXh0KTsKKyAgICByZXNwb25zZS5zZXRIVFRQVmVyc2lvbihodHRwVmVyc2lvbik7CiAKLSAgICBy
ZXNwb25zZS5sYXp5SW5pdChBbGxGaWVsZHMpOwotICAgIHJlc3BvbnNlLm1faHR0cEhlYWRlckZp
ZWxkcyA9IGh0dHBIZWFkZXJGaWVsZHMoKS5pc29sYXRlZENvcHkoKTsKLSAgICByZXNwb25zZS5t
X3Jlc291cmNlTG9hZFRpbWluZyA9IG1fcmVzb3VyY2VMb2FkVGltaW5nLmlzb2xhdGVkQ29weSgp
OwotICAgIHJlc3BvbnNlLm1fdHlwZSA9IG1fdHlwZTsKKyAgICByZXNwb25zZS5tX2h0dHBIZWFk
ZXJGaWVsZHMgPSBXVEZNb3ZlKGh0dHBIZWFkZXJGaWVsZHMpOworICAgIHJlc3BvbnNlLm1fcmVz
b3VyY2VMb2FkVGltaW5nID0gcmVzb3VyY2VMb2FkVGltaW5nOworICAgIHJlc3BvbnNlLm1fdHlw
ZSA9IHR5cGU7CiAKICAgICByZXR1cm4gcmVzcG9uc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggYWQ1
MTA3ZjdmN2M1Mjg1ZjI2MGJjODc5ZjQxZTcxMTViZGUzODdmZC4uMjY0MDljM2QwMzRlNjI5Nzll
ZTY0MGI2OTgzYjQzYWI4MjFjZGI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtNDUsNyArNDUsMjQgQEAg
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBSZXNvdXJjZVJlc3BvbnNl
IGlzb2xhdGVkQ29weSgpIGNvbnN0OworICAgIGVudW0gY2xhc3MgVHlwZTsKKworICAgIHN0cnVj
dCBDcm9zc1RocmVhZERhdGEgeworICAgICAgICBVUkwgdXJsOworICAgICAgICBTdHJpbmcgbWlt
ZVR5cGU7CisgICAgICAgIGxvbmcgbG9uZyBleHBlY3RlZENvbnRlbnRMZW5ndGg7CisgICAgICAg
IFN0cmluZyB0ZXh0RW5jb2RpbmdOYW1lOworICAgICAgICBpbnQgaHR0cFN0YXR1c0NvZGU7Cisg
ICAgICAgIFN0cmluZyBodHRwU3RhdHVzVGV4dDsKKyAgICAgICAgU3RyaW5nIGh0dHBWZXJzaW9u
OworICAgICAgICBIVFRQSGVhZGVyTWFwIGh0dHBIZWFkZXJGaWVsZHM7CisgICAgICAgIFJlc291
cmNlTG9hZFRpbWluZyByZXNvdXJjZUxvYWRUaW1pbmc7CisgICAgICAgIFR5cGUgdHlwZTsKKwor
ICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIGNyZWF0ZVJlc3BvbnNlKCk7CisgICAgfTsKKworICAg
IHN0ZDo6dW5pcXVlX3B0cjxDcm9zc1RocmVhZERhdGE+IGNyb3NzVGhyZWFkRGF0YSgpIGNvbnN0
OwogCiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX2lzTnVsbDsgfQogICAgIFdF
QkNPUkVfRVhQT1JUIGJvb2wgaXNIVFRQKCkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="304368"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>