<?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>51485</bug_id>
          
          <creation_ts>2010-12-22 11:34:56 -0800</creation_ts>
          <short_desc>Web Inspector: support overriding user agent strings</short_desc>
          <delta_ts>2011-08-01 10:24:44 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>325604</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-12-22 11:34:56 -0800</bug_when>
    <thetext>This patch only covers back-end functionality and an extension API.
Note we expose an ability to override user agent to extensions via webInspector.inspectedWindow.reload() to avoid possible conflicts between different extensions trying to override user agent (or rather make these conflicts more explicit).
There will be a separate issue for exposing user agent selection in front-end UI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325607</commentid>
    <comment_count>1</comment_count>
      <attachid>77243</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-12-22 11:43:01 -0800</bug_when>
    <thetext>Created attachment 77243
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326042</commentid>
    <comment_count>2</comment_count>
      <attachid>77243</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-23 05:39:33 -0800</bug_when>
    <thetext>Comment on attachment 77243
patch

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

&gt; WebCore/loader/FrameLoader.cpp:2532
&gt; +        String userAgentOverride = page-&gt;inspectorController()-&gt;userAgentOverride();

You should use InspectorInstrumentation to access inspector code instead of calling IC directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326043</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-12-23 05:47:30 -0800</bug_when>
    <thetext>&gt; 
&gt; You should use InspectorInstrumentation to access inspector code instead of calling IC directly.

I disagree - inspectorInstrumentation interface is only used for _instrumentation_. Until InspectorController is removed from the page, we are free to use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326048</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-23 05:52:36 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; 
&gt; &gt; You should use InspectorInstrumentation to access inspector code instead of calling IC directly.
&gt; 
&gt; I disagree - inspectorInstrumentation interface is only used for _instrumentation_. Until InspectorController is removed from the page, we are free to use it.

IMO it&apos;s a good example of inspector instrumentation and if we have decided to eventually leave InspectorInstrumentation as the only interface to the inspector component we shouldn&apos;t add new direct calls to InspectorController, otherwise I don&apos;t see what&apos;s the point in having additional intermediate layer(InspectorInstrumentation) which does part of IC work in some cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326049</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-12-23 05:55:31 -0800</bug_when>
    <thetext>&gt; 
&gt; IMO it&apos;s a good example of inspector instrumentation and if we have decided to eventually leave InspectorInstrumentation as the only interface to the inspector component we shouldn&apos;t add new direct calls to InspectorController, otherwise I don&apos;t see what&apos;s the point in having additional intermediate layer(InspectorInstrumentation) which does part of IC work in some cases.

Yes and no: we should have InspectorControllerForWebCore insterface. It is not clear whether it should be InspectorInstrumentation (which currently used only for instrumentation). My point is that unless inspector contorller is hidden as you suggest, I think it is a better place for overriding the user agent. InspectorInstrumentation is semi-generated as you remember.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345498</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-04 08:28:04 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/77620 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423066</commentid>
    <comment_count>7</comment_count>
      <attachid>77243</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-06-18 00:24:43 -0700</bug_when>
    <thetext>Comment on attachment 77243
patch

was landed as r77620</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444637</commentid>
    <comment_count>8</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-08-01 04:01:44 -0700</bug_when>
    <thetext>Hi Andrey, this might be a stupid question, but is there a reason that you didn&apos;t update FrameLoader::loadResourceSynchronously() to respect this new User-Agent override?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444746</commentid>
    <comment_count>9</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-08-01 10:19:02 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Hi Andrey, this might be a stupid question, but is there a reason that you didn&apos;t update FrameLoader::loadResourceSynchronously() to respect this new User-Agent override?

The override should also work in case of loadResourceSynchronously() -- the next line after a call to initialRequest.setHTTPUserAgen() is a call to addExtraFieldsToSubresourceRequest(), which should set the agent. Actually, it looks like the former line is redundant, I&apos;m looking to remove this.

Thanks for bringing this up, though -- I went to add a test for synchronous requests, and it turned out that due to a sad omission while manually landing the change we missed to land the test, and as a result the extension support for webInspector.inspectedWindow.reload() was broken by a subsequent change. Raised bug 65476 for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444748</commentid>
    <comment_count>10</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-08-01 10:24:44 -0700</bug_when>
    <thetext>&gt; The override should also work in case of loadResourceSynchronously()
Makes sense. Thanks for replying!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77243</attachid>
            <date>2010-12-22 11:43:01 -0800</date>
            <delta_ts>2011-06-18 00:24:43 -0700</delta_ts>
            <desc>patch</desc>
            <filename>useragent.diff</filename>
            <type>text/plain</type>
            <size>8848</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2Nzc5OTBlLi45ZTFmMDc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTIt
MjIgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBzdXBwb3J0
IG92ZXJyaWRpbmcgdXNlciBhZ2VudCBzdHJpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTQ4NQorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC5odG1sOiBBZGRlZC4K
KwogMjAxMC0xMi0yMiAgS3JpdGhpZ2Fzc3JlZSBTYW1iYW11cnRoeSAgPGtyaXRoaWdhc3NyZWUu
c2FtYmFtdXJ0aHlAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZjlmMjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lv
biBBUEkKKworU3RhcnRlZCBleHRlbnNpb24uCitSdW5uaW5nIHRlc3RzLi4uCitSVU5OSU5HIFRF
U1Q6IGV4dGVuc2lvbl90ZXN0VXNlckFnZW50Cit1c2VyLWFnZW50IGhlYWRlcjogTW96aWxsYS80
LjAgKGNvbXBhdGlibGU7IFdlYkluc3BlY3RvciBFeHRlbnNpb24gVXNlci1BZ2VudCBvdmVycmlk
ZTsgUlNYLTExTSkKK25hdmlnYXRvci51c2VyQWdlbnQ6IE1vemlsbGEvNC4wIChjb21wYXRpYmxl
OyBXZWJJbnNwZWN0b3IgRXh0ZW5zaW9uIFVzZXItQWdlbnQgb3ZlcnJpZGU7IFJTWC0xMU0pCitQ
YWdlIHJlbG9hZGVkLgorUGFnZSByZWxvYWRlZC4KK0FsbCB0ZXN0cyBkb25lLgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2Vu
dC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11c2Vy
YWdlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NTgzMzFmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy11c2VyYWdlbnQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZXh0
ZW5zaW9ucy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RVc2VyQWdlbnQobmV4dFRlc3QpCit7CisgICAg
ZnVuY3Rpb24gb25SZXNvdXJjZShyZXNvdXJjZSkKKyAgICB7CisgICAgICAgIGlmICghL2V4dGVu
c2lvbnMtdXNlcmFnZW50Lmh0bWwkLy50ZXN0KHJlc291cmNlLnJlcXVlc3QudXJsKSkKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgd2ViSW5zcGVjdG9yLnJlc291cmNlcy5vbkZpbmlzaGVk
LnJlbW92ZUxpc3RlbmVyKG9uUmVzb3VyY2UpOworICAgICAgICBvdXRwdXQoInVzZXItYWdlbnQg
aGVhZGVyOiAiICsgZ2V0SGVhZGVyKHJlc291cmNlLnJlcXVlc3QuaGVhZGVycywgInVzZXItYWdl
bnQiKSk7CisgICAgICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgibmF2aWdh
dG9yLnVzZXJBZ2VudCIsIG9uRXZhbCk7CisgICAgfQorICAgIGZ1bmN0aW9uIGdldEhlYWRlciho
ZWFkZXJzLCBuYW1lKQorICAgIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoZWFkZXJz
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAoaGVhZGVyc1tpXS5uYW1lLnRvTG93ZXJD
YXNlKCkgPT09IG5hbWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGhlYWRlcnNbaV0udmFsdWU7
CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb24gb25FdmFsKHJlc3VsdCkKKyAgICB7Cisg
ICAgICAgIG91dHB1dCgibmF2aWdhdG9yLnVzZXJBZ2VudDogIiArIHJlc3VsdCk7CisgICAgICAg
IGNsZWFuVXAoKTsKKyAgICB9CisgICAgZnVuY3Rpb24gY2xlYW5VcCgpCisgICAgeworICAgICAg
ICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93Lm9uTG9hZGVkLmFkZExpc3RlbmVyKG9uUGFn
ZUxvYWRlZCk7CisgICAgICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cucmVsb2FkKCIi
KTsKKyAgICB9CisgICAgZnVuY3Rpb24gb25QYWdlTG9hZGVkKCkKKyAgICB7CisgICAgICAgIC8v
IGxldCBwYWdlJ3Mgb25sb2FkIGZpcmUsIHRvIGNhdXNlIG91dHB1dCB0byBiZSByZS1zeW5jaHJv
bml6ZWQgdG8gcGFnZS4KKyAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFs
KCIiLCBuZXh0VGVzdCk7CisgICAgfQorCisgICAgd2ViSW5zcGVjdG9yLnJlc291cmNlcy5vbkZp
bmlzaGVkLmFkZExpc3RlbmVyKG9uUmVzb3VyY2UpOworICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0
ZWRXaW5kb3cucmVsb2FkKCJNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsgV2ViSW5zcGVjdG9yIEV4
dGVuc2lvbiBVc2VyLUFnZW50IG92ZXJyaWRlOyBSU1gtMTFNKSIpOworfQorCis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIFdlYkluc3BlY3Rv
ciBleHRlbnNpb24gQVBJPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYmE1NDQxLi5lZGEzMmE5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDEwLTEyLTIyICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2ViIEluc3BlY3Rvcjogc3VwcG9ydCBvdmVycmlkaW5nIHVzZXIgYWdlbnQgc3RyaW5ncworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0ODUKKworICAg
ICAgICBUZXN0OiBodHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC5odG1s
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmlkbDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JD
b250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yQ29udHJvbGxlcjo6c2V0VXNlckFnZW50T3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQ29udHJvbGxlcjo6dXNlckFnZW50T3ZlcnJpZGUpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9FeHRlbnNpb25BUEkuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaW5qZWN0ZWRFeHRlbnNp
b25BUEkuSW5zcGVjdGVkV2luZG93LnByb3RvdHlwZS5yZWxvYWQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX29uUmVsb2FkKToKKyAgICAgICAgKiBsb2FkZXIv
RnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnVzZXJBZ2Vu
dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6YXBwbHlVc2VyQWdlbnQpOgorCiAy
MDEwLTEyLTIxICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlk
bAppbmRleCBhNTkzODU3Li4zZmUxYmJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5pZGwKQEAgLTk2
LDYgKzk2LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3Vy
Y2VzXSB2b2lkIGZyYW1lRGV0YWNoZWRGcm9tUGFyZW50KG91dCB1bnNpZ25lZCBsb25nIGZyYW1l
SWQpOwogICAgICAgIAogICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBzZXRFeHRyYUhl
YWRlcnMoaW4gT2JqZWN0IGhlYWRlcnMpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9p
ZCBzZXRVc2VyQWdlbnRPdmVycmlkZShpbiBTdHJpbmcgdXNlckFnZW50KTsKIAogICAgICAgICBb
ZG9tYWluPVJlc291cmNlc10gdm9pZCBjYWNoZWRSZXNvdXJjZXMob3V0IE9iamVjdCByZXNvdXJj
ZXMpOwogICAgICAgICBbZG9tYWluPVJlc291cmNlc10gdm9pZCByZXNvdXJjZUNvbnRlbnQoaW4g
dW5zaWduZWQgbG9uZyBmcmFtZUlkLCBpbiBTdHJpbmcgdXJsLCBpbiBib29sZWFuIGJhc2U2NEVu
Y29kZSwgb3V0IFN0cmluZyBjb250ZW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAKaW5kZXggODM1NWNkZi4uZWJmMzJiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTU3Niw2ICs1NzYsNyBAQCB2b2lkIEluc3BlY3Rv
ckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZCgpCiAgICAgcmVsZWFzZUZyb250ZW5kTGlm
ZXRpbWVBZ2VudHMoKTsKICAgICBtX3RpbWVsaW5lQWdlbnQuY2xlYXIoKTsKICAgICBtX2V4dHJh
SGVhZGVycy5jbGVhcigpOworICAgIG1fdXNlckFnZW50T3ZlcnJpZGUgPSAiIjsKIH0KIAogdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpyZWxlYXNlRnJvbnRlbmRMaWZldGltZUFnZW50cygpCkBA
IC0xODc4LDYgKzE4NzksMTYgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzZXRFeHRyYUhl
YWRlcnMoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGhlYWRlcnMpCiAgICAgfQogfQogCit2
b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnNldFVzZXJBZ2VudE92ZXJyaWRlKGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50KQoreworICAgIG1fdXNlckFnZW50T3ZlcnJpZGUgPSB1c2VyQWdlbnQ7Cit9
CisKK1N0cmluZyBJbnNwZWN0b3JDb250cm9sbGVyOjp1c2VyQWdlbnRPdmVycmlkZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fdXNlckFnZW50T3ZlcnJpZGU7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggZTU3MGM5OC4uNGRjYmRkZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTc1LDYgKzE3NSw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNjcmlwdEltcG9ydGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VTdHJpbmcpOwogCiAgICAgdm9pZCBzZXRFeHRyYUhlYWRlcnMoUGFzc1Jl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+KTsKKyAgICB2b2lkIHNldFVzZXJBZ2VudE92ZXJyaWRlKGNv
bnN0IFN0cmluZyYgdXNlckFnZW50KTsKKyAgICBTdHJpbmcgdXNlckFnZW50T3ZlcnJpZGUoKSBj
b25zdDsKIAogICAgIHZvaWQgZW5zdXJlU2V0dGluZ3NMb2FkZWQoKTsKIApAQCAtMzkyLDYgKzM5
NCw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IG1fcHJv
ZmlsZXJBZ2VudDsKICNlbmRpZgogICAgIE93blB0cjxIVFRQSGVhZGVyTWFwPiBtX2V4dHJhSGVh
ZGVyczsKKyAgICBTdHJpbmcgbV91c2VyQWdlbnRPdmVycmlkZTsKICNpZiBFTkFCTEUoV09SS0VS
UykKICAgICB0eXBlZGVmIEhhc2hNYXA8aW50cHRyX3QsIFJlZlB0cjxJbnNwZWN0b3JXb3JrZXJS
ZXNvdXJjZT4gPiBXb3JrZXJzTWFwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4
dGVuc2lvbkFQSS5qcwppbmRleCBhOWEyNDIzLi41ZjFhNWIyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKQEAgLTM4Nyw5ICszODcsOSBAQCBmdW5jdGlv
biBJbnNwZWN0ZWRXaW5kb3coKQogfQogCiBJbnNwZWN0ZWRXaW5kb3cucHJvdG90eXBlID0gewot
ICAgIHJlbG9hZDogZnVuY3Rpb24oKQorICAgIHJlbG9hZDogZnVuY3Rpb24odXNlckFnZW50KQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1h
bmQ6ICJyZWxvYWQiIH0pOworICAgICAgICByZXR1cm4gZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1
ZXN0KHsgY29tbWFuZDogInJlbG9hZCIsIHVzZXJBZ2VudDogdXNlckFnZW50IH0pOwogICAgIH0s
CiAKICAgICBldmFsOiBmdW5jdGlvbihleHByZXNzaW9uLCBjYWxsYmFjaykKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCmluZGV4IDM3M2M4NTUuLjVh
MTZjOTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25T
ZXJ2ZXIuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZl
ci5qcwpAQCAtMjUyLDggKzI1MiwxMSBAQCBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZyhtZXNzYWdlLm1lc3NhZ2UpOwog
ICAgIH0sCiAKLSAgICBfb25SZWxvYWQ6IGZ1bmN0aW9uKCkKKyAgICBfb25SZWxvYWQ6IGZ1bmN0
aW9uKG1lc3NhZ2UpCiAgICAgeworICAgICAgICBpZiAodHlwZW9mIG1lc3NhZ2UudXNlckFnZW50
ID09PSAic3RyaW5nIikKKyAgICAgICAgICAgIEluc3BlY3RvckJhY2tlbmQuc2V0VXNlckFnZW50
T3ZlcnJpZGUobWVzc2FnZS51c2VyQWdlbnQpOworCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQu
cmVsb2FkUGFnZSgpOwogICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzLk9LKCk7CiAgICAgfSwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBlZjY5MmI2Li41ZDViNGYxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCkBAIC0yNTI3LDYgKzI1MjcsMTQgQEAgaW50IEZyYW1lTG9hZGVyOjpudW1QZW5k
aW5nT3JMb2FkaW5nUmVxdWVzdHMoYm9vbCByZWN1cnNlKSBjb25zdAogCiBTdHJpbmcgRnJhbWVM
b2FkZXI6OnVzZXJBZ2VudChjb25zdCBLVVJMJiB1cmwpIGNvbnN0CiB7CisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKyAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkgeworICAgICAg
ICBTdHJpbmcgdXNlckFnZW50T3ZlcnJpZGUgPSBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkt
PnVzZXJBZ2VudE92ZXJyaWRlKCk7CisgICAgICAgIGlmICghdXNlckFnZW50T3ZlcnJpZGUuaXNF
bXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIHVzZXJBZ2VudE92ZXJyaWRlOworICAgIH0KKyNl
bmRpZgorCiAgICAgcmV0dXJuIG1fY2xpZW50LT51c2VyQWdlbnQodXJsKTsKIH0KIApAQCAtMzAz
Myw3ICszMDQxLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZGVkUmVzb3VyY2VGcm9tTWVtb3J5
Q2FjaGUoY29uc3QgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogCiB2b2lkIEZyYW1lTG9hZGVy
OjphcHBseVVzZXJBZ2VudChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7Ci0gICAgU3RyaW5n
IHVzZXJBZ2VudCA9IGNsaWVudCgpLT51c2VyQWdlbnQocmVxdWVzdC51cmwoKSk7CisgICAgU3Ry
aW5nIHVzZXJBZ2VudCA9IHRoaXMtPnVzZXJBZ2VudChyZXF1ZXN0LnVybCgpKTsKICAgICBBU1NF
UlQoIXVzZXJBZ2VudC5pc051bGwoKSk7CiAgICAgcmVxdWVzdC5zZXRIVFRQVXNlckFnZW50KHVz
ZXJBZ2VudCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>