<?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>131478</bug_id>
          
          <creation_ts>2014-04-09 23:28:20 -0700</creation_ts>
          <short_desc>Move early return out of dispatch_async() block so we can return from willSendRequest quickly</short_desc>
          <delta_ts>2014-04-13 12:20:51 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pratik Solanki">psolanki</reporter>
          <assigned_to name="Pratik Solanki">psolanki</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>kling</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>999441</commentid>
    <comment_count>0</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-09 23:28:20 -0700</bug_when>
    <thetext>Move early return out of dispatch_async() block so we can return from willSendRequest quickly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999447</commentid>
    <comment_count>1</comment_count>
      <attachid>229025</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-09 23:32:19 -0700</bug_when>
    <thetext>Created attachment 229025
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999448</commentid>
    <comment_count>2</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-09 23:32:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/16575535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999455</commentid>
    <comment_count>3</comment_count>
      <attachid>229025</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-09 23:49:30 -0700</bug_when>
    <thetext>Comment on attachment 229025
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        We can do a check for redirect response on the dispatch queue and return from willSendRequest

synthesizeRedirectResponseIfNecessary uses ResourceRequest class, which is not thread safe. The Foundation version of this function doesn&apos;t do that, so it&apos;s safe to call on a secondary thread.

Good catch though, perhaps we can refactor the code to make this fix work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999675</commentid>
    <comment_count>4</comment_count>
      <attachid>229084</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-10 16:04:39 -0700</bug_when>
    <thetext>Created attachment 229084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999677</commentid>
    <comment_count>5</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-10 16:09:12 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=229084) [details]
&gt; Patch

Maybe something like this would work? We save the scheme from the request and do a quick comparison and early return if they match.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999711</commentid>
    <comment_count>6</comment_count>
      <attachid>229084</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-10 17:30:32 -0700</bug_when>
    <thetext>Comment on attachment 229084
Patch

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

I&apos;m not sure if we need to follow the Mac pattern with secondary threads at all - it looks like CFURLConnection may have all the async delegates we could wish for.

If that&apos;s feasible, that should be much better, and would make this patch unnecessary.

&gt; Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:86
&gt; +    if (!originalRedirectResponse) {
&gt; +        RetainPtr&lt;CFStringRef&gt; newScheme = adoptCF(CFURLCopyScheme(CFURLRequestGetURL(cfRequest)));
&gt; +        if (CFStringCompare(newScheme.get(), m_originalScheme.get(), kCFCompareCaseInsensitive) == kCFCompareEqualTo) {
&gt; +            CFRetain(cfRequest);
&gt; +            return cfRequest;
&gt; +        }
&gt; +    }

Shouldn&apos;t this code be removed from synthesizeRedirectResponseIfNecessary() now?

Would also be good to move a comment about HSTS here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999732</commentid>
    <comment_count>7</comment_count>
      <attachid>229084</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-10 18:04:34 -0700</bug_when>
    <thetext>Comment on attachment 229084
Patch

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

&gt;&gt; Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:86
&gt;&gt; +    }
&gt; 
&gt; Shouldn&apos;t this code be removed from synthesizeRedirectResponseIfNecessary() now?
&gt; 
&gt; Would also be good to move a comment about HSTS here.

Yes, I can remove the code from synthesizeRedirectResponseIfNecessary() and I&apos;ll addd a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999783</commentid>
    <comment_count>8</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-10 22:05:10 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 229084 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229084&amp;action=review
&gt; 
&gt; I&apos;m not sure if we need to follow the Mac pattern with secondary threads at all - it looks like CFURLConnection may have all the async delegates we could wish for.
&gt; 
&gt; If that&apos;s feasible, that should be much better, and would make this patch unnecessary.

I&apos;ll take a look at this next.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000313</commentid>
    <comment_count>9</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-13 12:18:24 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 229084 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229084&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:86
&gt; &gt;&gt; +    }
&gt; &gt; 
&gt; &gt; Shouldn&apos;t this code be removed from synthesizeRedirectResponseIfNecessary() now?
&gt; &gt; 
&gt; &gt; Would also be good to move a comment about HSTS here.
&gt; 
&gt; Yes, I can remove the code from synthesizeRedirectResponseIfNecessary() and I&apos;ll addd a comment.

SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest() calls synthesizeRedirectResponseIfNecessary() as well so I can&apos;t remove the code. I&apos;ll leave it in for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000314</commentid>
    <comment_count>10</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-13 12:20:51 -0700</bug_when>
    <thetext>Committed r167200: &lt;http://trac.webkit.org/changeset/167200&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229025</attachid>
            <date>2014-04-09 23:32:19 -0700</date>
            <delta_ts>2014-04-10 16:04:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131478-20140409233158.patch</filename>
            <type>text/plain</type>
            <size>3028</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjIzZDA5ODhiZGMzN2M1
