<?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>75586</bug_id>
          
          <creation_ts>2012-01-04 15:57:04 -0800</creation_ts>
          <short_desc>WebFrameLoaderClient::userAgent does unnecessary NSString/NSURL conversions</short_desc>
          <delta_ts>2012-01-05 11:03:44 -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>WebKit 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>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>koivisto</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>529851</commentid>
    <comment_count>0</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-01-04 15:57:04 -0800</bug_when>
    <thetext>WebFrameLoaderClient::userAgent calls -(NSString *)userAgentForURL:(NSURL *)url on WebView to get the user agent string. This results in

- converting KURL to NSURL* before passing to userAgentForURL (note that the function does&apos;t use the argument at all!)
- Since userAgentForURL returns an NSString* but stores the user agent internally as WTF::String, it converts the String to NSString* before returning
- WebFrameLoaderClient::userAgent converts that NSString back into a WTF::String when returning

We can optimize this by having a separate code path that takes a KURL and returns String.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529853</commentid>
    <comment_count>1</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-01-04 15:57:58 -0800</bug_when>
    <thetext>&lt;rdar://problem/10637328&amp;10637371&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530030</commentid>
    <comment_count>2</comment_count>
      <attachid>121222</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-01-04 23:30:51 -0800</bug_when>
    <thetext>Created attachment 121222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530389</commentid>
    <comment_count>3</comment_count>
      <attachid>121222</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-01-05 10:24:45 -0800</bug_when>
    <thetext>Comment on attachment 121222
Patch

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

It seems that the knowledge of obsolete url argument can be isolated in API method - no need to add a new new that&apos;s still going to ignore its argument. Dead code for &quot;No current site-specific spoofs&quot; can go away, too.

&gt; Source/WebKit/mac/WebView/WebView.mm:3892
&gt; +    return [self _userAgentStringForURL:(KURL*)url];

Even though the argument is unused in practice, casting to an unrelated type is a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530404</commentid>
    <comment_count>4</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-01-05 10:33:16 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 121222 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121222&amp;action=review
&gt; 
&gt; It seems that the knowledge of obsolete url argument can be isolated in API method - no need to add a new new that&apos;s still going to ignore its argument. Dead code for &quot;No current site-specific spoofs&quot; can go away, too.
&gt; 

Ok.

&gt; &gt; Source/WebKit/mac/WebView/WebView.mm:3892
&gt; &gt; +    return [self _userAgentStringForURL:(KURL*)url];
&gt; 
&gt; Even though the argument is unused in practice, casting to an unrelated type is a bug.

Yeah, I was debating on this cast as well. I&apos;ll just remove it given that the new function shouldn&apos;t take a URL argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530412</commentid>
    <comment_count>5</comment_count>
      <attachid>121298</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-01-05 10:38:40 -0800</bug_when>
    <thetext>Created attachment 121298
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530443</commentid>
    <comment_count>6</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-01-05 11:03:44 -0800</bug_when>
    <thetext>Committed r104181: &lt;http://trac.webkit.org/changeset/104181&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121222</attachid>
            <date>2012-01-04 23:30:51 -0800</date>
            <delta_ts>2012-01-05 10:38:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75586-20120104233050.patch</filename>
            <type>text/plain</type>
            <size>3579</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMGI5ZWVkOTc1
