<?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>156919</bug_id>
          
          <creation_ts>2016-04-22 10:56:32 -0700</creation_ts>
          <short_desc>Web Inspector: Debugger statement in console does not provide any call frames and debugger UI is confused</short_desc>
          <delta_ts>2016-04-22 13:42:09 -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</component>
          <version>WebKit Local 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>
          
          <blocked>156924</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>bburg</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>1186320</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-04-22 10:56:32 -0700</bug_when>
    <thetext>Steps:

1. In the console, make a method call that has an anonymous callback function with a debugger statement. Example method call below:

navigator.geolocation.getCurrentPosition(function(position){ console.log(position); debugger;}, function(error){ console.log(error); debugger; });

2. When prompted for user location access, deny permission.

3. Type `error` in the console to access the `error` argument of the callback function.

Results:

I expect to see the error (PositionError object) and have the ability to access its properties, but I get &quot;ReferenceError: Can&apos;t find variable: error&quot;. 

The debugger is paused, but it is not paused on any specific point. I also expect to see the debugger paused on the debugger statement within the anonymous function.

&lt;rdar://problem/25857118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186329</commentid>
    <comment_count>1</comment_count>
      <attachid>277079</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-04-22 11:13:39 -0700</bug_when>
    <thetext>Created attachment 277079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186339</commentid>
    <comment_count>2</comment_count>
      <attachid>277079</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-04-22 11:34:27 -0700</bug_when>
    <thetext>Comment on attachment 277079
Patch

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

&gt; Source/WebInspectorUI/ChangeLog:6
&gt; +        Web Inspector: Debugger statement in console does not provide any call frames and debugger UI is confused
&gt; +
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=156919
&gt; +        rdar://problem/25857118

Unexpected empty line (changes git log --oneline when committed).

