<?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>48970</bug_id>
          
          <creation_ts>2010-11-03 19:24:46 -0700</creation_ts>
          <short_desc>User scripts shouldn&apos;t be injected in a frame&apos;s empty initial document</short_desc>
          <delta_ts>2011-04-06 04:17:57 -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>WebCore Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>aestes</cc>
    
    <cc>aroben</cc>
    
    <cc>beidson</cc>
    
    <cc>hyatt</cc>
    
    <cc>jberlin</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>304426</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-11-03 19:24:46 -0700</bug_when>
    <thetext>When a frame loads, it first creates an empty initial document, then navigates to the correct URL. In WebKit2, the timing is slightly different than WebKit1, so when a new window or tab is created, start scripts are injected into the frame when it is about:blank, and then when it navigates to the correct URL.

This also happens when you inject scripts into all frames, iframes will look like they have had scripts injected twice - once with the URL being about:blank, and the other with the URL being the final URL of the frame. This is confusing to extension developers, and we shouldn&apos;t inject the scripts into the empty initial about:blank document.

&lt;rdar://problem/8082122&gt;
&lt;rdar://problem/8618164&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304443</commentid>
    <comment_count>1</comment_count>
      <attachid>72900</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-11-03 19:59:36 -0700</bug_when>
    <thetext>Created attachment 72900
[PATCH] Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304450</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-03 20:16:51 -0700</bug_when>
    <thetext>User scripts will still be injected into about:blank, correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304469</commentid>
    <comment_count>3</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-11-03 21:17:59 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; User scripts will still be injected into about:blank, correct?

Yes - userscripts/script-run-at-start.html tests that scripts are injected into about:blank.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304708</commentid>
    <comment_count>4</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-11-04 09:40:44 -0700</bug_when>
    <thetext>Landed in r71339.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304711</commentid>
    <comment_count>5</comment_count>
      <attachid>72900</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-11-04 09:44:21 -0700</bug_when>
    <thetext>Comment on attachment 72900
[PATCH] Fix

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

&gt; WebCore/ChangeLog:10
&gt; +        When a frame loads, it first creates an empty initial document, then navigates to the correct URL. Our

So &lt;iframe src=&quot;about:blank&quot;&gt; will still work and get the content scripts once?

&gt; WebCore/ChangeLog:15
&gt; +        issue between WebKit1 and WebKit2 that causes start scripts to be injected into the initial empty document

Do we know what caused the timing issue between WK1 and WK2? Will that timing issue show up in other areas too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304717</commentid>
    <comment_count>6</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-11-04 09:50:37 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 72900 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=72900&amp;action=review
&gt; 
&gt; &gt; WebCore/ChangeLog:10
&gt; &gt; +        When a frame loads, it first creates an empty initial document, then navigates to the correct URL. Our
&gt; 
&gt; So &lt;iframe src=&quot;about:blank&quot;&gt; will still work and get the content scripts once?

Yes - it will get end scripts once, and start scripts once. We have a test for this in the WebKit tree. userscripts/script-run-at-start.html tests that start scripts are injected into about:blank.

&gt; 
&gt; &gt; WebCore/ChangeLog:15
&gt; &gt; +        issue between WebKit1 and WebKit2 that causes start scripts to be injected into the initial empty document
&gt; 
&gt; Do we know what caused the timing issue between WK1 and WK2? Will that timing issue show up in other areas too?

I haven&apos;t seen it come up in other areas - we believe it was a timing issue with the IPC - either the app was sending the user scripts across the wire earlier, or the web process was starting and loading the page later, and by that point the user scripts list wasn&apos;t empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380256</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2011-04-06 04:17:57 -0700</bug_when>
    <thetext>What about apps that create a frame and then add nodes to the initial document using DOM API? We should be able to inject scripts into these documents, no?