MjljNWExMTUzMTcyOThhYmYzYjMyNDllNmVlZmFkMS4uZDIyOTZiZWU1MjY0MTA3YTJmN2NjMWFm
MzkzZDBlYTRkNjg0N2YyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEy
LTAxLTA0ICBQcmF0aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWJGcmFtZUxvYWRlckNsaWVudDo6dXNlckFnZW50IGRvZXMgdW5uZWNlc3NhcnkgTlNTdHJpbmcv
TlNVUkwgY29udmVyc2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc1NTg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgV2UgZG8gdW5uZWNlc3NhcnkgS1VSTC0+TlNVUkwqIGFuZCBTdHJpbmc8LT5OU1N0
cmluZyogd2hlbiBjYWxsaW5nIFtXZWJWaWV3CisgICAgICAgIHVzZXJBZ2VudEZvclVSTDpdIGZy
b20gV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnVzZXJBZ2VudC4gSW5zdGVhZCB3ZSBhZGQgYSBzZXBh
cmF0ZSBmdW5jdGlvbiwKKyAgICAgICAgX3VzZXJBZ2VudFN0cmluZ0ZvclVSTCwgdGhhdCB0YWtl
cyBhIEtVUkwqIGFuZCByZXR1cm5zIGEgV1RGOjpTdHJpbmcgdG8gbWFrZSB0aGlzIGNhbGwKKyAg
ICAgICAgZmFzdGVyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQubW06CisgICAgICAgIChXZWJGcmFtZUxvYWRlckNsaWVudDo6dXNlckFnZW50KToKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3VzZXJBZ2Vu
dFN0cmluZ0ZvclVSTDpdKToKKyAgICAgICAgKC1bV2ViVmlldyB1c2VyQWdlbnRGb3JVUkw6XSk6
CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDoKKwogMjAxMi0wMS0wNCAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFtYmlndW91cyBp
Zi10aGVuLWVsc2UgaW4gU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU1Bhc3RlYm9hcmRFeHRy
YXMubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQubW0KaW5kZXggOTJjMjQzMmNiMmZkNmI2Yzk0ZDM0YWI2OTZhM2Fl
Yjg1ZDY2YTc2OS4uNTIzMDk4NjJkNWEzODM2Y2E1YjAxN2JlMjZkZDk2OGE3OGU2Y2M0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQubW0KQEAgLTEyOTQsNyArMTI5NCw3IEBAIFN0cmluZyBXZWJGcmFtZUxvYWRl
ckNsaWVudDo6dXNlckFnZW50KGNvbnN0IEtVUkwmIHVybCkKICAgICBpZiAoIXdlYlZpZXcpCiAg
ICAgICAgIHJldHVybiBTdHJpbmcoIiIpOwogCi0gICAgcmV0dXJuIFt3ZWJWaWV3IHVzZXJBZ2Vu
dEZvclVSTDp1cmxdOworICAgIHJldHVybiBbd2ViVmlldyBfdXNlckFnZW50U3RyaW5nRm9yVVJM
OiZ1cmxdOwogfQogCiBzdGF0aWMgY29uc3QgTW91c2VFdmVudCogZmluZE1vdXNlRXZlbnQoY29u
c3QgRXZlbnQqIGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGVj
NmI1NTQ2Y2Q5OGU0NTEyYTFhZTljYzE1MTMzOTNkMGE3ZWU5YzguLjBmZDgzZDI5MTU5NTRiOWU4
MzBmNmVmZjRkMWZkN2Q2ZjQwZWY5ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KQEAgLTM4NzQsOCArMzg3NCw3IEBAIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IGJhY2tpbmdQ
cm9wZXJ0eU9sZFNjYWxlRmFjdG9yS2V5ID0gQCJOU0JhY2tpbmdQcm9wZXJ0eU9sCiAgICAgcmV0
dXJuIGNvcmVGcmFtZS0+c2NyaXB0KCktPndpbmRvd1NjcmlwdE9iamVjdCgpOwogfQogCi0vLyBH
ZXQgdGhlIGFwcHJvcHJpYXRlIHVzZXItYWdlbnQgc3RyaW5nIGZvciBhIHBhcnRpY3VsYXIgVVJM
LgotLSAoTlNTdHJpbmcgKil1c2VyQWdlbnRGb3JVUkw6KE5TVVJMICopdXJsCistIChTdHJpbmcp
X3VzZXJBZ2VudFN0cmluZ0ZvclVSTDooY29uc3QgS1VSTCopdXJsCiB7CiAgICAgaWYgKF9wcml2
YXRlLT51c2VTaXRlU3BlY2lmaWNTcG9vZmluZykgewogICAgICAgICAvLyBObyBjdXJyZW50IHNp
dGUtc3BlY2lmaWMgc3Bvb2ZzLgpAQCAtMzg4Nyw2ICszODg2LDEyIEBAIHN0YXRpYyBOU1N0cmlu
ZyAqIGNvbnN0IGJhY2tpbmdQcm9wZXJ0eU9sZFNjYWxlRmFjdG9yS2V5ID0gQCJOU0JhY2tpbmdQ
cm9wZXJ0eU9sCiAgICAgcmV0dXJuIF9wcml2YXRlLT51c2VyQWdlbnQ7CiB9CiAKKy8vIEdldCB0
aGUgYXBwcm9wcmlhdGUgdXNlci1hZ2VudCBzdHJpbmcgZm9yIGEgcGFydGljdWxhciBVUkwuCist
IChOU1N0cmluZyAqKXVzZXJBZ2VudEZvclVSTDooTlNVUkwgKil1cmwKK3sKKyAgICByZXR1cm4g
W3NlbGYgX3VzZXJBZ2VudFN0cmluZ0ZvclVSTDooS1VSTCopdXJsXTsKK30KKwogLSAodm9pZClz
ZXRIb3N0V2luZG93OihOU1dpbmRvdyAqKWhvc3RXaW5kb3cKIHsKICAgICBpZiAoX3ByaXZhdGUt
PmNsb3NlZCAmJiBob3N0V2luZG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
d0ludGVybmFsLmgKaW5kZXggNzIzMTEzMTY4MjJmNWM4NDQ3ZmUyZmEzZDQxZmEwN2UxZDI1NWRk
MC4uMDY1MWY4MjdjNWRhNjRmZmQ0NGU1Njc1NWE2OTA2MzIwODliMmYzMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0xMDgsNiArMTA4LDcgQEAg
V2ViQ29yZTo6RmluZE9wdGlvbnMgY29yZU9wdGlvbnMoV2ViRmluZE9wdGlvbnMgb3B0aW9ucyk7
CiAjaWZkZWYgX19jcGx1c3BsdXMKIC0gKFdlYkNvcmU6OlBhZ2UqKXBhZ2U7CiAtICh2b2lkKV9z
ZXRHbG9iYWxIaXN0b3J5SXRlbTooV2ViQ29yZTo6SGlzdG9yeUl0ZW0qKWhpc3RvcnlJdGVtOwor
LSAoV1RGOjpTdHJpbmcpX3VzZXJBZ2VudFN0cmluZ0ZvclVSTDooY29uc3QgV2ViQ29yZTo6S1VS
TCopdXJsOwogI2VuZGlmCiAKIC0gKE5TTWVudSAqKV9tZW51Rm9yRWxlbWVudDooTlNEaWN0aW9u
YXJ5ICopZWxlbWVudCBkZWZhdWx0SXRlbXM6KE5TQXJyYXkgKilpdGVtczsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121298</attachid>
            <date>2012-01-05 10:38:40 -0800</date>
            <delta_ts>2012-01-05 11:00:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75586-20120105103839.patch</filename>
            <type>text/plain</type>
            <size>3526</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMGI5ZWVkOTc1