&gt; Source/WebInspectorUI/UserInterface/Base/Utilities.js:1260
&gt; +    if (string.includes(&quot;//# sourceURL&quot;))
&gt; +        return string;

I worry about how expensive this could get, but at the moment I don&apos;t think we ever have very large strings.

&gt; Source/WebInspectorUI/UserInterface/Base/Utilities.js:1276
&gt; +function isWebInspectorConsoleExpressionScript(url)

Maybe &quot;isWebInspectorConsoleEvaluationScript&quot;. s/Expression/Evaluation/

&gt; Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js:-583
&gt; -        if (isWebInspectorInternalScript(sourceURL))
&gt; -            return;
&gt; -

I think this can be left in. Now that you have separated Console Evaluations from other Internal Scripts. I don&apos;t think we want to create and keep around a WebInspector.Script for every internal script.

&gt; Source/WebInspectorUI/UserInterface/Models/Script.js:103
&gt; +            return WebInspector.UIString(&quot;Console Expression %d&quot;).format(this._uniqueDisplayNameNumber);

Nit: I like &quot;Console Evaluation %d&quot; instead of &quot;Expression&quot;. Since you can evaluate more then just a single expression in the console, its technically a whole program evaluation.

&gt; Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js:211
&gt; +        var treeElement = this.contentTreeOutline.findTreeElement(representedObject);

Style: `let`

&gt; Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js:466
&gt; +        return treeElement;

The other returns here should probably return `null` now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186341</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-04-22 11:36:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/25881551&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186351</commentid>
    <comment_count>4</comment_count>
      <attachid>277079</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-04-22 11:50:06 -0700</bug_when>
    <thetext>Comment on attachment 277079
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js:551
&gt; +        if (!this._activeCallFrame) {
&gt; +            this._didResumeInternal();
&gt; +            return;
&gt; +        }

Maybe we should add an assert / warning for our purposes. This might catch something in the future where we expected to pause and didn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186354</commentid>
    <comment_count>5</comment_count>
      <attachid>277079</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-04-22 11:57:34 -0700</bug_when>
    <thetext>Comment on attachment 277079
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Models/Script.js:53
&gt;      static resetUniqueDisplayNameNumbers()

It doesn&apos;t look like this ever gets called the first time the inspector opens. Only after page loads. I think DebuggerManager should call this in its constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186378</commentid>
    <comment_count>6</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-04-22 12:53:37 -0700</bug_when>
    <thetext>https://trac.webkit.org/r199897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186393</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-04-22 13:28:58 -0700</bug_when>
    <thetext>Follow up: https://trac.webkit.org/r199899</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277079</attachid>
            <date>2016-04-22 11:13:39 -0700</date>
            <delta_ts>2016-04-22 11:34:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156919-20160422111402.patch</filename>
            <type>text/plain</type>
            <size>10852</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA1
YTY5MjAyZDViOGJiY2QzZmRhYjQ3YjBmY2Y1YzYxMjg3ZjFkODdmLi42MThiNjRhZGVjY2YwYTkx
YTljMjdiNGE5OGE0ZGRiMDA0ZWY1YjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NSBAQAorMjAxNi0wNC0yMiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRGVidWdnZXIgc3RhdGVtZW50IGluIGNvbnNv
bGUgZG9lcyBub3QgcHJvdmlkZSBhbnkgY2FsbCBmcmFtZXMgYW5kIGRlYnVnZ2VyIFVJIGlzIGNv
bmZ1c2VkCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NjkxOQorICAgICAgICByZGFyOi8vcHJvYmxlbS8yNTg1NzExOAorCisgICAgICAgIFRoaXMg
bWFrZXMgY29uc29sZSBleHByZXNzaW9ucyBzaG93IHVwIGluIHRoZSBEZWJ1Z2dlciB0YWIgc2lk
ZWJhciBpZiBhIFNjcmlwdENvbnRlbnRWaWV3IGlzIHNob3duIGZvciB0aGVtLgorICAgICAgICBX
ZSBub3cgYWxzbyBzaG93IGNhbGwgZnJhbWVzIHRoYXQgb3JpZ2luYXRlIGZyb20gYSBjb25zb2xl
IGV4cHJlc3Npb24sIHNvIHRoZSBjYWxsIGZyYW1lcyBpbiB0aGUgc2lkZWJhciBpcyBub3QgZW1w
dHkuCisgICAgICAgIEFsc28gZml4IGEgYnVnIHdoZXJlIHdoZW4gdGhlcmUgYXJlIG5vIGNhbGwg
ZnJhbWVzIHdlIGF1dG8gcmVzdW1lIHRoZSBkZWJ1Z2dlciBhbmQgZG9uJ3QgbGVhdmUgaXQgaW4g
YSBicm9rZW4gc3RhdGUuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6IFVw
ZGF0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzOgorICAg
ICAgICAoYXBwZW5kV2ViSW5zcGVjdG9yU291cmNlVVJMKTogRG9uJ3QgYXBwZW5kIGlmIGFub3Ro
ZXIgc291cmNlVVJMIGlzIGFscmVhZHkgYWRkZWQuCisgICAgICAgIChhcHBlbmRXZWJJbnNwZWN0
b3JDb25zb2xlRXhwcmVzc2lvblNvdXJjZVVSTCk6IEFkZGVkLgorICAgICAgICAoaXNXZWJJbnNw
ZWN0b3JDb25zb2xlRXhwcmVzc2lvblNjcmlwdCk6IEFkZGVkLgorICAgICAgICAoaXNXZWJLaXRJ
bnRlcm5hbFNjcmlwdCk6IFJldHVybiBmYWxzZSBmb3IgaXNXZWJJbnNwZWN0b3JDb25zb2xlRXhw
cmVzc2lvblNjcmlwdCgpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9E
ZWJ1Z2dlck1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2Vy
LnByb3RvdHlwZS5kZWJ1Z2dlckRpZFBhdXNlKTogUmVzdW1lIGlmIGNhbGwgZnJhbWVzIGlzIGVt
cHR5LiBUaGlzIGlzIG5vdCBhcyBjb21tb24gbm93CisgICAgICAgIHNpbmNlIGNvbnNvbGUgZXhw
cmVzc2lvbiBjYWxsIGZyYW1lcyBhcmUgbm90IHNraXBwZWQuCisgICAgICAgIChXZWJJbnNwZWN0
b3IuRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5zY3JpcHREaWRQYXJzZSk6IFJlbW92ZSBhbiBl
YXJseSByZXR1cm4gZm9yIGlzV2ViSW5zcGVjdG9ySW50ZXJuYWxTY3JpcHQoKS4KKyAgICAgICAg
VGhpcyB3YXMgc2tpcHBpbmcgYWRkaW5nIGludGVybmFsIHNjcmlwdHMgdG8gdGhlIGtub3duIHNj
cmlwdCBsaXN0cywgYnV0IHdlIGFscmVhZHkgaGF2ZSBhIGNoZWNrIGZ1cnRoZXIgZG93bgorICAg
ICAgICB0aGF0IGFsc28gY2hlY2tzIGlmIHRoZSBkZWJ1ZyBVSSBpcyBlbmFibGVkLiBUaGlzIGxl
dHMgdG9nZ2xpbmcgdGhlIGRlYnVnIFVJIGFsd2F5cyBzaG93IGludGVybmFsIHNjcmlwdHMuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29u
dHJvbGxlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0TG9nVmlld0NvbnRy
b2xsZXIucHJvdG90eXBlLmNvbnNvbGVQcm9tcHRUZXh0Q29tbWl0dGVkKToKKyAgICAgICAgQ2Fs
bCBhcHBlbmRXZWJJbnNwZWN0b3JDb25zb2xlRXhwcmVzc2lvblNvdXJjZVVSTCBzbyB0aGUgY29u
c29sZSBleHByZXNzaW9ucyBhcmUgdGFnZ2VkIGJlZm9yZSBldmFsdWF0ZUluSW5zcGVjdGVkV2lu
ZG93CisgICAgICAgIGFkZGVkIHRoZSBpbnRlcm5hbCBzb3VyY2VVUkwgbmFtZS4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TY3JpcHQucmVzZXRVbmlxdWVEaXNwbGF5TmFtZU51bWJlcnMpOiBSZXNldCBfbmV4dFVuaXF1
ZUNvbnNvbGVEaXNwbGF5TmFtZU51bWJlci4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHQu
cHJvdG90eXBlLmdldCBkaXNwbGF5TmFtZSk6IFNwZWNpYWwgY2FzZSBjb25zb2xlIGV4cHJlc3Np
b25zIHdpdGggYSBiZXR0ZXIgbmFtZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
RGVidWdnZXJTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJT
aWRlYmFyUGFuZWwucHJvdG90eXBlLnRyZWVFbGVtZW50Rm9yUmVwcmVzZW50ZWRPYmplY3QpOiBB
ZGQgYSBzY3JpcHQgdHJlZSBlbGVtZW50IG9uIGRlbWFuZAorICAgICAgICBsaWtlIHRoZSBSZXNv
dXJjZVNpZGViYXJQYW5lbCBkb2VzIGZvciBhbm9ueW1vdXMgc2NyaXB0cy4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlclNpZGViYXJQYW5lbC5wcm90b3R5cGUuX2FkZFNjcmlwdCk6IFJl
dHVybiB0cmVlRWxlbWVudCBzbyB0cmVlRWxlbWVudEZvclJlcHJlc2VudGVkT2JqZWN0IGNhbiB1
c2UgaXQuCisKIDIwMTYtMDQtMjAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBjb25zb2xlLnRhYmxlKG5hdmlnYXRvcikgdGhy
b3dzIGV4Y2VwdGlvbiBhYm91dCBgcm93UHJldmlldy5wcm9wZXJ0eVByZXZpZXdzLmxlbmd0aGAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9q
L2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9u
cy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGM2OTM1ZGQzNzRjMjZmZTg2Mjky
ZDlkZmIzZmRmMDM0ZTliMzc3MzUuLmU1MjhmNWNlNjg3ZWQzMjFiNmEzYTc1NzM5MzJiZThlZDQw
ZTljNjAgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgNDIKd2NtZG1WbXZ6clEpKHdVc2xR
KVpxRmVAO3FQV0I2dDJlQnZmc35BaV5BSSNVUkFGXkZQZ3QxdSkwOHp2YWNtTXpaCgpkZWx0YSAx
OAphY21kbVVrOUVecykod1VzJkFVVWs/KyMmWGxtWS0oLXcwZyoKCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzCmluZGV4IGFi
YzdkNzQ5MDMyYzcwM2QwNTg4NmM5ZWM1MDc0YWU0OTgzYjZkYzguLjQwZTNiYzJjZmRmMDk2N2Iz
NDRkYzE5Yzk5ZGVlZDA1NjY5MzVlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzCkBAIC0xMjU2LDE2ICsxMjU2LDMy
IEBAIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJiaW5hcnlJbmRleE9m
IiwKIAogZnVuY3Rpb24gYXBwZW5kV2ViSW5zcGVjdG9yU291cmNlVVJMKHN0cmluZykKIHsKKyAg
ICBpZiAoc3RyaW5nLmluY2x1ZGVzKCIvLyMgc291cmNlVVJMIikpCisgICAgICAgIHJldHVybiBz
dHJpbmc7CiAgICAgcmV0dXJuICJcbi8vIyBzb3VyY2VVUkw9X19XZWJJbnNwZWN0b3JJbnRlcm5h
bF9fXG4iICsgc3RyaW5nOwogfQogCitmdW5jdGlvbiBhcHBlbmRXZWJJbnNwZWN0b3JDb25zb2xl
RXhwcmVzc2lvblNvdXJjZVVSTChzdHJpbmcpCit7CisgICAgaWYgKHN0cmluZy5pbmNsdWRlcygi
Ly8jIHNvdXJjZVVSTCIpKQorICAgICAgICByZXR1cm4gc3RyaW5nOworICAgIHJldHVybiAiXG4v
LyMgc291cmNlVVJMPV9fV2ViSW5zcGVjdG9yQ29uc29sZUV4cHJlc3Npb25fX1xuIiArIHN0cmlu
ZzsKK30KKwogZnVuY3Rpb24gaXNXZWJJbnNwZWN0b3JJbnRlcm5hbFNjcmlwdCh1cmwpCiB7CiAg
ICAgcmV0dXJuIHVybCA9PT0gIl9fV2ViSW5zcGVjdG9ySW50ZXJuYWxfXyI7CiB9CiAKK2Z1bmN0
aW9uIGlzV2ViSW5zcGVjdG9yQ29uc29sZUV4cHJlc3Npb25TY3JpcHQodXJsKQoreworICAgIHJl
dHVybiB1cmwgPT09ICJfX1dlYkluc3BlY3RvckNvbnNvbGVFeHByZXNzaW9uX18iOworfQorCiBm
dW5jdGlvbiBpc1dlYktpdEludGVybmFsU2NyaXB0KHVybCkKIHsKKyAgICBpZiAoaXNXZWJJbnNw
ZWN0b3JDb25zb2xlRXhwcmVzc2lvblNjcmlwdCh1cmwpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgcmV0dXJuIHVybCAmJiB1cmwuc3RhcnRzV2l0aCgiX19XZWIiKSAmJiB1cmwuZW5kc1dp
dGgoIl9fIik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcwppbmRleCA2
NzljYjU1NDQ5NjY5NDcxYTU3NzMzNDMxYTExYTdlNmFmMTkyNzQ5Li45NDhjNjQ3OGI0N2E1ZTFi
OGE2MjliY2IxZDdjMGUzMjZiYjM5ZDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJNYW5h
Z2VyLmpzCkBAIC01NDUsNiArNTQ1LDExIEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIg
PSBjbGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAg
ICAgICAgdGhpcy5fYWN0aXZlQ2FsbEZyYW1lID0gdGhpcy5fY2FsbEZyYW1lc1swXTsKIAorICAg
ICAgICBpZiAoIXRoaXMuX2FjdGl2ZUNhbGxGcmFtZSkgeworICAgICAgICAgICAgdGhpcy5fZGlk
UmVzdW1lSW50ZXJuYWwoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCiAgICAg
ICAgIGlmICghd2FzU3RpbGxQYXVzZWQpCiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCk7CiAg
ICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
ck1hbmFnZXIuRXZlbnQuQ2FsbEZyYW1lc0RpZENoYW5nZSk7CkBAIC01NzgsOSArNTgzLDYgQEAg
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERlYnVnZ2VyTWFuYWdlciBleHRl
bmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
Ci0gICAgICAgIGlmIChpc1dlYkluc3BlY3RvckludGVybmFsU2NyaXB0KHNvdXJjZVVSTCkpCi0g
ICAgICAgICAgICByZXR1cm47Ci0KICAgICAgICAgbGV0IHNjcmlwdCA9IG5ldyBXZWJJbnNwZWN0
b3IuU2NyaXB0KHNjcmlwdElkZW50aWZpZXIsIG5ldyBXZWJJbnNwZWN0b3IuVGV4dFJhbmdlKHN0
YXJ0TGluZSwgc3RhcnRDb2x1bW4sIGVuZExpbmUsIGVuZENvbHVtbiksIHVybCwgaXNDb250ZW50
U2NyaXB0LCBzb3VyY2VVUkwsIHNvdXJjZU1hcFVSTCk7CiAKICAgICAgICAgdGhpcy5fc2NyaXB0
SWRNYXAuc2V0KHNjcmlwdElkZW50aWZpZXIsIHNjcmlwdCk7CkBAIC02MDAsNiArNjAyLDEwIEBA
IFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKKyAgICAgICAgLy8gQ29uc29sZSBleHByZXNzaW9ucyBhcmUgbm90IGFkZGVkIHRvIHRo
ZSBVSSBieSBkZWZhdWx0LgorICAgICAgICBpZiAoaXNXZWJJbnNwZWN0b3JDb25zb2xlRXhwcmVz
c2lvblNjcmlwdChzY3JpcHQuc291cmNlVVJMKSkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJN
YW5hZ2VyLkV2ZW50LlNjcmlwdEFkZGVkLCB7c2NyaXB0fSk7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2Ny
aXB0TG9nVmlld0NvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xsZXIuanMKaW5kZXggYzIw
MGMwNzJjMjVmYzE3YjRlMTMzNTljZDE2YTUyZmExOTNlMDk0YS4uYWI5MWYzNDQ5MDM4ZDkxOGZi
MjRiNTQxZDJlZDI1MzNmNTc1MjYyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0ph
dmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcwpAQCAtMjI4LDYgKzIyOCw4IEBAIFdlYkluc3Bl
Y3Rvci5KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xsZXIgPSBjbGFzcyBKYXZhU2NyaXB0TG9nVmll
d0NvbnRyb2xsZXIgZXh0CiAgICAgICAgICAgICB0aGlzLl9hcHBlbmRDb25zb2xlTWVzc2FnZVZp
ZXcoY29tbWFuZFJlc3VsdE1lc3NhZ2VWaWV3LCB0cnVlKTsKICAgICAgICAgfQogCisgICAgICAg
IHRleHQgPSBhcHBlbmRXZWJJbnNwZWN0b3JDb25zb2xlRXhwcmVzc2lvblNvdXJjZVVSTCh0ZXh0
KTsKKwogICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1hbmFnZXIuZXZhbHVhdGVJbkluc3Bl
Y3RlZFdpbmRvdyh0ZXh0LCBXZWJJbnNwZWN0b3IuUnVudGltZU1hbmFnZXIuQ29uc29sZU9iamVj
dEdyb3VwLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIHRydWUsIHByaW50UmVzdWx0LmJpbmQo
dGhpcykpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL1NjcmlwdC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9TY3JpcHQuanMKaW5kZXggYzA3OGM2YzI1ODU5NDEzYWRhYWExN2Y2MjY3
M2YwY2Q3YTg0MzdlNS4uNDJjZjAwYzQ3MDRlODljZDQ1YjM2MmQwM2FjNmY2MzQ0MDMxM2QyZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Nj
cmlwdC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
U2NyaXB0LmpzCkBAIC01Myw2ICs1Myw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHQgPSBjbGFzcyBT
Y3JpcHQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuU291cmNlQ29kZQogICAgIHN0YXRpYyByZXNldFVu
aXF1ZURpc3BsYXlOYW1lTnVtYmVycygpCiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuU2Ny
aXB0Ll9uZXh0VW5pcXVlRGlzcGxheU5hbWVOdW1iZXIgPSAxOworICAgICAgICBXZWJJbnNwZWN0
b3IuU2NyaXB0Ll9uZXh0VW5pcXVlQ29uc29sZURpc3BsYXlOYW1lTnVtYmVyID0gMTsKICAgICB9
CiAKICAgICAvLyBQdWJsaWMKQEAgLTk0LDYgKzk1LDE0IEBAIFdlYkluc3BlY3Rvci5TY3JpcHQg
PSBjbGFzcyBTY3JpcHQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuU291cmNlQ29kZQogICAgICAgICBp
ZiAodGhpcy5fdXJsKQogICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFt
ZUZvclVSTCh0aGlzLl91cmwsIHRoaXMudXJsQ29tcG9uZW50cyk7CiAKKyAgICAgICAgaWYgKGlz
V2ViSW5zcGVjdG9yQ29uc29sZUV4cHJlc3Npb25TY3JpcHQodGhpcy5fc291cmNlVVJMKSkgewor
ICAgICAgICAgICAgLy8gQXNzaWduIGEgdW5pcXVlIG51bWJlciB0byB0aGUgc2NyaXB0IG9iamVj
dCBzbyBpdCB3aWxsIHN0YXkgdGhlIHNhbWUuCisgICAgICAgICAgICBpZiAoIXRoaXMuX3VuaXF1
ZURpc3BsYXlOYW1lTnVtYmVyKQorICAgICAgICAgICAgICAgIHRoaXMuX3VuaXF1ZURpc3BsYXlO
YW1lTnVtYmVyID0gdGhpcy5jb25zdHJ1Y3Rvci5fbmV4dFVuaXF1ZUNvbnNvbGVEaXNwbGF5TmFt
ZU51bWJlcisrOworCisgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJD
b25zb2xlIEV4cHJlc3Npb24gJWQiKS5mb3JtYXQodGhpcy5fdW5pcXVlRGlzcGxheU5hbWVOdW1i
ZXIpOworICAgICAgICB9CisKICAgICAgICAgaWYgKHRoaXMuX3NvdXJjZVVSTCkgewogICAgICAg
ICAgICAgaWYgKCF0aGlzLl9zb3VyY2VVUkxDb21wb25lbnRzKQogICAgICAgICAgICAgICAgIHRo
aXMuX3NvdXJjZVVSTENvbXBvbmVudHMgPSBwYXJzZVVSTCh0aGlzLl9zb3VyY2VVUkwpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdn
ZXJTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcwppbmRleCA3YTgzZTgzYTg2ZTRlNWE2Y2M1Y2Yz
NmY2YjY0ZTVjOTY5ZWNiMmNiLi4yMDQ4NTY0NDBkNzY1NWM4MTk2ZTFiNjZmZTY5NDE0MjgwNTA5
MTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcwpAQCAtMjA4LDcgKzIwOCwy
NyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNp
ZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICBpZiAocmVwcmVzZW50ZWRPYmpl
Y3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRnJhbWUpCiAgICAgICAgICAgICByZXByZXNlbnRl
ZE9iamVjdCA9IHJlcHJlc2VudGVkT2JqZWN0Lm1haW5SZXNvdXJjZTsKIAotICAgICAgICByZXR1
cm4gdGhpcy5jb250ZW50VHJlZU91dGxpbmUuZ2V0Q2FjaGVkVHJlZUVsZW1lbnQocmVwcmVzZW50
ZWRPYmplY3QpOworICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlzLmNvbnRlbnRUcmVlT3V0
bGluZS5maW5kVHJlZUVsZW1lbnQocmVwcmVzZW50ZWRPYmplY3QpOworICAgICAgICBpZiAodHJl
ZUVsZW1lbnQpCisgICAgICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQ7CisKKyAgICAgICAgLy8g
T25seSBzcGVjaWFsIGNhc2UgU2NyaXB0IG9iamVjdHMuCisgICAgICAgIGlmICghKHJlcHJlc2Vu
dGVkT2JqZWN0IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNjcmlwdCkpIHsKKyAgICAgICAgICAg
IGNvbnNvbGUuZXJyb3IoIkRpZG4ndCBmaW5kIGEgVHJlZUVsZW1lbnQgZm9yIHJlcHJlc2VudGVk
T2JqZWN0IiwgcmVwcmVzZW50ZWRPYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIG51bGw7Cisg
ICAgICAgIH0KKworICAgICAgICAvLyBJZiB0aGUgU2NyaXB0IGhhcyBhIFVSTCB3ZSBzaG91bGQg
aGF2ZSBmb3VuZCBpdCBlYXJsaWVyLgorICAgICAgICBpZiAocmVwcmVzZW50ZWRPYmplY3QudXJs
KSB7CisgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJEaWRuJ3QgZmluZCBhIFNjcmlwdFRyZWVF
bGVtZW50IGZvciBhIFNjcmlwdCB3aXRoIGEgVVJMLiIpOworICAgICAgICAgICAgcmV0dXJuIG51
bGw7CisgICAgICAgIH0KKworICAgICAgICAvLyBTaW5jZSB0aGUgU2NyaXB0IGRvZXMgbm90IGhh
dmUgYSBVUkwgd2UgY29uc2lkZXIgaXQgYW4gJ2Fub255bW91cycgc2NyaXB0LiBUaGVzZSBzY3Jp
cHRzIGhhcHBlbiBmcm9tIGNhbGxzIHRvCisgICAgICAgIC8vIHdpbmRvdy5ldmFsKCkgb3IgYnJv
d3NlciBmZWF0dXJlcyBsaWtlIEF1dG8gRmlsbCBhbmQgUmVhZGVyLiBUaGV5IGFyZSBub3Qgbm9y
bWFsbHkgYWRkZWQgdG8gdGhlIHNpZGViYXIsIGJ1dCBzaW5jZQorICAgICAgICAvLyB3ZSBoYXZl
IGEgU2NyaXB0Q29udGVudFZpZXcgYXNraW5nIGZvciB0aGUgdHJlZSBlbGVtZW50IHdlIHdpbGwg
bWFrZSBhIFNjcmlwdFRyZWVFbGVtZW50IG9uIGRlbWFuZCBhbmQgYWRkIGl0LgorCisgICAgICAg
IHJldHVybiB0aGlzLl9hZGRTY3JpcHQocmVwcmVzZW50ZWRPYmplY3QpOwogICAgIH0KIAogICAg
IC8vIFByb3RlY3RlZApAQCAtNDQyLDYgKzQ2Miw4IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNp
ZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVj
CiAKICAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250ZW50VmlldykK
ICAgICAgICAgICAgIHRoaXMuc2hvd0RlZmF1bHRDb250ZW50Vmlld0ZvclRyZWVFbGVtZW50KHRy
ZWVFbGVtZW50KTsKKworICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQ7CiAgICAgfQogCiAgICAg
X3NjcmlwdFJlbW92ZWQoZXZlbnQpCg==
</data>
<flag name="review"
          id="301334"
          type_id="1"
          status="+"
          setter="joepeck"
    />
    <flag name="commit-queue"
          id="301335"
          type_id="3"
          status="-"
          setter="joepeck"
    />
          </attachment>
      

    </bug>

</bugzilla>