tree ad610c0b53a6d3148b023ff1efc3d249af0a8db0
parent 3a9d3d452c236bb6dfd7bb7bb4ba589b84ff257d
author ggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc> 1162536107 +0000
committer ggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc> 1162536107 +0000

LayoutTests:

        Reviewed by Justin Garcia.
        
        Used a PERL script to add calls to opt into dumping of editing callbacks
        in all editing tests that didn't do so already. This is required now that 
        dumping of editing callbacks is opt-in.
        
        Updated editing.js so that any test that calls runEditingTest() opt into
        dumping of editing callbacks.
        
        Updated results in all non-editing tests to remove dumping of editing callbacks.
        
        Updated results in all editing tests to reflect minor DOM changes due to new
        <script> elements.
        
        [ many tests and results modified ]

WebKitTools:

        Reviewed by Justin Garcia.
        
        Made dumping of editing callbacks opt-in, so that editing spew doesn't 
        cloud non-editing tests.

        * DumpRenderTree/DumpRenderTree.m:
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (-[LayoutTestController shouldDumpEditingCallbacks]):
        (runTest):
        * DumpRenderTree/EditingDelegate.m:
        (-[EditingDelegate webView:shouldBeginEditingInDOMRange:]):
        (-[EditingDelegate webView:shouldEndEditingInDOMRange:]):
        (-[EditingDelegate webView:shouldInsertNode:replacingDOMRange:givenAction:]):
        (-[EditingDelegate webView:shouldInsertText:replacingDOMRange:givenAction:]):
        (-[EditingDelegate webView:shouldDeleteDOMRange:]):
        (-[EditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
        (-[EditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]):
        (-[EditingDelegate webView:shouldChangeTypingStyle:toStyle:]):
        (-[EditingDelegate webViewDidBeginEditing:]):
        (-[EditingDelegate webViewDidChange:]):
        (-[EditingDelegate webViewDidEndEditing:]):
        (-[EditingDelegate webViewDidChangeTypingStyle:]):
        (-[EditingDelegate webViewDidChangeSelection:]):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
