<?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>24626</bug_id>
          
          <creation_ts>2009-03-16 13:20:48 -0700</creation_ts>
          <short_desc>REGRESSION: undo-iframe-location-change.html is failing on the buildbots</short_desc>
          <delta_ts>2009-03-16 13:57:13 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://build.webkit.org/results/trunk-mac-ppc-release/16864/editing/undo/undo-iframe-location-change-diffs.txt</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>justin.garcia</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>113917</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-16 13:20:48 -0700</bug_when>
    <thetext>http://build.webkit.org/results/trunk-mac-ppc-release/16864/editing/undo/undo-iframe-location-change-diffs.txt

I&apos;ve debugged it a little.  It seems that 

bool WebEditorClient::canUndo() const
{
    return [[m_webView undoManager] canUndo];
}

is actually returning &quot;true&quot;.

void WebEditorClient::clearUndoRedoOperations()
{
    if (m_haveUndoRedoOperations) {
        // workaround for &lt;rdar://problem/4645507&gt; NSUndoManager dies
        // with uncaught exception when undo items cleared while
        // groups are open
        NSUndoManager *undoManager = [m_webView undoManager];
        int groupingLevel = [undoManager groupingLevel];
        for (int i = 0; i &lt; groupingLevel; ++i)
            [undoManager endUndoGrouping];
        
        [undoManager removeAllActionsWithTarget:m_undoTarget.get()];
        
        for (int i = 0; i &lt; groupingLevel; ++i)
            [undoManager beginUndoGrouping];
        
        m_haveUndoRedoOperations = NO;
        ASSERT(![undoManager canUndo]); // I ADDED THIS, IT FAILS!
    }
}

Should be called from 

bool FrameLoader::closeURL()
{
    saveDocumentState();
    stopLoading(true);
    m_frame-&gt;editor()-&gt;clearUndoRedoOperations();
    return true;
}

which it is, correctly.  The problem is that [undoManager canUndo] is still true after calling clearUndoRedoOperations().  The test expects it to be false.  Maybe other things in the undo stack (non-editing related) are causing this test to fail?

I could change the test to call execCommand(&quot;redo&quot;) a bunch before running?  Maybe that would fix the test failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113923</commentid>
    <comment_count>1</comment_count>
      <attachid>28659</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-16 13:56:50 -0700</bug_when>
    <thetext>Created attachment 28659
        Reviewed by Sam Weinig.


        REGRESSION: undo-iframe-location-change.html is failing on the buildbots
        https://bugs.webkit.org/show_bug.cgi?id=24626

        Added a call to [[webview undoManager] removeAllActions]
        to make sure anything left on the undo stack after one test
        will not affect any later test.

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (resetWebViewToConsistentStateBeforeTesting):
---
 WebKitTools/ChangeLog                            |   14 ++++++++++++++
 WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm |    1 +
 2 files changed, 15 insertions(+), 0 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113924</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-16 13:57:13 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebKitTools/ChangeLog
	M	WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm
Committed r41740
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28659</attachid>
            <date>2009-03-16 13:56:50 -0700</date>
            <delta_ts>2009-03-16 13:56:50 -0700</delta_ts>
            <desc>        Reviewed by Sam Weinig.</desc>
            <filename>-Reviewed-by-Sam-Weinig..patch</filename>
            <type>text/plain</type>
            <size>1456</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NjY5Y2RlMjkwOTE4M2Q1MDgzOWQ2NDQ5NTg2NGI3MDlmY2UxNzg1NgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGU1OGJmY2Qu
LmZiOWVkMjMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0wMy0xNiAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKyAg
ICAgICAgCisgICAgICAgIFJFR1JFU1NJT046IHVuZG8taWZyYW1lLWxvY2F0aW9uLWNoYW5nZS5o
dG1sIGlzIGZhaWxpbmcgb24gdGhlIGJ1aWxkYm90cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ2MjYKKyAgICAgICAgCisgICAgICAgIEFkZGVkIGEg
Y2FsbCB0byBbW3dlYnZpZXcgdW5kb01hbmFnZXJdIHJlbW92ZUFsbEFjdGlvbnNdCisgICAgICAg
IHRvIG1ha2Ugc3VyZSBhbnl0aGluZyBsZWZ0IG9uIHRoZSB1bmRvIHN0YWNrIGFmdGVyIG9uZSB0
ZXN0CisgICAgICAgIHdpbGwgbm90IGFmZmVjdCBhbnkgbGF0ZXIgdGVzdC4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2Vi
Vmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6CisKIDIwMDktMDMtMTQgIE1hcmsg
Um93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0
ZWluLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCmluZGV4IGUyYmQ4YjAuLjU5MjBiYTIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTk4NCw2ICs5ODQsNyBAQCBzdGF0aWMg
dm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKQogICAgIFt3
ZWJWaWV3IHNldFBvbGljeURlbGVnYXRlOm5pbF07CiAgICAgW3dlYlZpZXcgX3NldERhc2hib2Fy
ZEJlaGF2aW9yOldlYkRhc2hib2FyZEJlaGF2aW9yVXNlQmFja3dhcmRDb21wYXRpYmlsaXR5TW9k
ZSB0bzpOT107CiAgICAgW3dlYlZpZXcgX2NsZWFyTWFpbkZyYW1lTmFtZV07CisgICAgW1t3ZWJW
aWV3IHVuZG9NYW5hZ2VyXSByZW1vdmVBbGxBY3Rpb25zXTsKIAogICAgIFdlYlByZWZlcmVuY2Vz
ICpwcmVmZXJlbmNlcyA9IFt3ZWJWaWV3IHByZWZlcmVuY2VzXTsKICAgICBbcHJlZmVyZW5jZXMg
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDpOT107Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>