<?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>116595</bug_id>
          
          <creation_ts>2013-05-22 00:52:18 -0700</creation_ts>
          <short_desc>REGRESSION(r150491): WebKit2.DOMWindowExtensionNoCache fails</short_desc>
          <delta_ts>2013-05-25 10:46: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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>dino</cc>
    
    <cc>jberlin</cc>
    
    <cc>kling</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>892166</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-22 00:52:18 -0700</bug_when>
    <thetext>WebKit2.DOMWindowExtensionNoCache started failing after this revision:
http://build.webkit.org/builders/Apple%20MountainLion%20Debug%20WK2%20%28Tests%29/builds/10020

Note: Google Test filter = WebKit2.DOMWindowExtensionNoCache
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from WebKit2
[ RUN      ] WebKit2.DOMWindowExtensionNoCache
LEAK: 29 WebCoreNode
LEAK: 5 CachedResource
Timeout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892470</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-22 11:41:29 -0700</bug_when>
    <thetext>Confirmed. It passes on r150490 but times out on r150491.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892658</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-22 21:24:54 -0700</bug_when>
    <thetext>I&apos;ve tried to add add a call to WKTerminate but that broke the test. Now we wouldn&apos;t get the last 3 messages:

Extension states:
First page, main frame, standard world - Destroyed
First page, main frame, non-standard world - Destroyed
First page, subframe, standard world - Destroyed
First page, subframe, non-standard world - Destroyed
Second page, main frame, standard world - Destroyed
Second page, main frame, non-standard world - Destroyed
First page, main frame, standard world - Connected
First page, main frame, non-standard world - Connected
First page, subframe, standard world - Connected
First page, subframe, non-standard world - Connected

Extension states:
First page, main frame, standard world - Destroyed
First page, main frame, non-standard world - Destroyed
First page, subframe, standard world - Destroyed
First page, subframe, non-standard world - Destroyed
Second page, main frame, standard world - Destroyed
Second page, main frame, non-standard world - Destroyed
First page, main frame, standard world - Removed
First page, main frame, non-standard world - Removed
First page, subframe, standard world - Removed
First page, subframe, non-standard world - Removed

TestComplete</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892659</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-22 21:26:32 -0700</bug_when>
    <thetext>Committed r150564: &lt;http://trac.webkit.org/changeset/150564&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893386</commentid>
    <comment_count>4</comment_count>
      <attachid>202838</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-24 11:16:48 -0700</bug_when>
    <thetext>Created attachment 202838
Tweak the test for new WKPageClose semantics</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893395</commentid>
    <comment_count>5</comment_count>
      <attachid>202838</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-24 11:35:49 -0700</bug_when>
    <thetext>Comment on attachment 202838
Tweak the test for new WKPageClose semantics

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

&gt; Tools/ChangeLog:10
&gt; +        Since WKPageClose() will now disconnect from the web process if it&apos;s the last page
&gt; +        being disconnected, stop expecting bundle messages after that point.
&gt; +

Don&apos;t we still need to wait for WebProcess to terminate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893492</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-24 16:12:50 -0700</bug_when>
    <thetext>I&apos;d like some advice on what to do here.

Now that WebPageProxy::close() may disconnect from the web process, we&apos;ve removed the ability for an injected bundle to reliably communicate with the UI process in its willDestroyPage() callback.

Is this functionality important?

I suggested to Anders that we could switch the test to using WKPageTryClose() instead of WKPageClose(), and then let WebPage::tryClose() call out to the injected bundle&apos;s willDestroyPage() if it plans to indeed kill the page. Anders was not impressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893620</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-05-25 10:46:30 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I&apos;d like some advice on what to do here.
&gt; 
&gt; Now that WebPageProxy::close() may disconnect from the web process, we&apos;ve removed the ability for an injected bundle to reliably communicate with the UI process in its willDestroyPage() callback.
&gt; 
&gt; Is this functionality important?
&gt; 
&gt; I suggested to Anders that we could switch the test to using WKPageTryClose() instead of WKPageClose(), and then let WebPage::tryClose() call out to the injected bundle&apos;s willDestroyPage() if it plans to indeed kill the page. Anders was not impressed.

It seems valuable to preserve the ability for willDestroyPage() to always run, but I can also see arguments against it, since being able to shoot a process in the head when closing its last page could certainly be more efficient.  Perhaps we need new SPI to allow choosing which behavior is desirable, or maybe we can piggyback on existing sudden termination API.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202838</attachid>
            <date>2013-05-24 11:16:48 -0700</date>
            <delta_ts>2013-05-24 11:35:49 -0700</delta_ts>
            <desc>Tweak the test for new WKPageClose semantics</desc>
            <filename>bug-116595.diff</filename>
            <type>text/plain</type>
            <size>3627</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4YjY1