MjljNWExMTUzMTcyOThhYmYzYjMyNDllNmVlZmFkMS4uZGNmMmZjNDVhMmYzY2U4MGZhZmFkOGMx
NzJmYTE1ZTVkZGI2NjFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEy
LTAxLTA1ICBQcmF0aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWJGcmFtZUxvYWRlckNsaWVudDo6dXNlckFnZW50IGRvZXMgdW5uZWNlc3NhcnkgTlNTdHJpbmcv
TlNVUkwgY29udmVyc2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc1NTg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgV2UgZG8gdW5uZWNlc3NhcnkgS1VSTC0+TlNVUkwqIGFuZCBTdHJpbmc8LT5OU1N0
cmluZyogd2hlbiBjYWxsaW5nIFtXZWJWaWV3CisgICAgICAgIHVzZXJBZ2VudEZvclVSTDpdIGZy
b20gV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnVzZXJBZ2VudC4gSW5zdGVhZCB3ZSBhZGQgYSBzZXBh
cmF0ZSBmdW5jdGlvbiwKKyAgICAgICAgX3VzZXJBZ2VudFN0cmluZyB0aGF0IHJldHVybnMgYSBX
VEY6OlN0cmluZyB0byBtYWtlIHRoaXMgY2FsbCBmYXN0ZXIuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKFdlYkZyYW1lTG9hZGVy
Q2xpZW50Ojp1c2VyQWdlbnQpOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV2ViVmlldyBfdXNlckFnZW50U3RyaW5nXSk6CisgICAgICAgICgtW1dlYlZpZXcgdXNl
ckFnZW50Rm9yVVJMOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld0ludGVybmFsLmg6CisK
IDIwMTItMDEtMDQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBbWJpZ3VvdXMgaWYtdGhlbi1lbHNlIGluIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2Vi
TlNQYXN0ZWJvYXJkRXh0cmFzLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCmluZGV4IDkyYzI0MzJjYjJmZDZi
NmM5NGQzNGFiNjk2YTNhZWI4NWQ2NmE3NjkuLjNiZmYxMzQ5OTg0NTA4MDViMWM4NGUxYWVlNjI0
YmFiZGRiZDdjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCkBAIC0xMjk0LDcgKzEyOTQsNyBAQCBTdHJp
bmcgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnVzZXJBZ2VudChjb25zdCBLVVJMJiB1cmwpCiAgICAg
aWYgKCF3ZWJWaWV3KQogICAgICAgICByZXR1cm4gU3RyaW5nKCIiKTsKIAotICAgIHJldHVybiBb
d2ViVmlldyB1c2VyQWdlbnRGb3JVUkw6dXJsXTsKKyAgICByZXR1cm4gW3dlYlZpZXcgX3VzZXJB
Z2VudFN0cmluZ107CiB9CiAKIHN0YXRpYyBjb25zdCBNb3VzZUV2ZW50KiBmaW5kTW91c2VFdmVu
dChjb25zdCBFdmVudCogZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5k
ZXggZWM2YjU1NDZjZDk4ZTQ1MTJhMWFlOWNjMTUxMzM5M2QwYTdlZTljOC4uNTFhNWIyMTlhZWQ3
NDQ0NDJkZjZjZmI3YzZmMmY2NDE2OWUyNmJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQpAQCAtMzg3NCwxOSArMzg3NCwyMCBAQCBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBi
YWNraW5nUHJvcGVydHlPbGRTY2FsZUZhY3RvcktleSA9IEAiTlNCYWNraW5nUHJvcGVydHlPbAog
ICAgIHJldHVybiBjb3JlRnJhbWUtPnNjcmlwdCgpLT53aW5kb3dTY3JpcHRPYmplY3QoKTsKIH0K
IAotLy8gR2V0IHRoZSBhcHByb3ByaWF0ZSB1c2VyLWFnZW50IHN0cmluZyBmb3IgYSBwYXJ0aWN1
bGFyIFVSTC4KLS0gKE5TU3RyaW5nICopdXNlckFnZW50Rm9yVVJMOihOU1VSTCAqKXVybAorLSAo
U3RyaW5nKV91c2VyQWdlbnRTdHJpbmcKIHsKLSAgICBpZiAoX3ByaXZhdGUtPnVzZVNpdGVTcGVj
aWZpY1Nwb29maW5nKSB7Ci0gICAgICAgIC8vIE5vIGN1cnJlbnQgc2l0ZS1zcGVjaWZpYyBzcG9v
ZnMuCi0gICAgfQotCiAgICAgaWYgKF9wcml2YXRlLT51c2VyQWdlbnQuaXNOdWxsKCkpCiAgICAg
ICAgIF9wcml2YXRlLT51c2VyQWdlbnQgPSBbW3NlbGYgY2xhc3NdIF9zdGFuZGFyZFVzZXJBZ2Vu
dFdpdGhBcHBsaWNhdGlvbk5hbWU6X3ByaXZhdGUtPmFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2Vu
dF07CiAKICAgICByZXR1cm4gX3ByaXZhdGUtPnVzZXJBZ2VudDsKIH0KIAorLy8gR2V0IHRoZSBh
cHByb3ByaWF0ZSB1c2VyLWFnZW50IHN0cmluZyBmb3IgYSBwYXJ0aWN1bGFyIFVSTC4KKy0gKE5T
U3RyaW5nICopdXNlckFnZW50Rm9yVVJMOihOU1VSTCAqKXVybAoreworICAgIHJldHVybiBbc2Vs
ZiBfdXNlckFnZW50U3RyaW5nXTsKK30KKwogLSAodm9pZClzZXRIb3N0V2luZG93OihOU1dpbmRv
dyAqKWhvc3RXaW5kb3cKIHsKICAgICBpZiAoX3ByaXZhdGUtPmNsb3NlZCAmJiBob3N0V2luZG93
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwu
aCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKaW5kZXggNzIz
MTEzMTY4MjJmNWM4NDQ3ZmUyZmEzZDQxZmEwN2UxZDI1NWRkMC4uMDJjYzU1MDEwNmIwNDRmYmMx
NzdjOWY1OWExZjgzZjU5MGRlNTBiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXdJbnRlcm5hbC5oCkBAIC0xMDgsNiArMTA4LDcgQEAgV2ViQ29yZTo6RmluZE9wdGlvbnMg
Y29yZU9wdGlvbnMoV2ViRmluZE9wdGlvbnMgb3B0aW9ucyk7CiAjaWZkZWYgX19jcGx1c3BsdXMK
IC0gKFdlYkNvcmU6OlBhZ2UqKXBhZ2U7CiAtICh2b2lkKV9zZXRHbG9iYWxIaXN0b3J5SXRlbToo
V2ViQ29yZTo6SGlzdG9yeUl0ZW0qKWhpc3RvcnlJdGVtOworLSAoV1RGOjpTdHJpbmcpX3VzZXJB
Z2VudFN0cmluZzsKICNlbmRpZgogCiAtIChOU01lbnUgKilfbWVudUZvckVsZW1lbnQ6KE5TRGlj
dGlvbmFyeSAqKWVsZW1lbnQgZGVmYXVsdEl0ZW1zOihOU0FycmF5ICopaXRlbXM7Cg==
</data>
<flag name="review"
          id="121751"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>