<?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>29762</bug_id>
          
          <creation_ts>2009-09-26 00:29:18 -0700</creation_ts>
          <short_desc>Web Inspector: [REGRESSION] Double Clicking Resources Fails to Open in New Window</short_desc>
          <delta_ts>2009-09-27 00:08:30 -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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>aroben</cc>
    
    <cc>joepeck</cc>
    
    <cc>pfeldman</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>150261</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-09-26 00:29:18 -0700</bug_when>
    <thetext>Steps to Reproduce:
1. Open the Inspector
2. Select the Resources Panel
3. Double click a Resource in the sidebar (a .js or .css is good)

Expected Results:
A new window should open with that resource.

Actual Results:
A blank window.

Basics:
The fix for this is actually rather simple.  &quot;this.resource.url&quot; was change to &quot;this.resource._url&quot;, some time ago and its used 3 times still in ResourcesPanel.js.  However, InjectedScriptAccess calls _require_ a callback function which needed to be added.

InjectedScriptAccess:
The above fix produces a new problem.  Inside InjectedScriptAccess._installHandler the &quot;result&quot; after the window.open() call is the String =&gt; &quot;undefined&quot;.  This causes problems with JSON.parse.

&gt; JSON.parse(&quot;undefined&quot;)
Exception: SyntaxError: Unable to parse JSON string
&gt; JSON.parse(&apos;&quot;undefined&quot;&apos;)
&quot;undefined&quot; // string type

Where would this best be handled? Before pushing to the front end or right inside the _installHandler before JSON.parse()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150284</commentid>
    <comment_count>1</comment_count>
      <attachid>40170</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-26 05:52:36 -0700</bug_when>
    <thetext>Created attachment 40170
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150288</commentid>
    <comment_count>2</comment_count>
      <attachid>40171</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-26 06:16:02 -0700</bug_when>
    <thetext>Created attachment 40171
same with error report</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150289</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-26 06:17:16 -0700</bug_when>
    <thetext>&gt; The fix for this is actually rather simple.  &quot;this.resource.url&quot; was change to
&gt; &quot;this.resource._url&quot;, some time ago and its used 3 times still in
&gt; ResourcesPanel.js.  

url is a getter for _url on Resource.

&gt; However, InjectedScriptAccess calls _require_ a callback
&gt; function which needed to be added.
&gt; 
&gt; InjectedScriptAccess:
&gt; The above fix produces a new problem.  Inside
&gt; InjectedScriptAccess._installHandler the &quot;result&quot; after the window.open() call
&gt; is the String =&gt; &quot;undefined&quot;.  This causes problems with JSON.parse.
&gt; 
&gt; &gt; JSON.parse(&quot;undefined&quot;)
&gt; Exception: SyntaxError: Unable to parse JSON string
&gt; &gt; JSON.parse(&apos;&quot;undefined&quot;&apos;)
&gt; &quot;undefined&quot; // string type
&gt; 
&gt; Where would this best be handled? Before pushing to the front end or right
&gt; inside the _installHandler before JSON.parse()?

I think we should fix it on the stringify side (see latest patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150290</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-09-26 06:33:57 -0700</bug_when>
    <thetext>(In reply to comment #3)

&gt; url is a getter for _url on Resource.

Ahh. I was getting undefined because I hadn&apos;t yet provided a callback parameter!  I appreciate the extra comments in InjectedScriptAccess.

&gt; &gt; Where would this best be handled? Before pushing to the front end or right
&gt; &gt; inside the _installHandler before JSON.parse()?
&gt; 
&gt; I think we should fix it on the stringify side (see latest patch).

Perfect. The patch works great =)


Was your window.open() really getting blocked so you had to move to the eval? Personally I think the eval is ugly and I can&apos;t believe using eval is enough to trick the blockers!  Both work on my end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150291</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-26 06:41:16 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; 
&gt; &gt; url is a getter for _url on Resource.
&gt; 
&gt; Ahh. I was getting undefined because I hadn&apos;t yet provided a callback
&gt; parameter!  I appreciate the extra comments in InjectedScriptAccess.
&gt; 
&gt; &gt; &gt; Where would this best be handled? Before pushing to the front end or right
&gt; &gt; &gt; inside the _installHandler before JSON.parse()?
&gt; &gt; 
&gt; &gt; I think we should fix it on the stringify side (see latest patch).
&gt; 
&gt; Perfect. The patch works great =)
&gt; 
&gt; 
&gt; Was your window.open() really getting blocked so you had to move to the eval?
&gt; Personally I think the eval is ugly and I can&apos;t believe using eval is enough to
&gt; trick the blockers!  Both work on my end.