ZjllLi4xZWUyYmYzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDUtMjQgIEFuZHJlYXMgS2xpbmcgIDxha2xp
bmdAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjE1MDQ5MSk6IFdlYktpdDIuRE9N
V2luZG93RXh0ZW5zaW9uTm9DYWNoZSBmYWlscy4KKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3Jn
L2IvMTE2NTk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFNpbmNlIFdLUGFnZUNsb3NlKCkgd2lsbCBub3cgZGlzY29ubmVjdCBmcm9tIHRoZSB3ZWIg
cHJvY2VzcyBpZiBpdCdzIHRoZSBsYXN0IHBhZ2UKKyAgICAgICAgYmVpbmcgZGlzY29ubmVjdGVk
LCBzdG9wIGV4cGVjdGluZyBidW5kbGUgbWVzc2FnZXMgYWZ0ZXIgdGhhdCBwb2ludC4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01XaW5kb3dFeHRlbnNpb25Ob0Nh
Y2hlLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEkpOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisKIDIwMTMtMDUtMjQgIFNpbW9uIFBlbmEgIDxzaW1vbi5wZW5hQHNhbXN1bmcu
Y29tPgogCiAgICAgICAgIFVwZGF0ZSBXVEY6OlZlY3RvciBwcmV0dHkgcHJpbnRlcnMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01XaW5kb3dFeHRlbnNp
b25Ob0NhY2hlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01XaW5k
b3dFeHRlbnNpb25Ob0NhY2hlLmNwcAppbmRleCBhYzA0MDEyLi5lYjRhNzIzIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRE9NV2luZG93RXh0ZW5zaW9uTm9D
YWNoZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRv
d0V4dGVuc2lvbk5vQ2FjaGUuY3BwCkBAIC01OCwxMCArNTgsNyBAQCBzdGF0aWMgY29uc3QgY2hh
ciogZXhwZWN0ZWRNZXNzYWdlc1tdID0gewogIkdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJh
bWUgY2FsbGVkIiwKICJTdWJmcmFtZSBmaW5pc2hlZCBsb2FkaW5nIiwKICJFeHRlbnNpb24gc3Rh
dGVzOlxuRmlyc3QgcGFnZSwgbWFpbiBmcmFtZSwgc3RhbmRhcmQgd29ybGQgLSBEZXN0cm95ZWRc
bkZpcnN0IHBhZ2UsIG1haW4gZnJhbWUsIG5vbi1zdGFuZGFyZCB3b3JsZCAtIERlc3Ryb3llZFxu
Rmlyc3QgcGFnZSwgc3ViZnJhbWUsIHN0YW5kYXJkIHdvcmxkIC0gRGVzdHJveWVkXG5GaXJzdCBw
YWdlLCBzdWJmcmFtZSwgbm9uLXN0YW5kYXJkIHdvcmxkIC0gRGVzdHJveWVkXG5TZWNvbmQgcGFn
ZSwgbWFpbiBmcmFtZSwgc3RhbmRhcmQgd29ybGQgLSBEZXN0cm95ZWRcblNlY29uZCBwYWdlLCBt
YWluIGZyYW1lLCBub24tc3RhbmRhcmQgd29ybGQgLSBEZXN0cm95ZWRcbkZpcnN0IHBhZ2UsIG1h
aW4gZnJhbWUsIHN0YW5kYXJkIHdvcmxkIC0gQ29ubmVjdGVkXG5GaXJzdCBwYWdlLCBtYWluIGZy
YW1lLCBub24tc3RhbmRhcmQgd29ybGQgLSBDb25uZWN0ZWRcbkZpcnN0IHBhZ2UsIHN1YmZyYW1l
LCBzdGFuZGFyZCB3b3JsZCAtIENvbm5lY3RlZFxuRmlyc3QgcGFnZSwgc3ViZnJhbWUsIG5vbi1z
dGFuZGFyZCB3b3JsZCAtIENvbm5lY3RlZCIsCi0iTWFpbiBmcmFtZSBmaW5pc2hlZCBsb2FkaW5n
IiwKLSJFeHRlbnNpb24gc3RhdGVzOlxuRmlyc3QgcGFnZSwgbWFpbiBmcmFtZSwgc3RhbmRhcmQg
d29ybGQgLSBEZXN0cm95ZWRcbkZpcnN0IHBhZ2UsIG1haW4gZnJhbWUsIG5vbi1zdGFuZGFyZCB3
b3JsZCAtIERlc3Ryb3llZFxuRmlyc3QgcGFnZSwgc3ViZnJhbWUsIHN0YW5kYXJkIHdvcmxkIC0g
RGVzdHJveWVkXG5GaXJzdCBwYWdlLCBzdWJmcmFtZSwgbm9uLXN0YW5kYXJkIHdvcmxkIC0gRGVz
dHJveWVkXG5TZWNvbmQgcGFnZSwgbWFpbiBmcmFtZSwgc3RhbmRhcmQgd29ybGQgLSBEZXN0cm95
ZWRcblNlY29uZCBwYWdlLCBtYWluIGZyYW1lLCBub24tc3RhbmRhcmQgd29ybGQgLSBEZXN0cm95
ZWRcbkZpcnN0IHBhZ2UsIG1haW4gZnJhbWUsIHN0YW5kYXJkIHdvcmxkIC0gQ29ubmVjdGVkXG5G
aXJzdCBwYWdlLCBtYWluIGZyYW1lLCBub24tc3RhbmRhcmQgd29ybGQgLSBDb25uZWN0ZWRcbkZp
cnN0IHBhZ2UsIHN1YmZyYW1lLCBzdGFuZGFyZCB3b3JsZCAtIENvbm5lY3RlZFxuRmlyc3QgcGFn
ZSwgc3ViZnJhbWUsIG5vbi1zdGFuZGFyZCB3b3JsZCAtIENvbm5lY3RlZCIsCi0iRXh0ZW5zaW9u
IHN0YXRlczpcbkZpcnN0IHBhZ2UsIG1haW4gZnJhbWUsIHN0YW5kYXJkIHdvcmxkIC0gRGVzdHJv
eWVkXG5GaXJzdCBwYWdlLCBtYWluIGZyYW1lLCBub24tc3RhbmRhcmQgd29ybGQgLSBEZXN0cm95
ZWRcbkZpcnN0IHBhZ2UsIHN1YmZyYW1lLCBzdGFuZGFyZCB3b3JsZCAtIERlc3Ryb3llZFxuRmly
c3QgcGFnZSwgc3ViZnJhbWUsIG5vbi1zdGFuZGFyZCB3b3JsZCAtIERlc3Ryb3llZFxuU2Vjb25k
IHBhZ2UsIG1haW4gZnJhbWUsIHN0YW5kYXJkIHdvcmxkIC0gRGVzdHJveWVkXG5TZWNvbmQgcGFn
ZSwgbWFpbiBmcmFtZSwgbm9uLXN0YW5kYXJkIHdvcmxkIC0gRGVzdHJveWVkXG5GaXJzdCBwYWdl
LCBtYWluIGZyYW1lLCBzdGFuZGFyZCB3b3JsZCAtIFJlbW92ZWRcbkZpcnN0IHBhZ2UsIG1haW4g
ZnJhbWUsIG5vbi1zdGFuZGFyZCB3b3JsZCAtIFJlbW92ZWRcbkZpcnN0IHBhZ2UsIHN1YmZyYW1l
LCBzdGFuZGFyZCB3b3JsZCAtIFJlbW92ZWRcbkZpcnN0IHBhZ2UsIHN1YmZyYW1lLCBub24tc3Rh
bmRhcmQgd29ybGQgLSBSZW1vdmVkIiwKLSJUZXN0Q29tcGxldGUiCisiTWFpbiBmcmFtZSBmaW5p
c2hlZCBsb2FkaW5nIgogfTsKIAogc3RhdGljIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4gPiBtZXNzYWdlczsKQEAgLTc4LDcgKzc1LDcgQEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tDb250ZXh0UmVmLCBXS1N0cmluZ1JlZiBtZXNzYWcK
ICAgICAgIGZpbmlzaGVkID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQyLCBESVNBQkxFRF9ET01X
aW5kb3dFeHRlbnNpb25Ob0NhY2hlKQorVEVTVChXZWJLaXQyLCBET01XaW5kb3dFeHRlbnNpb25O
b0NhY2hlKQogewogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBwYWdlR3JvdXAoQWRv
cHRXSywgV0tQYWdlR3JvdXBDcmVhdGVXaXRoSWRlbnRpZmllcihXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiRE9NV2luZG93RXh0ZW5zaW9uTm9DYWNoZVBhZ2VHcm91cCIpKSk7CiAKQEAg
LTExOCw4ICsxMTUsNiBAQCBURVNUKFdlYktpdDIsIERJU0FCTEVEX0RPTVdpbmRvd0V4dGVuc2lv
bk5vQ2FjaGUpCiAKICAgICBXS1BhZ2VDbG9zZSh3ZWJWaWV3LnBhZ2UoKSk7CiAKLSAgICBVdGls
OjpydW4oJmZpbmlzaGVkKTsKLQogICAgIGNvbnN0IHNpemVfdCBleHBlY3RlZFNpemUgPSBzaXpl
b2YoZXhwZWN0ZWRNZXNzYWdlcykgLyBzaXplb2YoY29uc3QgY2hhciopOwogICAgIEVYUEVDVF9F
UShleHBlY3RlZFNpemUsIG1lc3NhZ2VzLnNpemUoKSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>