I actually would like to use an injected script in this manner to fix &lt;https://bugs.webkit.org/show_bug.cgi?id=57794&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72900</attachid>
            <date>2010-11-03 19:59:36 -0700</date>
            <delta_ts>2010-11-04 09:44:21 -0700</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>dont_inject_in_initial_empty.patch</filename>
            <type>text/plain</type>
            <size>11126</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTE2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMTEtMDMgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFVzZXIgc2NyaXB0cyBzaG91bGRuJ3QgYmUgaW5qZWN0ZWQgaW4gYSBmcmFtZSdzIGVtcHR5
IGluaXRpYWwgZG9jdW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00ODk3MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODYxODE2ND4KKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzgwODIxMjI+CisgICAgICAgIAorICAgICAgICBXaGVuIGEgZnJh
bWUgbG9hZHMsIGl0IGZpcnN0IGNyZWF0ZXMgYW4gZW1wdHkgaW5pdGlhbCBkb2N1bWVudCwgdGhl
biBuYXZpZ2F0ZXMgdG8gdGhlIGNvcnJlY3QgVVJMLiBPdXIKKyAgICAgICAgY3VycmVudCBwb2xp
Y3kgd2l0aCB1c2VyIHNjcmlwdHMgaXMgdG8gaW5qZWN0IHRoZW0gaW50byBib3RoIHRoZSBpbml0
aWFsIGVtcHR5IGRvY3VtZW50LCBhbmQgdGhlbiBpbmplY3QKKyAgICAgICAgdGhlbSBhZ2Fpbi4K
KyAgICAgICAgCisgICAgICAgIFRoaXMgY2F1c2VzIGRldmVsb3BlcnMgdG8gdGhpbmsgdGhlaXIg
c2NyaXB0cyBoYXZlIGJlZW4gaW5qZWN0ZWQgdHdpY2UgaW50byBhbGwgaWZyYW1lcywgYW5kIHRo
ZXJlIGlzIGEgdGltaW5nCisgICAgICAgIGlzc3VlIGJldHdlZW4gV2ViS2l0MSBhbmQgV2ViS2l0
MiB0aGF0IGNhdXNlcyBzdGFydCBzY3JpcHRzIHRvIGJlIGluamVjdGVkIGludG8gdGhlIGluaXRp
YWwgZW1wdHkgZG9jdW1lbnQKKyAgICAgICAgb2YgdGhlIG1haW4gZnJhbWUgd2hlbiBhIG5ldyB0
YWIgb3Igd2luZG93IGlzIGNyZWF0ZWQuCisgICAgICAgIAorICAgICAgICBUaGUgZml4IGZvciB0
aGlzIGlzIHRvIG5vdCBpbmplY3QgdXNlciBzY3JpcHRzIHdoZW4gdGhlIGZyYW1lIGlzIGNyZWF0
aW5nIGl0cyBpbml0aWFsIGVtcHR5IGRvY3VtZW50IGJlZm9yZSBsb2FkaW5nCisgICAgICAgIHRo
ZSBjb3JyZWN0IHNvdXJjZS4KKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWU6OmluamVjdFVzZXJTY3JpcHRzKToKKwogMjAxMC0xMC0yOCAgWmhlbnlh
byBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVz
c2VsbC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gNzExNjYpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MDIsNiArNTAyLDkgQEAgdm9pZCBGcmFtZTo6aW5qZWN0
VXNlclNjcmlwdHMoVXNlclNjcmlwdAogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1
cm47CisKKyAgICBpZiAobG9hZGVyKCktPnN0YXRlTWFjaGluZSgpLT5jcmVhdGluZ0luaXRpYWxF
bXB0eURvY3VtZW50KCkpCisgICAgICAgIHJldHVybjsKICAgICAKICAgICAvLyBXYWxrIHRoZSBo
YXNodGFibGUuIEluamVjdCBieSB3b3JsZC4KICAgICBjb25zdCBVc2VyU2NyaXB0TWFwKiB1c2Vy
U2NyaXB0cyA9IG1fcGFnZS0+Z3JvdXAoKS51c2VyU2NyaXB0cygpOwpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gNzEyOTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzMCBAQAorMjAxMC0xMS0wMyAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVpbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXNlciBzY3JpcHRzIHNob3VsZG4ndCBiZSBpbmplY3RlZCBpbiBhIGZyYW1lJ3MgZW1wdHkgaW5p
dGlhbCBkb2N1bWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ4OTcwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjE4MTY0PgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODA4MjEyMj4KKyAgICAgICAgCisgICAgICAgIFVwZGF0ZSB1c2Vyc2Ny
aXB0cyB0ZXN0cyB0byByZWZsZWN0IHRoZSBmYWN0IHRoYXQgc3RhcnQgc2NyaXB0cyBhcmUgbm90
IGluamVjdGVkCisgICAgICAgIGluIHRoZSBpbml0aWFsIGxvYWQgb2YgYWJvdXQ6YmxhbmsgaW4g
YW4gaWZyYW1lIGFueW1vcmUuCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIGFsc28gbWFr
ZXMgdGhlIHRlc3RzIG1vcmUgdmVyYm9zZSwgYW5kIHRoZSByZXN1bHRzIGNsZWFyZXIgdG8gdW5k
ZXJzdGFuZAorICAgICAgICBieSBwcmludGluZyBvdXQgdGhlIFVSTHMgb2YgdGhlIGRvY3VtZW50
cyB0aGF0IHJhbiB0aGUgY29udGVudCBzY3JpcHRzLgorCisgICAgICAgICogdXNlcnNjcmlwdHMv
c2NyaXB0LW5vdC1ydW4tZm9yLWZyYWdtZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogdXNl
cnNjcmlwdHMvc2NyaXB0LW5vdC1ydW4tZm9yLWZyYWdtZW50cy5odG1sOgorICAgICAgICAqIHVz
ZXJzY3JpcHRzL3NjcmlwdC1ydW4tYXQtc3RhcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHVz
ZXJzY3JpcHRzL3VzZXItc2NyaXB0LWF1ZGlvLWRvY3VtZW50LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB1c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC1hdWRpby1kb2N1bWVudC5odG1sOgorICAgICAg
ICAqIHVzZXJzY3JpcHRzL3VzZXItc2NyaXB0LWltYWdlLWRvY3VtZW50LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB1c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC1pbWFnZS1kb2N1bWVudC5odG1sOgor
ICAgICAgICAqIHVzZXJzY3JpcHRzL3VzZXItc2NyaXB0LXBsdWdpbi1kb2N1bWVudC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtcGx1Z2luLWRvY3VtZW50
Lmh0bWw6CisgICAgICAgICogdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtdmlkZW8tZG9jdW1lbnQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHVzZXJzY3JpcHRzL3VzZXItc2NyaXB0LXZpZGVvLWRv
Y3VtZW50Lmh0bWw6CisKIDIwMTAtMTEtMDMgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLgpJbmRleDogTGF5b3V0VGVzdHMvdXNlcnNj
cmlwdHMvc2NyaXB0LW5vdC1ydW4tZm9yLWZyYWdtZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvc2NyaXB0LW5vdC1ydW4tZm9yLWZyYWdtZW50
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcxMTY2KQorKysgTGF5b3V0VGVzdHMvdXNlcnNjcmlw
dHMvc2NyaXB0LW5vdC1ydW4tZm9yLWZyYWdtZW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogaW5qZWN0ZWQKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxOiBpbmplY3RlZAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6
IGluamVjdGVkOiBibGFuay54aHRtbAogVGhpcyB0ZXN0IHNob3VsZCBub3QgaW5maW5pdGVseSBp
bmplY3QgdXNlciBzY3JpcHRzLiAKSW5kZXg6IExheW91dFRlc3RzL3VzZXJzY3JpcHRzL3Njcmlw
dC1ub3QtcnVuLWZvci1mcmFnbWVudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy91
c2Vyc2NyaXB0cy9zY3JpcHQtbm90LXJ1bi1mb3ItZnJhZ21lbnRzLmh0bWwJKHJldmlzaW9uIDcx
MTY2KQorKysgTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvc2NyaXB0LW5vdC1ydW4tZm9yLWZyYWdt
ZW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgewogICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuYWRkVXNlclNjcmlwdCgiY29uc29sZS5sb2coJ2luamVjdGVkJyk7IHZh
ciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZGl2LmlubmVySFRNTCA9ICc8
cD5oaTwvcD4nOyIsIHRydWUsIHRydWUpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmFkZFVz
ZXJTY3JpcHQoImNvbnNvbGUubG9nKCdpbmplY3RlZDogJyArIGRvY3VtZW50LmxvY2F0aW9uLmhy
ZWYpOyB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGRpdi5pbm5lckhU
TUwgPSAnPHA+aGk8L3A+JzsiLCB0cnVlLCB0cnVlKTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpJ
bmRleDogTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvc2NyaXB0LXJ1bi1hdC1zdGFydC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvc2NyaXB0LXJ1bi1h
dC1zdGFydC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcxMTY2KQorKysgTGF5b3V0VGVzdHMvdXNl
cnNjcmlwdHMvc2NyaXB0LXJ1bi1hdC1zdGFydC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyIEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU1VDQ0VTUwotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE6IFNVQ0NFU1MKIFRoaXMgdGVzdCBzaG91bGQgbG9nIGEgY29uc29s
ZSBtZXNzYWdlIG9uIHN1Y2Nlc3MuIApJbmRleDogTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvdXNl
ci1zY3JpcHQtYXVkaW8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3VzZXJzY3JpcHRzL3VzZXItc2NyaXB0LWF1ZGlvLWRvY3VtZW50LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzExNjYpCisrKyBMYXlvdXRUZXN0cy91c2Vyc2NyaXB0cy91c2VyLXNjcmlw
dC1hdWRpby1kb2N1bWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw0
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU3RhcnQgU2NyaXB0Ci1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTogRW5kIFNjcmlwdAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFN0YXJ0IFNj
cmlwdAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVuZCBTY3JpcHQKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxOiBFbmQgU2NyaXB0OiB1c2VyLXNjcmlwdC1hdWRpby1kb2N1bWVudC5odG1sCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU3RhcnQgU2NyaXB0OiB0ZXN0LndhdgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE6IEVuZCBTY3JpcHQ6IHRlc3Qud2F2CiAKSW5kZXg6IExheW91dFRlc3Rz
L3VzZXJzY3JpcHRzL3VzZXItc2NyaXB0LWF1ZGlvLWRvY3VtZW50Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtYXVkaW8tZG9jdW1lbnQuaHRt
bAkocmV2aXNpb24gNzExNjYpCisrKyBMYXlvdXRUZXN0cy91c2Vyc2NyaXB0cy91c2VyLXNjcmlw
dC1hdWRpby1kb2N1bWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDggKzMsOCBAQAogPHNj
cmlwdD4KIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlci5hZGRVc2VyU2NyaXB0KCJjb25zb2xlLmxvZygnU3RhcnQgU2NyaXB0JykiLCB0cnVl
LCB0cnVlKTsKLSAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuYWRkVXNlclNjcmlwdCgi
Y29uc29sZS5sb2coJ0VuZCBTY3JpcHQnKSIsIGZhbHNlLCB0cnVlKTsKKyAgICB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuYWRkVXNlclNjcmlwdCgiY29uc29sZS5sb2coJ1N0YXJ0IFNjcmlw
dDogJyArIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYpIiwgdHJ1ZSwgdHJ1ZSk7CisgICAgd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyLmFkZFVzZXJTY3JpcHQoImNvbnNvbGUubG9nKCdFbmQgU2Ny
aXB0OiAnICsgZG9jdW1lbnQubG9jYXRpb24uaHJlZikiLCBmYWxzZSwgdHJ1ZSk7CiB9CiA8L3Nj
cmlwdD4KIDwvaGVhZD4KSW5kZXg6IExheW91dFRlc3RzL3VzZXJzY3JpcHRzL3VzZXItc2NyaXB0
LWltYWdlLWRvY3VtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy91
c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC1pbWFnZS1kb2N1bWVudC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDcxMTY2KQorKysgTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtaW1hZ2Ut
ZG9jdW1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNCBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE6IFN0YXJ0IFNjcmlwdAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IEVuZCBTY3JpcHQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBTdGFydCBTY3JpcHQKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxOiBFbmQgU2NyaXB0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTogRW5kIFNjcmlwdDogdXNlci1zY3JpcHQtaW1hZ2UtZG9jdW1lbnQuaHRtbAorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE6IFN0YXJ0IFNjcmlwdDogYWJlLnBuZworQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE6IEVuZCBTY3JpcHQ6IGFiZS5wbmcKIApJbmRleDogTGF5b3V0VGVzdHMvdXNlcnNjcmlw
dHMvdXNlci1zY3JpcHQtaW1hZ2UtZG9jdW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy91c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC1pbWFnZS1kb2N1bWVudC5odG1sCShyZXZpc2lv
biA3MTE2NikKKysrIExheW91dFRlc3RzL3VzZXJzY3JpcHRzL3VzZXItc2NyaXB0LWltYWdlLWRv
Y3VtZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsOCArMyw4IEBACiA8c2NyaXB0PgogaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmFk
ZFVzZXJTY3JpcHQoImNvbnNvbGUubG9nKCdTdGFydCBTY3JpcHQnKSIsIHRydWUsIHRydWUpOwot
ICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5hZGRVc2VyU2NyaXB0KCJjb25zb2xlLmxv
ZygnRW5kIFNjcmlwdCcpIiwgZmFsc2UsIHRydWUpOworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlci5hZGRVc2VyU2NyaXB0KCJjb25zb2xlLmxvZygnU3RhcnQgU2NyaXB0OiAnICsgZG9j
dW1lbnQubG9jYXRpb24uaHJlZikiLCB0cnVlLCB0cnVlKTsKKyAgICB3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIuYWRkVXNlclNjcmlwdCgiY29uc29sZS5sb2coJ0VuZCBTY3JpcHQ6ICcgKyBk
b2N1bWVudC5sb2NhdGlvbi5ocmVmKSIsIGZhbHNlLCB0cnVlKTsKIH0KIDwvc2NyaXB0PgogPC9o
ZWFkPgpJbmRleDogTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtcGx1Z2luLWRv
Y3VtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy91c2Vyc2NyaXB0
cy91c2VyLXNjcmlwdC1wbHVnaW4tZG9jdW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTE2
NikKKysrIExheW91dFRlc3RzL3VzZXJzY3JpcHRzL3VzZXItc2NyaXB0LXBsdWdpbi1kb2N1bWVu
dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw0IEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogU3RhcnQgU2NyaXB0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRW5k
IFNjcmlwdAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFN0YXJ0IFNjcmlwdAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE6IEVuZCBTY3JpcHQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFbmQg
U2NyaXB0OiB1c2VyLXNjcmlwdC1wbHVnaW4tZG9jdW1lbnQuaHRtbAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE6IFN0YXJ0IFNjcmlwdDogZGF0YTphcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5l
dHNjYXBlLAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVuZCBTY3JpcHQ6IGRhdGE6YXBwbGlj
YXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSwKIApJbmRleDogTGF5b3V0VGVzdHMvdXNlcnNj
cmlwdHMvdXNlci1zY3JpcHQtcGx1Z2luLWRvY3VtZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtcGx1Z2luLWRvY3VtZW50Lmh0bWwJKHJl
dmlzaW9uIDcxMTY2KQorKysgTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtcGx1
Z2luLWRvY3VtZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsOCArMyw4IEBACiA8c2NyaXB0
PgogaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLmFkZFVzZXJTY3JpcHQoImNvbnNvbGUubG9nKCdTdGFydCBTY3JpcHQnKSIsIHRydWUsIHRy
dWUpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5hZGRVc2VyU2NyaXB0KCJjb25z
b2xlLmxvZygnRW5kIFNjcmlwdCcpIiwgZmFsc2UsIHRydWUpOworICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5hZGRVc2VyU2NyaXB0KCJjb25zb2xlLmxvZygnU3RhcnQgU2NyaXB0OiAn
ICsgZG9jdW1lbnQubG9jYXRpb24uaHJlZikiLCB0cnVlLCB0cnVlKTsKKyAgICB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuYWRkVXNlclNjcmlwdCgiY29uc29sZS5sb2coJ0VuZCBTY3JpcHQ6
ICcgKyBkb2N1bWVudC5sb2NhdGlvbi5ocmVmKSIsIGZhbHNlLCB0cnVlKTsKIH0KIDwvc2NyaXB0
PgogPC9oZWFkPgpJbmRleDogTGF5b3V0VGVzdHMvdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtdmlk
ZW8tZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3VzZXJz
Y3JpcHRzL3VzZXItc2NyaXB0LXZpZGVvLWRvY3VtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzExNjYpCisrKyBMYXlvdXRUZXN0cy91c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC12aWRlby1kb2N1
bWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw0IEBACi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTogU3RhcnQgU2NyaXB0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTog
RW5kIFNjcmlwdAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFN0YXJ0IFNjcmlwdAotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE6IEVuZCBTY3JpcHQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBF
bmQgU2NyaXB0OiB1c2VyLXNjcmlwdC12aWRlby1kb2N1bWVudC5odG1sCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTogU3RhcnQgU2NyaXB0OiBjb3VudGluZy5tcDQKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxOiBFbmQgU2NyaXB0OiBjb3VudGluZy5tcDQKIApJbmRleDogTGF5b3V0VGVzdHMvdXNl
cnNjcmlwdHMvdXNlci1zY3JpcHQtdmlkZW8tZG9jdW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy91c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC12aWRlby1kb2N1bWVudC5odG1sCShy
ZXZpc2lvbiA3MTE2NikKKysrIExheW91dFRlc3RzL3VzZXJzY3JpcHRzL3VzZXItc2NyaXB0LXZp
ZGVvLWRvY3VtZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsOCArMyw4IEBACiA8c2NyaXB0
PgogaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLmFkZFVzZXJTY3JpcHQoImNvbnNvbGUubG9nKCdTdGFydCBTY3JpcHQnKSIsIHRydWUsIHRy
dWUpOwotICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5hZGRVc2VyU2NyaXB0KCJjb25z
b2xlLmxvZygnRW5kIFNjcmlwdCcpIiwgZmFsc2UsIHRydWUpOworICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5hZGRVc2VyU2NyaXB0KCJjb25zb2xlLmxvZygnU3RhcnQgU2NyaXB0OiAn
ICsgZG9jdW1lbnQubG9jYXRpb24uaHJlZikiLCB0cnVlLCB0cnVlKTsKKyAgICB3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIuYWRkVXNlclNjcmlwdCgiY29uc29sZS5sb2coJ0VuZCBTY3JpcHQ6
ICcgKyBkb2N1bWVudC5sb2NhdGlvbi5ocmVmKSIsIGZhbHNlLCB0cnVlKTsKIH0KIDwvc2NyaXB0
PgogPC9oZWFkPgo=
</data>
<flag name="review"
          id="63239"
          type_id="1"
          status="+"
          setter="beidson"
    />
    <flag name="commit-queue"
          id="63240"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
      

    </bug>

</bugzilla>