<?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>152657</bug_id>
          
          <creation_ts>2016-01-02 17:35:37 -0800</creation_ts>
          <short_desc>Web Inspector: Add context menu items to CSS selectors to auto-generate pseudo selectors</short_desc>
          <delta_ts>2016-01-04 19:03:04 -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>Web Inspector</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1152053</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-02 17:35:37 -0800</bug_when>
    <thetext>I often find that having to add &quot;:hover&quot; or &quot;::before&quot; to a style can be very tedious, so a simple context menu item to &quot;Create ::before Rule&quot; would be very helpful.  Clicking this item would generate a new rule with the same selector, except each selector (if they are comma separated) is appended with &quot;::before&quot; and the text of this rule would be set to &quot;content: normal;&quot; as per the spec.  There would be menu items for &quot;:active&quot;, &quot;:focus&quot;, &quot;:hover&quot;, &quot;:visited&quot; (only for links), &quot;::before&quot;, and &quot;::after&quot; in that order.  Obviously, if any of the selectors already contains the item, don&apos;t show it in the context menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152054</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-01-02 17:35:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/24032328&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152058</commentid>
    <comment_count>2</comment_count>
      <attachid>268123</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-02 18:11:35 -0800</bug_when>
    <thetext>Created attachment 268123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152380</commentid>
    <comment_count>3</comment_count>
      <attachid>268123</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-01-04 10:47:12 -0800</bug_when>
    <thetext>Comment on attachment 268123
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js:440
&gt; +            InspectorFrontendHost.copyText(this._style.generateCSSRuleString());

We have had issues with lexical bound this in arrow functions. Was this (and other arrow functions) working?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152384</commentid>
    <comment_count>4</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-04 10:50:55 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; We have had issues with lexical bound this in arrow functions. Was this (and
&gt; other arrow functions) working?

Interestingly enough, I haven&apos;t had any issues with context menu arrow functions. Not really sure why... It is very temperamental and &quot;sometimes&quot; breaks for certain functions and is just fine for others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152453</commentid>
    <comment_count>5</comment_count>
      <attachid>268123</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-04 12:40:11 -0800</bug_when>
    <thetext>Comment on attachment 268123
Patch

Clearing flags on attachment: 268123

Committed r194547: &lt;http://trac.webkit.org/changeset/194547&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152454</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-04 12:40:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152616</commentid>
    <comment_count>7</comment_count>
      <attachid>268123</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-04 18:56:51 -0800</bug_when>
    <thetext>Comment on attachment 268123
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/VisualStyleSelectorTreeItem.js:161
&gt; +        // Only used one colon temporarily since single-colon pseudo elements are valid CSS.
&gt; +        if (WebInspector.CSSStyleManager.PseudoElementNames.some((className) =&gt; this.representedObject.selectorText.includes(&quot;:&quot; + className)))
&gt; +            return;

It would be really nice to de-duplicate this code somehow. We have lots of duplication of ContextMenu duplications all over over the place, so this is not new. But coming up with a good scheme to de-dup this would be great! I totally see one of these getting out of sync with the other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152619</commentid>
    <comment_count>8</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-04 19:03:04 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; It would be really nice to de-duplicate this code somehow. We have lots of
&gt; duplication of ContextMenu duplications all over over the place, so this is
&gt; not new. But coming up with a good scheme to de-dup this would be great! I
&gt; totally see one of these getting out of sync with the other.

Yeah I was trying to think of a way to do just that, but each of them have small minute differences that I couldn&apos;t think of anything simple.  My one idea was to make some sort of static generator which takes in the event and a list of unique id&apos;s (like one for &quot;Copy Rule&quot; and one for &quot;Add :hover Rule&quot;) and returns the context menu item, but it would require a centralization of these types of context menu events (especially hard since the two cases here differ in the way that they refer to their respective CSSStyleDeclaration). I&apos;ll try to work it out a bit more tho (let me know if what I wrote above is just complete gibberish).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268123</attachid>
            <date>2016-01-02 18:11:35 -0800</date>
            <delta_ts>2016-01-04 12:40:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152657-20160102191101.patch</filename>
            <type>text/plain</type>
            <size>13017</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDc5OWVmNWNkZTVmMjdmMGRlNWQ0MjRlNzY1MTA1
