Changeset 20948 in webkit


Ignore:
Timestamp:
Apr 19, 2007 6:09:49 AM (17 years ago)
Author:
weinig
Message:

LayoutTests:

Reviewed by Darin.

  • editing/execCommand/arguments-combinations-expected.txt: Added.
  • editing/execCommand/arguments-combinations.html: Added.

WebCore:

Reviewed by Darin.

Convert undefined and null to a null string for third argument of
execCommand();

Test: editing/execCommand/arguments-combinations.html

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/kjs_binding.cpp: (KJS::valueToStringWithUndefinedOrNullCheck):
  • bindings/js/kjs_binding.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Document.idl:
Location:
trunk
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r20937 r20948  
     12007-04-19  Sam Weinig  <sam@webkit.org>
     2
     3        Reviewed by Darin.
     4
     5        - Test for http://bugs.webkit.org/show_bug.cgi?id=12249
     6          FCKeditor: <hr>, <ul> and <ol> have id="undefined"
     7
     8        * editing/execCommand/arguments-combinations-expected.txt: Added.
     9        * editing/execCommand/arguments-combinations.html: Added.
     10
    1112007-04-18  Brady Eidson  <beidson@apple.com>
    212
  • trunk/WebCore/ChangeLog

    r20944 r20948  
     12007-04-19  Sam Weinig  <sam@webkit.org>
     2
     3        Reviewed by Darin.
     4
     5        - Patch for http://bugs.webkit.org/show_bug.cgi?id=12249
     6          FCKeditor: <hr>, <ul> and <ol> have id="undefined"
     7
     8        Convert undefined and null to a null string for third argument of
     9        execCommand();
     10
     11        Test: editing/execCommand/arguments-combinations.html
     12
     13        * WebCore.xcodeproj/project.pbxproj:
     14        * bindings/js/kjs_binding.cpp:
     15        (KJS::valueToStringWithUndefinedOrNullCheck):
     16        * bindings/js/kjs_binding.h:
     17        * bindings/scripts/CodeGeneratorJS.pm:
     18        * dom/Document.idl:
     19
    1202007-04-19  Alp Toker  <alp@atoker.com>
    221
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r20937 r20948  
    89558955                                93F8B3060A300FEA00F61AB8 /* CodeGeneratorJS.pm */,
    89568956                                1A9EF4560A1B957D00332B63 /* JSCanvasRenderingContext2DCustom.cpp */,
     8957                                E10B93C20B73C291003ED890 /* JSCustomXPathNSResolver.cpp */,
    89578958                                E10B937B0B73C00A003ED890 /* JSCustomXPathNSResolver.h */,
    8958                                 E10B93C20B73C291003ED890 /* JSCustomXPathNSResolver.cpp */,
    89598959                                929264760B61FC7200B41D34 /* JSDocumentCustom.cpp */,
    89608960                                938E65F609F0985D008A48EC /* JSHTMLElementWrapperFactory.cpp */,
  • trunk/WebCore/bindings/js/kjs_binding.cpp

    r20684 r20948  
    33 *  Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
    44 *  Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
     5 *  Copyright (C) 2007 Samuel Weinig <sam@webkit.org>
    56 *
    67 *  This library is free software; you can redistribute it and/or
     
    319320{
    320321    if (val->isNull())
     322        return String();
     323    return val->toString(exec);
     324}
     325
     326String valueToStringWithUndefinedOrNullCheck(ExecState* exec, JSValue* val)
     327{
     328    if (val->isUndefinedOrNull())
    321329        return String();
    322330    return val->toString(exec);
  • trunk/WebCore/bindings/js/kjs_binding.h

    r20004 r20948  
    44 *  Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
    55 *  Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
     6 *  Copyright (C) 2007 Samuel Weinig <sam@webkit.org>
    67 *
    78 *  This library is free software; you can redistribute it and/or
     
    148149    JSValue* jsStringOrFalse(const WebCore::String&); // boolean false if the string is null
    149150    WebCore::String valueToStringWithNullCheck(ExecState*, JSValue*); // null String if the value is null
     151    WebCore::String valueToStringWithUndefinedOrNullCheck(ExecState*, JSValue*); // null String if the value is null or undefined
    150152
    151153    template <typename T> inline JSValue* toJS(ExecState* exec, PassRefPtr<T> ptr) { return toJS(exec, ptr.get()); }
  • trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r20323 r20948  
    22# Copyright (C) 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org>
    33# Copyright (C) 2006 Anders Carlsson <andersca@mac.com>
    4 # Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
     4# Copyright (C) 2006, 2007 Samuel Weinig <sam@webkit.org>
    55# Copyright (C) 2006 Alexey Proskuryakov <ap@webkit.org>
    66# Copyright (C) 2006 Apple Computer, Inc.
     
    12721272    if ($type eq "DOMString") {
    12731273        return "valueToStringWithNullCheck(exec, $value)" if $signature->extendedAttributes->{"ConvertNullToNullString"};
     1274        return "valueToStringWithUndefinedOrNullCheck(exec, $value)" if $signature->extendedAttributes->{"ConvertUndefinedOrNullToNullString"};
    12741275        return "$value->toString(exec)";
    12751276    }
  • trunk/WebCore/dom/Document.idl

    r20101 r20948  
    11/*
    22 * Copyright (C) 2006 Apple Computer, Inc.
    3  * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
     3 * Copyright (C) 2006, 2007 Samuel Weinig <sam@webkit.org>
    44 *
    55 * This library is free software; you can redistribute it and/or
     
    3636        CDATASection       createCDATASection(in DOMString data)
    3737            raises(DOMException);
    38         [OldStyleObjC] ProcessingInstruction createProcessingInstruction(in DOMString target, 
     38        [OldStyleObjC] ProcessingInstruction createProcessingInstruction(in DOMString target,
    3939                                                                         in DOMString data)
    4040            raises (DOMException);
     
    8787
    8888#if !defined(LANGUAGE_OBJECTIVE_C)
    89         NodeIterator       createNodeIterator(in Node root, 
     89        NodeIterator       createNodeIterator(in Node root,
    9090                                              in unsigned long whatToShow,
    9191                                              in NodeFilter filter,
    9292                                              in boolean entityReferenceExpansion)
    9393            raises(DOMException);
    94         TreeWalker createTreeWalker(in Node root,
    95                                     in unsigned long whatToShow,
    96                                     in NodeFilter filter,
    97                                     in boolean entityReferenceExpansion)
     94        TreeWalker         createTreeWalker(in Node root,
     95                                            in unsigned long whatToShow,
     96                                            in NodeFilter filter,
     97                                            in boolean entityReferenceExpansion)
    9898            raises(DOMException);
    9999#endif
     
    109109        // DOM Level 2 Style (DocumentCSS interface)
    110110
    111         [OldStyleObjC] CSSStyleDeclaration getOverrideStyle(in Element element, 
     111        [OldStyleObjC] CSSStyleDeclaration getOverrideStyle(in Element element,
    112112                                                            in DOMString pseudoElement);
    113113
     
    119119        XPathNSResolver    createNSResolver(in Node nodeResolver);
    120120        [OldStyleObjC] XPathResult evaluate(in DOMString expression,
    121                                             in Node contextNode, 
     121                                            in Node contextNode,
    122122                                            in XPathNSResolver resolver,
    123123                                            in unsigned short type,
     
    128128        // Common extensions
    129129
    130         boolean execCommand(in DOMString command,
    131                             in [Optional] boolean userInterface,
    132                             in [Optional] DOMString value);
    133         boolean queryCommandEnabled(in DOMString command);
    134         boolean queryCommandIndeterm(in DOMString command);
    135         boolean queryCommandState(in DOMString command);
    136         boolean queryCommandSupported(in DOMString command);
     130        boolean            execCommand(in DOMString command,
     131                                       in boolean userInterface,
     132                                       in [ConvertUndefinedOrNullToNullString] DOMString value);
     133
     134#if defined(LANGUAGE_OBJECTIVE_C)
     135        // FIXME: remove the these two versions once [Optional] is implemented for Objective-C.
     136        boolean            execCommand(in DOMString command,
     137                                       in boolean userInterface);
     138        boolean            execCommand(in DOMString command);
     139#endif
     140
     141        boolean            queryCommandEnabled(in DOMString command);
     142        boolean            queryCommandIndeterm(in DOMString command);
     143        boolean            queryCommandState(in DOMString command);
     144        boolean            queryCommandSupported(in DOMString command);
    137145        [ConvertNullStringTo=False] DOMString queryCommandValue(in DOMString command);
    138146
Note: See TracChangeset for help on using the changeset viewer.