<?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>38285</bug_id>
          
          <creation_ts>2010-04-28 14:36:02 -0700</creation_ts>
          <short_desc>REGRESSION: Sandboxing code breaks some javascript: URLs in empty windows</short_desc>
          <delta_ts>2010-05-03 13:04:51 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>218641</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-04-28 14:36:02 -0700</bug_when>
    <thetext>Steps to reproduce: 
1. Open a new empty window or tab.
2. Enter in address field: javascript:window.open(&apos;http://digg.com/&apos;)

Results: nothing happens.
Expected results: digg.com opens.

The failing check is in FrameLoader::createWindow():
    if (isDocumentSandboxed(SandboxNavigation))

&lt;rdar://problem/7903453&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219650</commentid>
    <comment_count>1</comment_count>
      <attachid>54835</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-04-30 16:53:10 -0700</bug_when>
    <thetext>Created attachment 54835
naive fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219658</commentid>
    <comment_count>2</comment_count>
      <attachid>54835</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-04-30 17:18:03 -0700</bug_when>
    <thetext>Comment on attachment 54835
naive fix

The reason sandbox flags start with SandboxAll is the principle that it&apos;s safest to start with restrictions and relax them rather than the other way around. Changing the default setting affects an unknown set of code paths. That having been said, this change is OK with me. I&apos;d love to hear Adam&apos;s take on it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219671</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-04-30 17:41:07 -0700</bug_when>
    <thetext>One thing I&apos;m unsure about is relationship between flags in FrameLoader and in Document&apos;s security origin. FrameLoader::updateSandboxFlags() is called while opening the new tab/window, and it changes m_sandboxFlags to None. But it&apos;s too late for document&apos;s SecurityOrigin, because it&apos;s created earlier than that, so it still has the original flags from FrameLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219803</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-02 02:28:43 -0700</bug_when>
    <thetext>I&apos;ll look at this in more detail later.  The sandbox flags on FrameLoader are the flags a new document loaded into that frame would get.  The ones on the document&apos;s security origin are the ones the document was given when it was loaded.  These can be different if someone changes the sandbox attribute after a document is loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220235</commentid>
    <comment_count>5</comment_count>
      <attachid>54952</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-03 12:15:55 -0700</bug_when>
    <thetext>Created attachment 54952
better fix

Adam suggested a better fix - we can propagate sandbox flags in init() earlier. This doesn&apos;t seem to affect any known behavior, but is generally nicer than starting with SandboxNone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220237</commentid>
    <comment_count>6</comment_count>
      <attachid>54952</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-03 12:17:47 -0700</bug_when>
    <thetext>Comment on attachment 54952
better fix

Thanks!  You might as well land the test you wrote too.  It doesn&apos;t hurt to add extra tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220257</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-03 13:04:51 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/58695&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54835</attachid>
            <date>2010-04-30 16:53:10 -0700</date>
            <delta_ts>2010-04-30 17:18:03 -0700</delta_ts>
            <desc>naive fix</desc>
            <filename>NewWindowSandbox.txt</filename>
            <type>text/plain</type>
            <size>1540</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODYyMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDQtMzAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Mjg1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83OTAzNDUzPiBSRUdSRVNTSU9OOiBKYXZhc2NyaXB0IGNvbW1hbmQgd2lu
ZG93Lm9wZW4gZG9lcyBub3Qgd29yayBpbiBlbXB0eSB0YWIKKworICAgICAgICBDYW5ub3QgYmUg
dGVzdGVkLCBiZWNhdXNlIG5ldyB3aW5kb3dzIGNyZWF0ZWQgaW4gRFJUIGFsd2F5cyBoYXZlIGFu
IG9wZW5lciwgYW5kIHRodXMgaW5oZXJpdAorICAgICAgICBpdHMgc2VjdXJpdHkgb3JpZ2luLiBP
bmx5IG5ldyB3aW5kb3dzIGFuZCB0YWJzIGNyZWF0ZWQgYnkgYnJvd3NlciBjaHJvbWUgaGFkIHRo
aXMgcHJvYmxlbS4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6IChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6RnJhbWVMb2FkZXIpOiBJbml0aWFsaXplIG1fc2FuZGJveEZsYWdzIHRv
CisgICAgICAgIFNhbmRib3hOb25lLiBJIGNvdWxkIG5vdCBmaW5kIGFueSByZWFzb24gd2h5IHRo
ZXkgdXNlZCB0byBiZSBTYW5kb3hBbGwuCisKIDIwMTAtMDQtMzAgIERpbWl0cmkgR2xhemtvdiAg
PGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXgu
CkluZGV4OiBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA1ODUzMykKKysrIFdlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAyLDcgKzIwMiw3IEBA
IEZyYW1lTG9hZGVyOjpGcmFtZUxvYWRlcihGcmFtZSogZnJhbWUsIEYKICAgICAsIG1fZGlkUGVy
Zm9ybUZpcnN0TmF2aWdhdGlvbihmYWxzZSkKICAgICAsIG1fbG9hZGluZ0Zyb21DYWNoZWRQYWdl
KGZhbHNlKQogICAgICwgbV9zdXBwcmVzc09wZW5lckluTmV3RnJhbWUoZmFsc2UpCi0gICAgLCBt
X3NhbmRib3hGbGFncyhTYW5kYm94QWxsKQorICAgICwgbV9zYW5kYm94RmxhZ3MoU2FuZGJveE5v
bmUpIC8vIFN0YXJ0IHdpdGggTm9uZSB0byBhdm9pZCBicmVha2luZyBqYXZhc2NyaXB0OiBVUkxz
IGluIG5ldyB3aW5kb3dzLgogICAgICwgbV9mb3JjZWRTYW5kYm94RmxhZ3MoU2FuZGJveE5vbmUp
CiAjaWZuZGVmIE5ERUJVRwogICAgICwgbV9kaWREaXNwYXRjaERpZENvbW1pdExvYWQoZmFsc2Up
Cg==
</data>
<flag name="review"
          id="38893"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54952</attachid>
            <date>2010-05-03 12:15:55 -0700</date>
            <delta_ts>2010-05-03 12:17:46 -0700</delta_ts>
            <desc>better fix</desc>
            <filename>NewWindowSandbox2.txt</filename>
            <type>text/plain</type>
            <size>1943</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODY5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDUtMDMgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Mjg1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83OTAzNDUzPiBSRUdSRVNTSU9OOiBKYXZhc2NyaXB0IGNvbW1hbmQgd2lu
ZG93Lm9wZW4gZG9lcyBub3Qgd29yayBpbiBlbXB0eSB0YWIKKworICAgICAgICBDYW5ub3QgYmUg
dGVzdGVkLCBiZWNhdXNlIG5ldyB3aW5kb3dzIGNyZWF0ZWQgaW4gRFJUIGFsd2F5cyBoYXZlIGFu
IG9wZW5lciwgYW5kIHRodXMgaW5oZXJpdAorICAgICAgICBpdHMgc2VjdXJpdHkgb3JpZ2luLiBP
bmx5IG5ldyB3aW5kb3dzIGFuZCB0YWJzIGNyZWF0ZWQgYnkgYnJvd3NlciBjaHJvbWUgaGFkIHRo
aXMgcHJvYmxlbS4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6IChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6aW5pdCk6IE1vdmVkIHVwZGF0ZVNhbmRib3hGbGFncygpIGNhbGwgdG8K
KyAgICAgICAgdGhlIGJlZ2lubmluZywgc28gdGhhdCBhbiBpbml0aWFsIGRvY3VtZW50IHdvdWxk
IGdldCBjb3JyZWN0IGZsYWdzLgorICAgICAgICAKKwogMjAxMC0wNS0wMyAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjU4
Njg1LgpJbmRleDogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gNTg2NzgpCisrKyBXZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMyw2ICsyMjMs
MTAgQEAgRnJhbWVMb2FkZXI6On5GcmFtZUxvYWRlcigpCiAKIHZvaWQgRnJhbWVMb2FkZXI6Omlu
aXQoKQogeworICAgIC8vIFByb3BhZ2F0ZSBzYW5kYm94IGF0dHJpYnV0ZXMgdG8gdGhpcyBGcmFt
ZWxvYWRlciBhbmQgaXRzIGRlc2NlbmRhbnRzLgorICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgZG9u
ZSBlYXJseSwgc28gdGhhdCBhbiBpbml0aWFsIGRvY3VtZW50IGdldHMgY29ycmVjdCBzYW5kYm94
IGZsYWdzIGluIGl0cyBTZWN1cml0eU9yaWdpbi4KKyAgICB1cGRhdGVTYW5kYm94RmxhZ3MoKTsK
KwogICAgIC8vIHRoaXMgc29tZXdoYXQgb2RkIHNldCBvZiBzdGVwcyBpcyBuZWVkZWQgdG8gZ2l2
ZSB0aGUgZnJhbWUgYW4gaW5pdGlhbCBlbXB0eSBkb2N1bWVudAogICAgIG1faXNEaXNwbGF5aW5n
SW5pdGlhbEVtcHR5RG9jdW1lbnQgPSBmYWxzZTsKICAgICBtX2NyZWF0aW5nSW5pdGlhbEVtcHR5
RG9jdW1lbnQgPSB0cnVlOwpAQCAtMjM2LDkgKzI0MCw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6Omlu
aXQoKQogICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmNhbmNlbFBhcnNpbmcoKTsKICAgICBtX2Ny
ZWF0aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQgPSBmYWxzZTsKICAgICBtX2RpZENhbGxJbXBsaWNp
dENsb3NlID0gdHJ1ZTsKLQotICAgIC8vIFByb3BhZ2F0ZSBzYW5kYm94IGF0dHJpYnV0ZXMgdG8g
dGhpcyBGcmFtZWxvYWRlciBhbmQgaXRzIGRlc2NlbmRhbnRzLgotICAgIHVwZGF0ZVNhbmRib3hG
bGFncygpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVm
ZXJzKQo=
</data>
<flag name="review"
          id="39032"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>