MThlZjQxMjM4MmUyY2MxMDBiNDZjZDg1NS4uNmRjODU5NDM1MzM3MGNlNzdhNGZiNTNkY2JjYTAw
NzY4MWNmNTI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA0LTA5ICBQcmF0
aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGVhcmx5IHJl
dHVybiBvdXQgb2YgZGlzcGF0Y2hfYXN5bmMoKSBibG9jayBzbyB3ZSBjYW4gcmV0dXJuIGZyb20g
d2lsbFNlbmRSZXF1ZXN0IHF1aWNrbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzMTQ3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY1NzU1MzU+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgY2Fu
IGRvIGEgY2hlY2sgZm9yIHJlZGlyZWN0IHJlc3BvbnNlIG9uIHRoZSBkaXNwYXRjaCBxdWV1ZSBh
bmQgcmV0dXJuIGZyb20gd2lsbFNlbmRSZXF1ZXN0CisgICAgICAgIGNhbGxiYWNrIHF1aWNrbHkg
aW5zdGVhZCBvZiBkb2luZyBhbiBlZmZlY3RpdmVseSBzeW5jaHJvbm91cyBjYWxsIHRvIHRoZSBt
YWluIHRocmVhZC4gVGhpcworICAgICAgICBtYXRjaGVzIHdoYXQgdGhlIEZvdW5kYXRpb24gYmFz
ZWQgbG9hZGVyIGNvZGUgZG9lcyBpbgorICAgICAgICBbV2ViQ29yZVJlc291cmNlSGFuZGxlQXNP
cGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5lY3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0
UmVzcG9uc2U6XS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBubyBjaGFuZ2UgaW4g
ZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VI
YW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9w
ZXJhdGlvblF1ZXVlOjp3aWxsU2VuZFJlcXVlc3QpOgorCiAyMDE0LTA0LTA5ICBKZXJlbXkgSm9u
ZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYnVpbGQgZmFpbHVyZS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5k
bGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCmluZGV4IGViYmEyZmUxOTdiMTUxOTFkOTY1
MjNkMTk1MmYzNTNhMzg5Y2IyNzUuLmI3NzcxMjFkM2M3MWIzMDRlOTg0NjFlYzE1YTkxNzk1ODhj
YTM4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVz
b3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNG
VVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcApAQCAtNzUsNiArNzUs
MTIgQEAgQ0ZVUkxSZXF1ZXN0UmVmIFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdh
dGVXaXRoT3BlcmF0aW9uUXVldWU6OndpbGxTZW4KIHsKICAgICBSZWZQdHI8UmVzb3VyY2VIYW5k
bGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZT4gcHJvdGVjdG9yKHRo
aXMpOwogCisgICAgUmV0YWluUHRyPENGVVJMUmVzcG9uc2VSZWY+IHJlZGlyZWN0UmVzcG9uc2Ug
PSBzeW50aGVzaXplUmVkaXJlY3RSZXNwb25zZUlmTmVjZXNzYXJ5KGNmUmVxdWVzdCwgb3JpZ2lu
YWxSZWRpcmVjdFJlc3BvbnNlKTsKKyAgICBpZiAoIXJlZGlyZWN0UmVzcG9uc2UpIHsKKyAgICAg
ICAgQ0ZSZXRhaW4oY2ZSZXF1ZXN0KTsKKyAgICAgICAgcmV0dXJuIGNmUmVxdWVzdDsKKyAgICB9
CisKICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewogICAg
ICAgICBpZiAoIXByb3RlY3Rvci0+aGFzSGFuZGxlKCkpIHsKICAgICAgICAgICAgIGNvbnRpbnVl
V2lsbFNlbmRSZXF1ZXN0KG51bGxwdHIpOwpAQCAtODMsMTIgKzg5LDYgQEAgQ0ZVUkxSZXF1ZXN0
UmVmIFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVl
dWU6OndpbGxTZW4KIAogICAgICAgICBMT0coTmV0d29yaywgIkNGTmV0IC0gUmVzb3VyY2VIYW5k
bGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6d2lsbFNlbmRSZXF1
ZXN0KGhhbmRsZT0lcCkgKCVzKSIsIG1faGFuZGxlLCBtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCku
dXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICAgICAgUmV0YWluUHRyPENGVVJM
UmVzcG9uc2VSZWY+IHJlZGlyZWN0UmVzcG9uc2UgPSBzeW50aGVzaXplUmVkaXJlY3RSZXNwb25z
ZUlmTmVjZXNzYXJ5KGNmUmVxdWVzdCwgb3JpZ2luYWxSZWRpcmVjdFJlc3BvbnNlKTsKLSAgICAg
ICAgaWYgKCFyZWRpcmVjdFJlc3BvbnNlKSB7Ci0gICAgICAgICAgICBtX2hhbmRsZS0+Y29udGlu
dWVXaWxsU2VuZFJlcXVlc3QoY2ZSZXF1ZXN0KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0ID0gY3JlYXRlUmVzb3VyY2VS
ZXF1ZXN0KGNmUmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZS5nZXQoKSk7CiAgICAgICAgIG1faGFu
ZGxlLT53aWxsU2VuZFJlcXVlc3QocmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZS5nZXQoKSk7CiAg
ICAgfSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229084</attachid>
            <date>2014-04-10 16:04:39 -0700</date>
            <delta_ts>2014-04-10 18:04:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131478-20140410160418.patch</filename>
            <type>text/plain</type>
            <size>4689</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjIzZDA5ODhiZGMzN2M1
