Changeset 4214

Show
Ignore:
Timestamp:
09/01/08 10:58:07 (4 months ago)
Author:
jun66j5
Message:

fixed #3611 - lists can freeze input in Firefox

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • tracwysiwygplugin/0.10/tests/testcase.js

    r4135 r4214  
    131131                '(null)'].join(" "); 
    132132            doTreeWalk.call(this, expected, dom); 
     133        }); 
     134 
     135        unit.add("isLastChildInBlockNode", function() { 
     136            var dom = fragment( 
     137                element("p", element("br")), 
     138                element("p", "foobar", element("br"), "foobar"), 
     139                element("p", element("b", "foobar", element("br"))), 
     140                element("p", element("b", "foobar"), element("br")), 
     141                element("br")); 
     142            var count = 0; 
     143            function assert(expected, node) { 
     144                this.assertEqual(expected, instance.isLastChildInBlockNode(node), "#" + (count++)); 
     145            } 
     146            assert.call(this, true,  dom.childNodes[0].childNodes[0]); 
     147            assert.call(this, false, dom.childNodes[1].childNodes[0]); 
     148            assert.call(this, false, dom.childNodes[1].childNodes[1]); 
     149            assert.call(this, true,  dom.childNodes[1].childNodes[2]); 
     150            assert.call(this, false, dom.childNodes[2].childNodes[0].childNodes[0]); 
     151            assert.call(this, true,  dom.childNodes[2].childNodes[0].childNodes[1]); 
     152            assert.call(this, false, dom.childNodes[3].childNodes[0].childNodes[0]); 
     153            assert.call(this, true,  dom.childNodes[3].childNodes[1]); 
     154            assert.call(this, true,  dom.childNodes[4]); 
    133155        }); 
    134156 
  • tracwysiwygplugin/0.10/tracwysiwyg/htdocs/wysiwyg.js

    r4135 r4214  
    12741274                node = node.parentNode; 
    12751275                if (!node) { 
    1276                     return false; 
    1277                 } 
    1278                 if (node.tagName.toLowerCase() in blocks) { 
     1276                    return true; 
     1277                } 
     1278                if (node.nodeType == 1 && node.tagName.toLowerCase() in blocks) { 
    12791279                    return true; 
    12801280                } 
  • tracwysiwygplugin/0.11/tests/testcase.js

    r4135 r4214  
    131131                '(null)'].join(" "); 
    132132            doTreeWalk.call(this, expected, dom); 
     133        }); 
     134 
     135        unit.add("isLastChildInBlockNode", function() { 
     136            var dom = fragment( 
     137                element("p", element("br")), 
     138                element("p", "foobar", element("br"), "foobar"), 
     139                element("p", element("b", "foobar", element("br"))), 
     140                element("p", element("b", "foobar"), element("br")), 
     141                element("br")); 
     142            var count = 0; 
     143            function assert(expected, node) { 
     144                this.assertEqual(expected, instance.isLastChildInBlockNode(node), "#" + (count++)); 
     145            } 
     146            assert.call(this, true,  dom.childNodes[0].childNodes[0]); 
     147            assert.call(this, false, dom.childNodes[1].childNodes[0]); 
     148            assert.call(this, false, dom.childNodes[1].childNodes[1]); 
     149            assert.call(this, true,  dom.childNodes[1].childNodes[2]); 
     150            assert.call(this, false, dom.childNodes[2].childNodes[0].childNodes[0]); 
     151            assert.call(this, true,  dom.childNodes[2].childNodes[0].childNodes[1]); 
     152            assert.call(this, false, dom.childNodes[3].childNodes[0].childNodes[0]); 
     153            assert.call(this, true,  dom.childNodes[3].childNodes[1]); 
     154            assert.call(this, true,  dom.childNodes[4]); 
    133155        }); 
    134156 
  • tracwysiwygplugin/0.11/tracwysiwyg/htdocs/wysiwyg.js

    r4135 r4214  
    12741274                node = node.parentNode; 
    12751275                if (!node) { 
    1276                     return false; 
    1277                 } 
    1278                 if (node.tagName.toLowerCase() in blocks) { 
     1276                    return true; 
     1277                } 
     1278                if (node.nodeType == 1 && node.tagName.toLowerCase() in blocks) { 
    12791279                    return true; 
    12801280                }