Hm... Eval is ugly, but open() did not work for me. I just tracked it to JSDOMWindowCustom.cpp:802 (allowPopUp check) and switched to eval.

The reason I gave up so easily was that the window object we are interacting with is a quarantine wrapper around the real window. As a result, _window().open and _window().eval(&quot;window.open&quot;) are invoking open on different JS objects. Now that you say that open() works for you, I&apos;ll dig a bit more...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150292</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-26 07:22:36 -0700</bug_when>
    <thetext>In my case, eval was having active event and action was recognized to be user gesture, whereas open was loosing the active event. That does not help though since we&apos;d like to establish async interaction between the frontend and the injected script.

I can&apos;t use inspector&apos;s window.open since its chrome won&apos;t create me a new window for me. As a result, I can only think of native implementation for openInInspectedWindow in InspectorController (or even delegating into InspectorClient in case I need it to be platform-specific). Timothy, do you have any hints for me?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150298</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-09-26 07:59:57 -0700</bug_when>
    <thetext>&gt; Now that you say that open() works for you, I&apos;ll dig a bit more...

I looked on my end and realized when I tested the patch I didn&apos;t enable &quot;block popups&quot;.  You&apos;re right, when blocking popups is enabled the _window.open() doesn&apos;t work.  In that case I think the eval is fine, especially since you provided a comment explaining why.  Ultimately it would be nice to have a non-eval solution though.

Thanks for doing this on a Saturday!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150332</commentid>
    <comment_count>8</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-09-26 12:44:40 -0700</bug_when>
    <thetext>I am surprised eval works. This should become clear once we drop quarantine wrappers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150361</commentid>
    <comment_count>9</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-27 00:08:30 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/InjectedScript.js
	M	WebCore/inspector/front-end/InjectedScriptAccess.js
	M	WebCore/inspector/front-end/ResourcesPanel.js
Committed r48797</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40170</attachid>
            <date>2009-09-26 05:52:36 -0700</date>
            <delta_ts>2009-09-26 06:16:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>open_resource</filename>
            <type>text/plain</type>
            <size>3133</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTMwMmRmNC4uOWY3NjY5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0wOS0yNiAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5
IEhhdGNoZXIuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogW1JFR1JFU1NJT05dIERvdWJsZSBD
bGlja2luZyBSZXNvdXJjZXMgRmFpbHMgdG8gT3BlbiBpbiBOZXcgV2luZG93CisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5NzYyCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzOgorICAgICAgICAoSW5qZWN0
ZWRTY3JpcHQuc2V0U3R5bGVUZXh0KToKKyAgICAgICAgKEluamVjdGVkU2NyaXB0Lm9wZW5Jbklu
c3BlY3RlZFdpbmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNj
cmlwdEFjY2Vzcy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1Bh
bmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclRyZWVFbGVtZW50
LnByb3RvdHlwZS5vbmRibGNsaWNrKToKKwogMjAwOS0wOS0yNSAgWW9uZ2p1biBaaGFuZyAgPHlv
bmdqdW4uemhhbmdAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5
YXQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3Jp
cHQuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMKaW5k
ZXggMDYwM2IzMy4uNTZlODM2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0luamVjdGVkU2NyaXB0LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9J
bmplY3RlZFNjcmlwdC5qcwpAQCAtMTUwLDYgKzE1MCw3IEBAIEluamVjdGVkU2NyaXB0LmFwcGx5
U3R5bGVUZXh0ID0gZnVuY3Rpb24oc3R5bGVJZCwgc3R5bGVUZXh0LCBwcm9wZXJ0eU5hbWUpCiBJ
bmplY3RlZFNjcmlwdC5zZXRTdHlsZVRleHQgPSBmdW5jdGlvbihzdHlsZSwgY3NzVGV4dCkKIHsK
ICAgICBzdHlsZS5jc3NUZXh0ID0gY3NzVGV4dDsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogSW5q
ZWN0ZWRTY3JpcHQudG9nZ2xlU3R5bGVFbmFibGVkID0gZnVuY3Rpb24oc3R5bGVJZCwgcHJvcGVy
dHlOYW1lLCBkaXNhYmxlZCkKQEAgLTgxMiw3ICs4MTMsMTAgQEAgSW5qZWN0ZWRTY3JpcHQuc2Vh
cmNoQ2FuY2VsZWQgPSBmdW5jdGlvbigpCiAKIEluamVjdGVkU2NyaXB0Lm9wZW5Jbkluc3BlY3Rl
ZFdpbmRvdyA9IGZ1bmN0aW9uKHVybCkKIHsKLSAgICBJbmplY3RlZFNjcmlwdC5fd2luZG93KCku
b3Blbih1cmwpOworICAgIC8vIERvbid0IGNhbGwgd2luZG93Lm9wZW4gb24gd3JhcHBlciAtIHBv
cHVwIGJsb2NrZXIgbXV0ZXMgaXQuCisgICAgLy8gVVJJcyBzaG91bGQgaGF2ZSBubyBkb3VibGUg
cXVvdGVzLgorICAgIEluamVjdGVkU2NyaXB0Ll93aW5kb3coKS5ldmFsKCJ3aW5kb3cub3Blbihc
IiIgKyB1cmwgKyAiXCIpIik7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIEluamVjdGVkU2NyaXB0
LmdldENhbGxGcmFtZXMgPSBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuanMKaW5kZXggZGE4NWQwMy4uNjczMTJmNyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0QWNj
ZXNzLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdEFj
Y2Vzcy5qcwpAQCAtNTEsNiArNTEsOSBAQCBJbmplY3RlZFNjcmlwdEFjY2Vzcy5faW5zdGFsbEhh
bmRsZXIgPSBmdW5jdGlvbihtZXRob2ROYW1lKQogICAgIH07CiB9CiAKKy8vIEluamVjdGVkU2Ny
aXB0QWNjZXNzIG1lc3NhZ2UgZm9yd2FyZGluZyBwdXRzIHNvbWUgY29uc3RyYWludHMgb24gdGhl
IHdheSBtZXRob2RzIGFyZSBpbWxwZW1lbnRlZCBhbmQgY2FsbGVkOgorLy8gLSBNYWtlIHN1cmUg
Y29ycmVzcG9uZGluZyBtZXRob2RzIGluIEluamVjdGVkU2NyaXB0IHJldHVybiBub24tbnVsbCBh
bmQgbm9uLXVuZGVmaW5lZCB2YWx1ZXMsCisvLyAtIE1ha2Ugc3VyZSBsYXN0IHBhcmFtZXRlciBv
ZiBhbGwgdGhlIEluamVjdGVkU3JpcHRBY2Nlc3MuKiBjYWxscyBpcyBhIGNhbGxiYWNrIGZ1bmN0
aW9uLgogSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuX2luc3RhbGxIYW5kbGVyKCJnZXRTdHlsZXMiKTsK
IEluamVjdGVkU2NyaXB0QWNjZXNzLl9pbnN0YWxsSGFuZGxlcigiZ2V0Q29tcHV0ZWRTdHlsZSIp
OwogSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuX2luc3RhbGxIYW5kbGVyKCJnZXRJbmxpbmVTdHlsZSIp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVs
LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCmluZGV4
IDY4MGY2NmMuLjJjOTY5NzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9SZXNvdXJjZXNQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVz
b3VyY2VzUGFuZWwuanMKQEAgLTEyMDksNyArMTIwOSw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJj
ZVNpZGViYXJUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgCiAgICAgb25kYmxjbGljazog
ZnVuY3Rpb24odHJlZUVsZW1lbnQsIGV2ZW50KQogICAgIHsKLSAgICAgICAgSW5qZWN0ZWRTY3Jp
cHRBY2Nlc3Mub3BlbkluSW5zcGVjdGVkV2luZG93KHRoaXMucmVzb3VyY2UudXJsKTsKKyAgICAg
ICAgSW5qZWN0ZWRTY3JpcHRBY2Nlc3Mub3BlbkluSW5zcGVjdGVkV2luZG93KHRoaXMucmVzb3Vy
Y2UudXJsLCBmdW5jdGlvbigpIHt9KTsKICAgICB9LAogCiAgICAgZ2V0IG1haW5UaXRsZSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40171</attachid>
            <date>2009-09-26 06:16:02 -0700</date>
            <delta_ts>2009-09-26 12:45:53 -0700</delta_ts>
            <desc>same with error report</desc>
            <filename>open_resource</filename>
            <type>text/plain</type>
            <size>3554</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTMwMmRmNC4uOWY3NjY5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0wOS0yNiAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5
IEhhdGNoZXIuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogW1JFR1JFU1NJT05dIERvdWJsZSBD
bGlja2luZyBSZXNvdXJjZXMgRmFpbHMgdG8gT3BlbiBpbiBOZXcgV2luZG93CisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5NzYyCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzOgorICAgICAgICAoSW5qZWN0
ZWRTY3JpcHQuc2V0U3R5bGVUZXh0KToKKyAgICAgICAgKEluamVjdGVkU2NyaXB0Lm9wZW5Jbklu
c3BlY3RlZFdpbmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNj
cmlwdEFjY2Vzcy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1Bh
bmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclRyZWVFbGVtZW50
LnByb3RvdHlwZS5vbmRibGNsaWNrKToKKwogMjAwOS0wOS0yNSAgWW9uZ2p1biBaaGFuZyAgPHlv
bmdqdW4uemhhbmdAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5
YXQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3Jp
cHQuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMKaW5k
ZXggMDYwM2IzMy4uODcyOTNiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0luamVjdGVkU2NyaXB0LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9J
bmplY3RlZFNjcmlwdC5qcwpAQCAtNDQsNiArNDQsMTAgQEAgSW5qZWN0ZWRTY3JpcHQucmVzZXQo
KTsKIEluamVjdGVkU2NyaXB0LmRpc3BhdGNoID0gZnVuY3Rpb24obWV0aG9kTmFtZSwgYXJncykK
IHsKICAgICB2YXIgcmVzdWx0ID0gSW5qZWN0ZWRTY3JpcHRbbWV0aG9kTmFtZV0uYXBwbHkoSW5q
ZWN0ZWRTY3JpcHQsIEpTT04ucGFyc2UoYXJncykpOworICAgIGlmICh0eXBlb2YgcmVzdWx0ID09
PSAidW5kZWZpbmVkIikgeworICAgICAgICBJbmplY3RlZFNjcmlwdC5fd2luZG93KCkuY29uc29s
ZS5lcnJvcigiV2ViIEluc3BlY3RvciBlcnJvcjogSW5qZWN0ZWRTY3JpcHQuJXMgcmV0dXJucyB1
bmRlZmluZWQiLCBtZXRob2ROYW1lKTsKKyAgICAgICAgcmVzdWx0ID0gbnVsbDsKKyAgICB9CiAg
ICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7CiB9CiAKQEAgLTE1MCw2ICsxNTQsNyBA
QCBJbmplY3RlZFNjcmlwdC5hcHBseVN0eWxlVGV4dCA9IGZ1bmN0aW9uKHN0eWxlSWQsIHN0eWxl
VGV4dCwgcHJvcGVydHlOYW1lKQogSW5qZWN0ZWRTY3JpcHQuc2V0U3R5bGVUZXh0ID0gZnVuY3Rp
b24oc3R5bGUsIGNzc1RleHQpCiB7CiAgICAgc3R5bGUuY3NzVGV4dCA9IGNzc1RleHQ7CisgICAg
cmV0dXJuIHRydWU7CiB9CiAKIEluamVjdGVkU2NyaXB0LnRvZ2dsZVN0eWxlRW5hYmxlZCA9IGZ1
bmN0aW9uKHN0eWxlSWQsIHByb3BlcnR5TmFtZSwgZGlzYWJsZWQpCkBAIC04MTIsNyArODE3LDEw
IEBAIEluamVjdGVkU2NyaXB0LnNlYXJjaENhbmNlbGVkID0gZnVuY3Rpb24oKQogCiBJbmplY3Rl
ZFNjcmlwdC5vcGVuSW5JbnNwZWN0ZWRXaW5kb3cgPSBmdW5jdGlvbih1cmwpCiB7Ci0gICAgSW5q
ZWN0ZWRTY3JpcHQuX3dpbmRvdygpLm9wZW4odXJsKTsKKyAgICAvLyBEb24ndCBjYWxsIHdpbmRv
dy5vcGVuIG9uIHdyYXBwZXIgLSBwb3B1cCBibG9ja2VyIG11dGVzIGl0LgorICAgIC8vIFVSSXMg
c2hvdWxkIGhhdmUgbm8gZG91YmxlIHF1b3Rlcy4KKyAgICBJbmplY3RlZFNjcmlwdC5fd2luZG93
KCkuZXZhbCgid2luZG93Lm9wZW4oXCIiICsgdXJsICsgIlwiKSIpOworICAgIHJldHVybiB0cnVl
OwogfQogCiBJbmplY3RlZFNjcmlwdC5nZXRDYWxsRnJhbWVzID0gZnVuY3Rpb24oKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0QWNjZXNzLmpz
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0QWNjZXNzLmpzCmlu
ZGV4IGRhODVkMDMuLjY3MzEyZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9JbmplY3RlZFNjcmlwdEFjY2Vzcy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuanMKQEAgLTUxLDYgKzUxLDkgQEAgSW5qZWN0ZWRT
Y3JpcHRBY2Nlc3MuX2luc3RhbGxIYW5kbGVyID0gZnVuY3Rpb24obWV0aG9kTmFtZSkKICAgICB9
OwogfQogCisvLyBJbmplY3RlZFNjcmlwdEFjY2VzcyBtZXNzYWdlIGZvcndhcmRpbmcgcHV0cyBz
b21lIGNvbnN0cmFpbnRzIG9uIHRoZSB3YXkgbWV0aG9kcyBhcmUgaW1scGVtZW50ZWQgYW5kIGNh
bGxlZDoKKy8vIC0gTWFrZSBzdXJlIGNvcnJlc3BvbmRpbmcgbWV0aG9kcyBpbiBJbmplY3RlZFNj
cmlwdCByZXR1cm4gbm9uLW51bGwgYW5kIG5vbi11bmRlZmluZWQgdmFsdWVzLAorLy8gLSBNYWtl
IHN1cmUgbGFzdCBwYXJhbWV0ZXIgb2YgYWxsIHRoZSBJbmplY3RlZFNyaXB0QWNjZXNzLiogY2Fs
bHMgaXMgYSBjYWxsYmFjayBmdW5jdGlvbi4KIEluamVjdGVkU2NyaXB0QWNjZXNzLl9pbnN0YWxs
SGFuZGxlcigiZ2V0U3R5bGVzIik7CiBJbmplY3RlZFNjcmlwdEFjY2Vzcy5faW5zdGFsbEhhbmRs
ZXIoImdldENvbXB1dGVkU3R5bGUiKTsKIEluamVjdGVkU2NyaXB0QWNjZXNzLl9pbnN0YWxsSGFu
ZGxlcigiZ2V0SW5saW5lU3R5bGUiKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZXNQYW5lbC5qcwppbmRleCA2ODBmNjZjLi4yYzk2OTc0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCkBAIC0xMjA5LDcgKzEyMDksNyBA
QCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRlYmFyVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewog
ICAgIAogICAgIG9uZGJsY2xpY2s6IGZ1bmN0aW9uKHRyZWVFbGVtZW50LCBldmVudCkKICAgICB7
Ci0gICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLm9wZW5Jbkluc3BlY3RlZFdpbmRvdyh0aGlz
LnJlc291cmNlLnVybCk7CisgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLm9wZW5Jbkluc3Bl
Y3RlZFdpbmRvdyh0aGlzLnJlc291cmNlLnVybCwgZnVuY3Rpb24oKSB7fSk7CiAgICAgfSwKIAog
ICAgIGdldCBtYWluVGl0bGUoKQo=
</data>
<flag name="review"
          id="21358"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>