MThlZjQxMjM4MmUyY2MxMDBiNDZjZDg1NS4uNGI5ODdmODY3YWY1ODA4MjFiMjRhYTU3OGYxMTBi
OTlhOTllNzJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA0LTEwICBQcmF0
aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGVhcmx5IHJl
dHVybiBvdXQgb2YgZGlzcGF0Y2hfYXN5bmMoKSBibG9jayBzbyB3ZSBjYW4gcmV0dXJuIGZyb20g
d2lsbFNlbmRSZXF1ZXN0IHF1aWNrbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzMTQ3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY1NzU1MzU+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG8gYSBx
dWljayBjaGVjayB0byBzZWUgaWYgd2UgbmVlZCB0byBzeW50aGVzaXplIHRoZSByZWRpcmVjdCBy
ZXNwb25zZSBvbiB0aGUgZGlzcGF0Y2ggcXVldWUKKyAgICAgICAgYW5kIHJldHVybiBmcm9tIHdp
bGxTZW5kUmVxdWVzdCBjYWxsYmFjayBxdWlja2x5IGluc3RlYWQgb2YgYWx3YXlzIGRvaW5nIGFu
IGVmZmVjdGl2ZWx5IHN5bmNocm9ub3VzCisgICAgICAgIGNhbGwgdG8gdGhlIG1haW4gdGhyZWFk
LiBXZSBjYW4ndCBjYWxsIHN5bnRoZXNpemVSZWRpcmVjdFJlc3BvbnNlSWZOZWNlc3Nhcnkgb24g
dGhlIGRpc3BhdGNoCisgICAgICAgIHF1ZXVlIHNpbmNlIHRoYXQgYWNjZXNzZXMgdGhlIFJlc291
cmNlUmVxdWVzdC4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBubyBjaGFuZ2UgaW4g
ZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VI
YW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25R
dWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlOjpzZXR1cFJlcXVlc3QpOiBTYXZlIHRoZQorICAg
ICAgICByZXF1ZXN0IHNjaGVtZSB0byB1c2UgbGF0ZXIgZm9yIGVhcmx5IHJldHVybiBmcm9tIHdp
bGxTZW5kUmVxdWVzdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlQ0ZVUkxDb25u
ZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWU6OndpbGxTZW5kUmVxdWVzdCk6CisKIDIw
MTQtMDQtMDkgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAgIEZp
eCBidWlsZCBmYWlsdXJlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGUuaAppbmRleCA0OTg2M2MwOGVkMjhlMDhiZGNkOGI1NWZmNzQ1NDgwZWVmOWE2YmIw
Li4yNDA5YzhjMjBiZThhYTAwOGJjY2EwZDg5NzljZGEzMTI5NTQ2N2EwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25u
ZWN0aW9uRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nm
L1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUuaApAQCAtOTQsNiArOTQsNyBA
QCBwcml2YXRlOgogCiBwcm90ZWN0ZWQ6CiAgICAgUmVzb3VyY2VIYW5kbGUqIG1faGFuZGxlOwor
ICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gbV9vcmlnaW5hbFNjaGVtZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0
aW9uUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJj
ZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcAppbmRl
eCBlYmJhMmZlMTk3YjE1MTkxZDk2NTIzZDE5NTJmMzUzYTM4OWNiMjc1Li45Y2ZhZDE5NWFmNTc5
MTU4YTIzZTkzMjViOWMxOGI5ZDYwZWU5YTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVX
aXRoT3BlcmF0aW9uUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25R
dWV1ZS5jcHAKQEAgLTYyLDggKzYyLDEyIEBAIGJvb2wgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5l
Y3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6aGFzSGFuZGxlKCkgY29uc3QKICAgICBy
ZXR1cm4gISFtX2hhbmRsZTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlOjpzZXR1cFJlcXVlc3QoQ0ZNdXRhYmxlVVJMUmVx
dWVzdFJlZikKK3ZvaWQgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhP
cGVyYXRpb25RdWV1ZTo6c2V0dXBSZXF1ZXN0KENGTXV0YWJsZVVSTFJlcXVlc3RSZWYgcmVxdWVz
dCkKIHsKKyAgICBDRlVSTFJlZiByZXF1ZXN0VVJMID0gQ0ZVUkxSZXF1ZXN0R2V0VVJMKHJlcXVl
c3QpOworICAgIGlmICghcmVxdWVzdFVSTCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fb3JpZ2lu
YWxTY2hlbWUgPSBhZG9wdENGKENGVVJMQ29weVNjaGVtZShyZXF1ZXN0VVJMKSk7CiB9CiAKIHZv
aWQgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1
ZTo6c2V0dXBDb25uZWN0aW9uU2NoZWR1bGluZyhDRlVSTENvbm5lY3Rpb25SZWYgY29ubmVjdGlv
bikKQEAgLTczLDYgKzc3LDE0IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25E
ZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6c2V0dXBDb25uZWN0aW9uU2NoCiAKIENGVVJMUmVx
dWVzdFJlZiBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlv
blF1ZXVlOjp3aWxsU2VuZFJlcXVlc3QoQ0ZVUkxSZXF1ZXN0UmVmIGNmUmVxdWVzdCwgQ0ZVUkxS
ZXNwb25zZVJlZiBvcmlnaW5hbFJlZGlyZWN0UmVzcG9uc2UpCiB7CisgICAgaWYgKCFvcmlnaW5h
bFJlZGlyZWN0UmVzcG9uc2UpIHsKKyAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBuZXdT
Y2hlbWUgPSBhZG9wdENGKENGVVJMQ29weVNjaGVtZShDRlVSTFJlcXVlc3RHZXRVUkwoY2ZSZXF1
ZXN0KSkpOworICAgICAgICBpZiAoQ0ZTdHJpbmdDb21wYXJlKG5ld1NjaGVtZS5nZXQoKSwgbV9v
cmlnaW5hbFNjaGVtZS5nZXQoKSwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NGQ29t
cGFyZUVxdWFsVG8pIHsKKyAgICAgICAgICAgIENGUmV0YWluKGNmUmVxdWVzdCk7CisgICAgICAg
ICAgICByZXR1cm4gY2ZSZXF1ZXN0OworICAgICAgICB9CisgICAgfQorCiAgICAgUmVmUHRyPFJl
c291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWU+IHBy
b3RlY3Rvcih0aGlzKTsKIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1
ZXVlKCksIF57CkBAIC04NCwxMCArOTYsNyBAQCBDRlVSTFJlcXVlc3RSZWYgUmVzb3VyY2VIYW5k
bGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6d2lsbFNlbgogICAg
ICAgICBMT0coTmV0d29yaywgIkNGTmV0IC0gUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25E
ZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6d2lsbFNlbmRSZXF1ZXN0KGhhbmRsZT0lcCkgKCVz
KSIsIG1faGFuZGxlLCBtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkudXRm
OCgpLmRhdGEoKSk7CiAKICAgICAgICAgUmV0YWluUHRyPENGVVJMUmVzcG9uc2VSZWY+IHJlZGly
ZWN0UmVzcG9uc2UgPSBzeW50aGVzaXplUmVkaXJlY3RSZXNwb25zZUlmTmVjZXNzYXJ5KGNmUmVx
dWVzdCwgb3JpZ2luYWxSZWRpcmVjdFJlc3BvbnNlKTsKLSAgICAgICAgaWYgKCFyZWRpcmVjdFJl
c3BvbnNlKSB7Ci0gICAgICAgICAgICBtX2hhbmRsZS0+Y29udGludWVXaWxsU2VuZFJlcXVlc3Qo
Y2ZSZXF1ZXN0KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQorICAgICAgICBBU1NF
UlQocmVkaXJlY3RSZXNwb25zZSk7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Qg
PSBjcmVhdGVSZXNvdXJjZVJlcXVlc3QoY2ZSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlLmdldCgp
KTsKICAgICAgICAgbV9oYW5kbGUtPndpbGxTZW5kUmVxdWVzdChyZXF1ZXN0LCByZWRpcmVjdFJl
c3BvbnNlLmdldCgpKTsK
</data>
<flag name="review"
          id="253445"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>