OTVkNGQ3MmJlMzkuLjk2MzEyNzk3MmY5OTZhOGVjZjA4YTQzY2M1ODViZTIyNDVmZWRkYzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE2LTAxLTAyICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgogCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEFkZCBjb250ZXh0IG1lbnUgaXRlbXMgdG8gQ1NTIHNlbGVjdG9ycyB0byBhdXRvLWdl
bmVyYXRlIHBzZXVkbyBzZWxlY3RvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MjY1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgaGF2aW5nIHRvIGNvcHkgYSBzZWxlY3RvciwgY3Jl
YXRlIGEgbmV3IG9uZSwgcGFzdGUgaXQsIGFuZCB0aGVuIGFkZAorICAgICAgICBhIHBzZXVkbyBj
bGFzcyBvciBlbGVtZW50LCBhIGNvbnRleHQgbWVudSBpdGVtIGhhcyBiZWVuIGFkZGVkIHRvIGF1
dG9tYXRlIHRoaXMKKyAgICAgICAgcHJvY2VzcyBmb3IgdGhlIHVzZXIgZm9yIGVhY2ggQ1NTIHBz
ZXVkby1zZWxlY3Rvci4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxp
emVkU3RyaW5ncy5qczoKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NT
U3R5bGVNYW5hZ2VyLmpzOgorICAgICAgICBBZGRlZCBhIHN0YXRpYyBvYmplY3QgY29udGFpbmlu
ZyB0aGUgbGlzdCBvZiBDU1MgcHNldWRvLWVsZW1lbnQgbmFtZXMuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLmFkZFJ1bGUuY29tcGxldGVkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5ET01Ob2RlU3R5bGVzLnByb3RvdHlwZS5hZGRSdWxlLnN0eWxlQ2hhbmdlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZVN0eWxlcy5wcm90b3R5cGUuYWRkUnVsZS5h
ZGRlZFJ1bGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMucHJvdG90eXBl
LmFkZFJ1bGUpOgorICAgICAgICBOb3cgYWNjZXB0cyBhIHNlY29uZCBhcmd1bWVudCBmb3Igc2V0
dGluZyB0aGUgc3RhcnRpbmcgdGV4dCB2YWx1ZSBvZiB0aGUgbmV3IHJ1bGUuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5f
aGFuZGxlU2VsZWN0b3JQYXN0ZSk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Zp
c3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1
YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0ucHJvdG90eXBlLl9oYW5kbGVDb250ZXh0TWVudUV2ZW50
KToKKworMjAxNi0wMS0wMiAgRGV2aW4gUm91c3NvICA8ZGNyb3Vzc28rd2Via2l0QGdtYWlsLmNv
bT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBMaXN0IGFsbCByZXNvdXJjZXMgdGhhdCBhcmUg
aW5pdGlhdGVkIGJ5IHRoZSBzZWxlY3RlZCByZXNvdXJjZSBpbiB0aGUgTmV0d29yayB0YWIKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjY0NwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCAzNzgzYWFlY2EzNzgzZWM2YjAwY2Rm
NjZkNGE0NmU5M2I0ZTU3NGJlLi4zMWUwMjg4ODZkNTA0NWY4YTZkNzdkM2MzYTBkMGRiMDQwOTRi
NDBlIDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDYzCnpjbWV6TmpeKT9+bUpSJHUlJkg4
PGxQQ0N6UG5IJHMwSkdRbW5OQmAwI0ljIVFEOVIyaERMSl9fZkNubVJ6Qng4UApHQDtMeWwkclQ5
egoKZGVsdGEgMTkKYmNtWF4xZiN1c2ZtSlIkdW4rdGBhPl41NWxAOyhPdVU4TStmCgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NT
U3R5bGVNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvQ1NTU3R5bGVNYW5hZ2VyLmpzCmluZGV4IGIzMmI5MzMyMTg5NzkwMzViMzQwOWVm
MWU1NGY3ZWJkOWVmNDMxMGYuLmQyZDY5ODFhYTI1Y2MzMmM2NTRjYmViYjYxNWMxNDhhNzlmY2Jj
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL0NTU1N0eWxlTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Db250cm9sbGVycy9DU1NTdHlsZU1hbmFnZXIuanMKQEAgLTU0MCw1ICs1NDAs
NiBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNYW5hZ2VyLkV2ZW50ID0gewogICAgIFN0eWxlU2hl
ZXRSZW1vdmVkOiAiY3NzLXN0eWxlLW1hbmFnZXItc3R5bGUtc2hlZXQtcmVtb3ZlZCIsCiB9Owog
CitXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNYW5hZ2VyLlBzZXVkb0VsZW1lbnROYW1lcyA9IFsiYmVm
b3JlIiwgImFmdGVyIl07CiBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNYW5hZ2VyLkZvcmNlYWJsZVBz
ZXVkb0NsYXNzZXMgPSBbImFjdGl2ZSIsICJmb2N1cyIsICJob3ZlciIsICJ2aXNpdGVkIl07CiBX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVNYW5hZ2VyLlByZWZlcnJlZEluc3BlY3RvclN0eWxlU2hlZXRT
eW1ib2wgPSBTeW1ib2woImNzcy1zdHlsZS1tYW5hZ2VyLXByZWZlcnJlZC1pbnNwZWN0b3Itc3R5
bGVzaGVldCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qcwppbmRleCBiNjc2OTkxNjc4ZGUzOWFhYzhm
ZWQ1YzRhZmJhMjk5MDZhYWU1MDI3Li45YzlkMWI4NGQzYTllMDk1YzhlYzUwMDk1YTcxMzE2YzA2
MGE1ZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvRE9NTm9kZVN0eWxlcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qcwpAQCAtMjIzLDE2ICsyMjMsMzUgQEAgV2Vi
SW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMgPSBjbGFzcyBET01Ob2RlU3R5bGVzIGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLk9iamVjdAogICAgICAgICBDU1NBZ2VudC5nZXRDb21wdXRlZFN0eWxlRm9yTm9k
ZS5pbnZva2Uoe25vZGVJZDogdGhpcy5fbm9kZS5pZH0sIGZldGNoZWRDb21wdXRlZFN0eWxlLmJp
bmQodGhpcykpOwogICAgIH0KIAotICAgIGFkZFJ1bGUoc2VsZWN0b3IgPSB0aGlzLl9ub2RlLmFw
cHJvcHJpYXRlU2VsZWN0b3JGb3IodHJ1ZSkpCisgICAgYWRkUnVsZShzZWxlY3RvciwgdGV4dCkK
ICAgICB7CisgICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IgfHwgdGhpcy5fbm9kZS5hcHByb3By
aWF0ZVNlbGVjdG9yRm9yKHRydWUpOworCisgICAgICAgIGZ1bmN0aW9uIGNvbXBsZXRlZCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIERPTUFnZW50Lm1hcmtVbmRvYWJsZVN0YXRlKCk7CisgICAg
ICAgICAgICB0aGlzLnJlZnJlc2goKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHN0
eWxlQ2hhbmdlZChlcnJvciwgc3R5bGVQYXlsb2FkKQorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBjb21wbGV0
ZWQuY2FsbCh0aGlzKTsKKyAgICAgICAgfQorCiAgICAgICAgIGZ1bmN0aW9uIGFkZGVkUnVsZShl
cnJvciwgcnVsZVBheWxvYWQpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChlcnJvcikKICAg
ICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIERPTUFnZW50Lm1hcmtVbmRvYWJs
ZVN0YXRlKCk7CisgICAgICAgICAgICBpZiAoIXRleHQgfHwgIXRleHQubGVuZ3RoKSB7CisgICAg
ICAgICAgICAgICAgY29tcGxldGVkLmNhbGwodGhpcyk7CisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgfQogCi0gICAgICAgICAgICB0aGlzLnJlZnJlc2goKTsKKyAgICAgICAg
ICAgIENTU0FnZW50LnNldFN0eWxlVGV4dChydWxlUGF5bG9hZC5zdHlsZS5zdHlsZUlkLCB0ZXh0
LCBzdHlsZUNoYW5nZWQuYmluZCh0aGlzKSk7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBDT01Q
QVRJQklMSVRZIChpT1MgOSk6IEJlZm9yZSBDU1MuY3JlYXRlU3R5bGVTaGVldCwgQ1NTLmFkZFJ1
bGUgY291bGQgYmUgY2FsbGVkIHdpdGggYSBjb250ZXh0Tm9kZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25T
ZWN0aW9uLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKaW5kZXggODFmMGVkMmJhMmE1ZTA1OTYwNWNhNDkw
MzA1ZDQ5NmRmMDE0ZTI2Ny4uN2Q4MTYzMDRiNGU1MzlhZTBiYTAzNTg3ZDg2OWFjYzViMzBkZGYy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKQEAgLTQz
NiwxOCArNDM2LDYxIEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9
IGNsYXNzIENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uIGV4dGVuCiAKICAgICAgICAgbGV0IGNv
bnRleHRNZW51ID0gV2ViSW5zcGVjdG9yLkNvbnRleHRNZW51LmNyZWF0ZUZyb21FdmVudChldmVu
dCk7CiAKLSAgICAgICAgaWYgKCF0aGlzLl9zdHlsZS5pbmhlcml0ZWQpIHsKLSAgICAgICAgICAg
IGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEdXBsaWNhdGUg
U2VsZWN0b3IiKSwgKCkgPT4geworICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYklu
c3BlY3Rvci5VSVN0cmluZygiQ29weSBSdWxlIiksICgpID0+IHsKKyAgICAgICAgICAgIEluc3Bl
Y3RvckZyb250ZW5kSG9zdC5jb3B5VGV4dCh0aGlzLl9zdHlsZS5nZW5lcmF0ZUNTU1J1bGVTdHJp
bmcoKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGlmICh0aGlzLl9zdHlsZS5pbmhlcml0ZWQp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkR1cGxpY2F0ZSBTZWxlY3RvciIpLCAoKSA9PiB7CisgICAg
ICAgICAgICBpZiAodGhpcy5fZGVsZWdhdGUgJiYgdHlwZW9mIHRoaXMuX2RlbGVnYXRlLmNzc1N0
eWxlRGVjbGFyYXRpb25TZWN0aW9uRm9jdXNOZXh0TmV3SW5zcGVjdG9yUnVsZSA9PT0gImZ1bmN0
aW9uIikKKyAgICAgICAgICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5jc3NTdHlsZURlY2xhcmF0aW9u
U2VjdGlvbkZvY3VzTmV4dE5ld0luc3BlY3RvclJ1bGUoKTsKKworICAgICAgICAgICAgdGhpcy5f
c3R5bGUubm9kZVN0eWxlcy5hZGRSdWxlKHRoaXMuX2N1cnJlbnRTZWxlY3RvclRleHQpOworICAg
ICAgICB9KTsKKworICAgICAgICAvLyBPbmx5IHVzZWQgb25lIGNvbG9uIHRlbXBvcmFyaWx5IHNp
bmNlIHNpbmdsZS1jb2xvbiBwc2V1ZG8gZWxlbWVudHMgYXJlIHZhbGlkIENTUy4KKyAgICAgICAg
aWYgKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1hbmFnZXIuUHNldWRvRWxlbWVudE5hbWVzLnNvbWUo
KGNsYXNzTmFtZSkgPT4gdGhpcy5fc3R5bGUuc2VsZWN0b3JUZXh0LmluY2x1ZGVzKCI6IiArIGNs
YXNzTmFtZSkpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmIChXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVNYW5hZ2VyLkZvcmNlYWJsZVBzZXVkb0NsYXNzZXMuZXZlcnkoKGNsYXNzTmFt
ZSkgPT4gIXRoaXMuX3N0eWxlLnNlbGVjdG9yVGV4dC5pbmNsdWRlcygiOiIgKyBjbGFzc05hbWUp
KSkgeworICAgICAgICAgICAgZm9yIChsZXQgcHNldWRvQ2xhc3Mgb2YgV2ViSW5zcGVjdG9yLkNT
U1N0eWxlTWFuYWdlci5Gb3JjZWFibGVQc2V1ZG9DbGFzc2VzKSB7CisgICAgICAgICAgICAgICAg
aWYgKHBzZXVkb0NsYXNzID09PSAidmlzaXRlZCIgJiYgdGhpcy5fc3R5bGUubm9kZS5ub2RlTmFt
ZSgpICE9PSAiQSIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAg
ICAgICAgbGV0IHBzZXVkb0NsYXNzU2VsZWN0b3IgPSAiOiIgKyBwc2V1ZG9DbGFzczsKKworICAg
ICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJBZGQgJXMgUnVsZSIpLmZvcm1hdChwc2V1ZG9DbGFzc1NlbGVjdG9yKSwgKCkgPT4geworICAg
ICAgICAgICAgICAgICAgICB0aGlzLl9zdHlsZS5ub2RlLnNldFBzZXVkb0NsYXNzRW5hYmxlZChw
c2V1ZG9DbGFzcywgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2RlbGVn
YXRlICYmIHR5cGVvZiB0aGlzLl9kZWxlZ2F0ZS5jc3NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbkZv
Y3VzTmV4dE5ld0luc3BlY3RvclJ1bGUgPT09ICJmdW5jdGlvbiIpCisgICAgICAgICAgICAgICAg
ICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5jc3NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbkZvY3VzTmV4
dE5ld0luc3BlY3RvclJ1bGUoKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fc3R5
bGUub3duZXJSdWxlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcHNldWRvU2VsZWN0
b3JzID0gdGhpcy5fc3R5bGUub3duZXJSdWxlLnNlbGVjdG9ycy5tYXAoKHNlbGVjdG9yKSA9PiBz
ZWxlY3Rvci50ZXh0ICsgcHNldWRvQ2xhc3NTZWxlY3Rvcik7CisgICAgICAgICAgICAgICAgICAg
ICAgICB0aGlzLl9zdHlsZS5ub2RlU3R5bGVzLmFkZFJ1bGUocHNldWRvU2VsZWN0b3JzLmpvaW4o
IiwiKSk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy5fc3R5bGUubm9kZVN0eWxlcy5hZGRSdWxlKHRoaXMuX2N1cnJlbnRTZWxlY3RvclRl
eHQgKyBwc2V1ZG9DbGFzc1NlbGVjdG9yKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGZvciAobGV0IHBzZXVkb0VsZW1lbnQgb2YgV2Vi
SW5zcGVjdG9yLkNTU1N0eWxlTWFuYWdlci5Qc2V1ZG9FbGVtZW50TmFtZXMpIHsKKyAgICAgICAg
ICAgIGxldCBwc2V1ZG9FbGVtZW50U2VsZWN0b3IgPSAiOjoiICsgcHNldWRvRWxlbWVudDsKKyAg
ICAgICAgICAgIGNvbnN0IHN0eWxlVGV4dCA9ICJjb250ZW50OiBcIlwiOyI7CisKKyAgICAgICAg
ICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDcmVhdGUg
JXMgUnVsZSIpLmZvcm1hdChwc2V1ZG9FbGVtZW50U2VsZWN0b3IpLCAoKSA9PiB7CiAgICAgICAg
ICAgICAgICAgaWYgKHRoaXMuX2RlbGVnYXRlICYmIHR5cGVvZiB0aGlzLl9kZWxlZ2F0ZS5jc3NT
dHlsZURlY2xhcmF0aW9uU2VjdGlvbkZvY3VzTmV4dE5ld0luc3BlY3RvclJ1bGUgPT09ICJmdW5j
dGlvbiIpCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2RlbGVnYXRlLmNzc1N0eWxlRGVjbGFy
YXRpb25TZWN0aW9uRm9jdXNOZXh0TmV3SW5zcGVjdG9yUnVsZSgpOwogCi0gICAgICAgICAgICAg
ICAgdGhpcy5fc3R5bGUubm9kZVN0eWxlcy5hZGRSdWxlKHRoaXMuX2N1cnJlbnRTZWxlY3RvclRl
eHQpOworICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zdHlsZS5vd25lclJ1bGUpIHsKKyAgICAg
ICAgICAgICAgICAgICAgbGV0IHBzZXVkb1NlbGVjdG9ycyA9IHRoaXMuX3N0eWxlLm93bmVyUnVs
ZS5zZWxlY3RvcnMubWFwKChzZWxlY3RvcikgPT4gc2VsZWN0b3IudGV4dCArIHBzZXVkb0VsZW1l
bnRTZWxlY3Rvcik7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0eWxlLm5vZGVTdHlsZXMu
YWRkUnVsZShwc2V1ZG9TZWxlY3RvcnMuam9pbigiLCIpLCBzdHlsZVRleHQpOworICAgICAgICAg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdHlsZS5ub2RlU3R5bGVz
LmFkZFJ1bGUodGhpcy5fY3VycmVudFNlbGVjdG9yVGV4dCArIHBzZXVkb0VsZW1lbnRTZWxlY3Rv
ciwgc3R5bGVUZXh0KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9Ci0KLSAgICAgICAgY29u
dGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvcHkgUnVsZSIpLCAo
KSA9PiB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuY29weVRleHQodGhpcy5f
c3R5bGUuZ2VuZXJhdGVDU1NSdWxlU3RyaW5nKCkpOwotICAgICAgICB9KTsKICAgICB9CiAKICAg
ICBfaGFuZGxlSWNvbkVsZW1lbnRDbGlja2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxl
U2VsZWN0b3JUcmVlSXRlbS5qcwppbmRleCAyMmE4Y2E4N2M3ZTlkYmViNzhiMTdiYmY0MThmMzc4
ODkzOTVhN2Y5Li5iYTUzOGJiZTE5MmZkMDllOWM4ZTE1MWJlZjUwNGY4ZTc4OGZjZmYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxT
dHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLmpzCkBAIC0xMzcsMTUg
KzEzNyw2IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0gPSBjbGFz
cyBWaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0gZXh0CiAgICAgewogICAgICAgICBsZXQgY29u
dGV4dE1lbnUgPSBXZWJJbnNwZWN0b3IuQ29udGV4dE1lbnUuY3JlYXRlRnJvbUV2ZW50KGV2ZW50
KTsKIAotICAgICAgICBpZiAodGhpcy5yZXByZXNlbnRlZE9iamVjdC5vd25lclJ1bGUpIHsKLSAg
ICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJT
aG93IFNvdXJjZSIpLCAoKSA9PiB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50Lm1ldGFLZXkp
Ci0gICAgICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93T3JpZ2luYWxVbmZvcm1hdHRl
ZFNvdXJjZUNvZGVMb2NhdGlvbih0aGlzLnJlcHJlc2VudGVkT2JqZWN0Lm93bmVyUnVsZS5zb3Vy
Y2VDb2RlTG9jYXRpb24pOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAg
ICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2RlTG9jYXRpb24odGhpcy5yZXByZXNlbnRlZE9i
amVjdC5vd25lclJ1bGUuc291cmNlQ29kZUxvY2F0aW9uKTsKLSAgICAgICAgICAgIH0pOwotICAg
ICAgICB9Ci0KICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkNvcHkgUnVsZSIpLCAoKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVu
ZEhvc3QuY29weVRleHQodGhpcy5yZXByZXNlbnRlZE9iamVjdC5nZW5lcmF0ZUNTU1J1bGVTdHJp
bmcoKSk7CiAgICAgICAgIH0pOwpAQCAtMTU0LDYgKzE0NSw1MiBAQCBXZWJJbnNwZWN0b3IuVmlz
dWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtID0gY2xhc3MgVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJ
dGVtIGV4dAogICAgICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZXNldFRleHQoKTsK
ICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5W
aXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uRXZlbnQuU3R5bGVUZXh0UmVzZXQpOwogICAgICAg
ICB9KTsKKworICAgICAgICBpZiAoIXRoaXMucmVwcmVzZW50ZWRPYmplY3Qub3duZXJSdWxlKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJTaG93IFNvdXJjZSIpLCAoKSA9PiB7CisgICAgICAgICAgICBp
ZiAoZXZlbnQubWV0YUtleSkKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd09yaWdp
bmFsVW5mb3JtYXR0ZWRTb3VyY2VDb2RlTG9jYXRpb24odGhpcy5yZXByZXNlbnRlZE9iamVjdC5v
d25lclJ1bGUuc291cmNlQ29kZUxvY2F0aW9uKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbih0aGlzLnJlcHJlc2Vu
dGVkT2JqZWN0Lm93bmVyUnVsZS5zb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICB9KTsKKwor
ICAgICAgICAvLyBPbmx5IHVzZWQgb25lIGNvbG9uIHRlbXBvcmFyaWx5IHNpbmNlIHNpbmdsZS1j
b2xvbiBwc2V1ZG8gZWxlbWVudHMgYXJlIHZhbGlkIENTUy4KKyAgICAgICAgaWYgKFdlYkluc3Bl
Y3Rvci5DU1NTdHlsZU1hbmFnZXIuUHNldWRvRWxlbWVudE5hbWVzLnNvbWUoKGNsYXNzTmFtZSkg
PT4gdGhpcy5yZXByZXNlbnRlZE9iamVjdC5zZWxlY3RvclRleHQuaW5jbHVkZXMoIjoiICsgY2xh
c3NOYW1lKSkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rv
ci5DU1NTdHlsZU1hbmFnZXIuRm9yY2VhYmxlUHNldWRvQ2xhc3Nlcy5ldmVyeSgoY2xhc3NOYW1l
KSA9PiAhdGhpcy5yZXByZXNlbnRlZE9iamVjdC5zZWxlY3RvclRleHQuaW5jbHVkZXMoIjoiICsg
Y2xhc3NOYW1lKSkpIHsKKyAgICAgICAgICAgIGZvciAobGV0IHBzZXVkb0NsYXNzIG9mIFdlYklu
c3BlY3Rvci5DU1NTdHlsZU1hbmFnZXIuRm9yY2VhYmxlUHNldWRvQ2xhc3NlcykgeworICAgICAg
ICAgICAgICAgIGlmIChwc2V1ZG9DbGFzcyA9PT0gInZpc2l0ZWQiICYmIHRoaXMucmVwcmVzZW50
ZWRPYmplY3Qubm9kZS5ub2RlTmFtZSgpICE9PSAiQSIpCisgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworCisgICAgICAgICAgICAgICAgbGV0IHBzZXVkb0NsYXNzU2VsZWN0b3IgPSAiOiIg
KyBwc2V1ZG9DbGFzczsKKworICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0o
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBZGQgJXMgUnVsZSIpLmZvcm1hdChwc2V1ZG9DbGFzc1Nl
bGVjdG9yKSwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICB0aGlzLnJlcHJlc2VudGVkT2Jq
ZWN0Lm5vZGUuc2V0UHNldWRvQ2xhc3NFbmFibGVkKHBzZXVkb0NsYXNzLCB0cnVlKTsKKworICAg
ICAgICAgICAgICAgICAgICBpZiAodGhpcy5yZXByZXNlbnRlZE9iamVjdC5vd25lclJ1bGUpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwc2V1ZG9TZWxlY3RvcnMgPSB0aGlzLnJlcHJl
c2VudGVkT2JqZWN0Lm93bmVyUnVsZS5zZWxlY3RvcnMubWFwKChzZWxlY3RvcikgPT4gc2VsZWN0
b3IudGV4dCArIHBzZXVkb0NsYXNzU2VsZWN0b3IpOworICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy5yZXByZXNlbnRlZE9iamVjdC5ub2RlU3R5bGVzLmFkZFJ1bGUocHNldWRvU2VsZWN0b3Jz
LmpvaW4oIiwiKSk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAg
ICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5ub2RlU3R5bGVzLmFkZFJ1bGUodGhpcy5f
Y3VycmVudFNlbGVjdG9yVGV4dCArIHBzZXVkb0NsYXNzU2VsZWN0b3IpOworICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgZm9yIChsZXQgcHNl
dWRvRWxlbWVudCBvZiBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNYW5hZ2VyLlBzZXVkb0VsZW1lbnRO
YW1lcykgeworICAgICAgICAgICAgbGV0IHBzZXVkb0VsZW1lbnRTZWxlY3RvciA9ICI6OiIgKyBw
c2V1ZG9FbGVtZW50OworICAgICAgICAgICAgY29uc3Qgc3R5bGVUZXh0ID0gImNvbnRlbnQ6IFwi
XCI7IjsKKworICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkNyZWF0ZSAlcyBSdWxlIikuZm9ybWF0KHBzZXVkb0VsZW1lbnRTZWxlY3Rvciks
ICgpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5yZXByZXNlbnRlZE9iamVjdC5vd25l
clJ1bGUpIHsKKyAgICAgICAgICAgICAgICAgICAgbGV0IHBzZXVkb1NlbGVjdG9ycyA9IHRoaXMu
cmVwcmVzZW50ZWRPYmplY3Qub3duZXJSdWxlLnNlbGVjdG9ycy5tYXAoKHNlbGVjdG9yKSA9PiBz
ZWxlY3Rvci50ZXh0ICsgcHNldWRvRWxlbWVudFNlbGVjdG9yKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5ub2RlU3R5bGVzLmFkZFJ1bGUocHNldWRvU2VsZWN0
b3JzLmpvaW4oIiwiKSwgc3R5bGVUZXh0KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5ub2RlU3R5bGVzLmFkZFJ1bGUo
dGhpcy5fY3VycmVudFNlbGVjdG9yVGV4dCArIHBzZXVkb0VsZW1lbnRTZWxlY3Rvciwgc3R5bGVU
ZXh0KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CiAgICAgfQogCiAgICAgX2hhbmRsZUNo
ZWNrYm94Q2hhbmdlZChldmVudCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>