<?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>139408</bug_id>
          
          <creation_ts>2014-12-08 11:28:51 -0800</creation_ts>
          <short_desc>[iOS] Safari crashes at -[_NSUndoStack popAndInvoke] when trying to undo typing on closed tab</short_desc>
          <delta_ts>2014-12-08 13:53:30 -0800</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>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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>andersca</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1053452</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-12-08 11:28:51 -0800</bug_when>
    <thetext>&lt;rdar://problem/18046692&gt;

Steps to Reproduce:
1. Type something in an input field on a webpage
2. Enter tab view, and close the tab you just typed in
3. Go to another tab
4. Shake to bring up the Undo Typing dialog
5. Tap Undo

Result:
Crash beneath -[_NSUndoStack popAndInvoke].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053457</commentid>
    <comment_count>1</comment_count>
      <attachid>242834</attachid>
    <who name="">mitz</who>
    <bug_when>2014-12-08 11:34:39 -0800</bug_when>
    <thetext>Created attachment 242834
Give each WKWebContentView an undo manager</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053460</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-08 11:38:07 -0800</bug_when>
    <thetext>Should we do this on OS X as well? Should we do it on the WKWebVIew level instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053467</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-12-08 11:46:01 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Should we do this on OS X as well?

I don’t know if this bug exists in OS X. The Legacy WebKit implementation of -undoManager differs between iOS and OS X.

&gt; Should we do it on the WKWebVIew level instead?

I don’t know. This change appears to fix the bug as it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053468</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-08 11:48:02 -0800</bug_when>
    <thetext>(In reply to comment #3)

&gt; &gt; Should we do it on the WKWebVIew level instead?
&gt; 
&gt; I don’t know. This change appears to fix the bug as it is.

OK. Do you think adding it to the content view instead of the WKWebView could cause any problems for people subclassing WKWebView and overriding -undoManager?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053469</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-12-08 11:49:59 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; 
&gt; &gt; &gt; Should we do it on the WKWebVIew level instead?
&gt; &gt; 
&gt; &gt; I don’t know. This change appears to fix the bug as it is.
&gt; 
&gt; OK. Do you think adding it to the content view instead of the WKWebView
&gt; could cause any problems for people subclassing WKWebView and overriding
&gt; -undoManager?

Functions in PageClientImplIOS.mm access the WKContentView’s undoManager property directly, so the implementation in the WKWebView subclass won’t be called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053509</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-12-08 13:53:30 -0800</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r176969&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242834</attachid>
            <date>2014-12-08 11:34:39 -0800</date>
            <delta_ts>2014-12-08 12:20:29 -0800</delta_ts>
            <desc>Give each WKWebContentView an undo manager</desc>
            <filename>bug-139408-20141208113518.patch</filename>
            <type>text/plain</type>
            <size>1961</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3Njk1OCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTEyLTA4ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4MDQ2
NjkyPiBbaU9TXSBTYWZhcmkgY3Jhc2hlcyBhdCAtW19OU1VuZG9TdGFjayBwb3BBbmRJbnZva2Vd
IHdoZW4gdHJ5aW5nIHRvIHVuZG8gdHlwaW5nIG9uIGNsb3NlZCB0YWIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTQwOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHVuZG9NYW5hZ2VyXSk6IE92ZXJy
aWRlIHRvIGluaXRpYWxpemUgaWYgbmVjZXNzYXJ5IGFuZCByZXR1cm4gYSB1bmlxdWUgdW5kbwor
ICAgICAgICBtYW5hZ2VyIGZvciB0aGlzIGluc3RhbmNlLiBUaGlzIGVuc3VyZXMgdGhhdCB1bmRv
YWJsZSBvcGVyYXRpb25zIGZvciB0aGlzIHdlYnZpZXcgZG9u4oCZdCBnZXQKKyAgICAgICAgcHV0
IGluIG90aGVyIHVuZG8gbWFuYWdlcnMsIGFuZCBtYXRjaGVzIFVJV2ViVmlldyBiZWhhdmlvci4K
KwogMjAxNC0xMi0wOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCBhIHN0dWIgaW1wbGVtZW50YXRpb24gb2YgV2Vic2l0ZURhdGFTdG9yZTo6cmVt
b3ZlRGF0YU1vZGlmaWVkU2luY2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXcubW0JKHJldmlzaW9uIDE3Njk1MikKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTc4LDYg
KzE3OCw4IEBAIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnIKICAgICBS
ZXRhaW5QdHI8V0tJbnNwZWN0b3JIaWdobGlnaHRWaWV3PiBfaW5zcGVjdG9ySGlnaGxpZ2h0Vmll
dzsKIAogICAgIEhpc3RvcmljYWxWZWxvY2l0eURhdGEgX2hpc3RvcmljYWxLaW5lbWF0aWNEYXRh
OworCisgICAgUmV0YWluUHRyPE5TVW5kb01hbmFnZXI+IF91bmRvTWFuYWdlcjsKIH0KIAogLSAo
aW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBjb250ZXh0OihXZWJLaXQ6
OldlYkNvbnRleHQmKWNvbnRleHQgY29uZmlndXJhdGlvbjooV2ViS2l0OjpXZWJQYWdlQ29uZmln
dXJhdGlvbil3ZWJQYWdlQ29uZmlndXJhdGlvbiB3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
CkBAIC0zNzUsNiArMzc3LDE0IEBAIC0gKHZvaWQpZGlkWm9vbVRvU2NhbGU6KENHRmxvYXQpc2Nh
bGUKICAgICBbc2VsZiBfZGlkRW5kU2Nyb2xsaW5nT3Jab29taW5nXTsKIH0KIAorLSAoTlNVbmRv
TWFuYWdlciAqKXVuZG9NYW5hZ2VyCit7CisgICAgaWYgKCFfdW5kb01hbmFnZXIpCisgICAgICAg
IF91bmRvTWFuYWdlciA9IGFkb3B0TlMoW1tOU1VuZG9NYW5hZ2VyIGFsbG9jXSBpbml0XSk7CisK
KyAgICByZXR1cm4gX3VuZG9NYW5hZ2VyLmdldCgpOworfQorCiAjcHJhZ21hIG1hcmsgSW50ZXJu
YWwKIAogLSAodm9pZClfd2luZG93RGlkTW92ZVRvU2NyZWVuTm90aWZpY2F0aW9uOihOU05vdGlm
aWNhdGlvbiAqKW5vdGlmaWNhdGlvbgo=
</data>
<flag name="review"
          id="267693"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>