Changeset 60784 in webkit


Ignore:
Timestamp:
Jun 7, 2010 7:47:46 AM (14 years ago)
Author:
Nikolas Zimmermann
Message:

2010-06-07 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Sam Weinig.

Add CPP bindings generator
https://bugs.webkit.org/show_bug.cgi?id=38279

Add CPP bindings generator used in Olympia platform.
We can succesfully generate cpp bindings for all IDLs except:

  • DOMWindow.idl / EventTarget.idl (filtered out in the IDL list in DerivedSources.make for non-jsc/v8 generators anyways, so no problem at all)
  • inspector/ (not needed for us at all)
  • svg/ (needs custom handling, related to animated attributes)

All generated files are free of style issues: "Total errors found: 0 in 510 files"
Not integrated in any build system so far, though I've successfully tested on Mac and inside Olympia, of course.

  • bindings/cpp: Added.
  • bindings/cpp/WebDOMCString.cpp: Added. (WebDOMCString::reset): (WebDOMCString::assign): (WebDOMCString::length): (WebDOMCString::data): (WebDOMCString::utf16): (WebDOMCString::fromUTF16): (WebDOMCString::WebDOMCString): (WebDOMCString::operator=): (WebDOMCString::operator WTF::CString):
  • bindings/cpp/WebDOMCString.h: Added. (WebDOMCString::~WebDOMCString): (WebDOMCString::WebDOMCString): (WebDOMCString::operator=): (WebDOMCString::isEmpty): (WebDOMCString::isNull):
  • bindings/cpp/WebDOMEventListenerCustom.cpp: Added. (WebDOMEventListener::handleEvent): (toWebKit):
  • bindings/cpp/WebDOMEventTarget.cpp: Added. (WebDOMEventTarget::WebDOMEventTargetPrivate::WebDOMEventTargetPrivate): (WebDOMEventTarget::WebDOMEventTarget): (WebDOMEventTarget::~WebDOMEventTarget): (WebDOMEventTarget::impl): (toWebCore): (toWebKit):
  • bindings/cpp/WebDOMEventTarget.h: Added.
  • bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Added. (documentWrite): (WebDOMHTMLDocument::write): (WebDOMHTMLDocument::writeln):
  • bindings/cpp/WebDOMNodeCustom.cpp: Added. (WebDOMNode::insertBefore): (WebDOMNode::replaceChild): (WebDOMNode::removeChild): (WebDOMNode::appendChild): (WebDOMNode::addEventListener): (WebDOMNode::removeEventListener):
  • bindings/cpp/WebDOMObject.h: Added. (WebDOMObject::WebDOMObject): (WebDOMObject::~WebDOMObject):
  • bindings/cpp/WebDOMString.cpp: Added. (WebDOMString::reset): (WebDOMString::assign): (WebDOMString::length): (WebDOMString::data): (WebDOMString::utf8): (WebDOMString::fromUTF8): (WebDOMString::WebDOMString): (WebDOMString::operator=): (WebDOMString::operator WebCore::String): (WebDOMString::operator WebCore::AtomicString): (WebDOMString::equals):
  • bindings/cpp/WebDOMString.h: Added. (WebDOMString::~WebDOMString): (WebDOMString::WebDOMString): (WebDOMString::operator=): (WebDOMString::isEmpty): (WebDOMString::isNull):
  • bindings/cpp/WebExceptionHandler.cpp: Added. (globalExceptionHandler): (webInstallExceptionHandler): (webRaiseDOMException):
  • bindings/cpp/WebExceptionHandler.h: Added. (webDOMRaiseError):
  • bindings/cpp/WebNativeEventListener.cpp: Added. (WebNativeEventListener::WebNativeEventListener): (WebNativeEventListener::~WebNativeEventListener): (WebNativeEventListener::handleEvent): (WebNativeEventListener::reportError): (WebNativeEventListener::operator==):
  • bindings/cpp/WebNativeEventListener.h: Added. (WebNativeEventListener::create): (WebNativeEventListener::cast):
  • bindings/scripts/CodeGeneratorCPP.pm: Added.
  • bindings/scripts/test/CPP: Added.
  • bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Added. (WebDOMTestCallback::WebDOMTestCallbackPrivate::WebDOMTestCallbackPrivate): (WebDOMTestCallback::WebDOMTestCallback): (WebDOMTestCallback::impl): (WebDOMTestCallback::~WebDOMTestCallback): (WebDOMTestCallback::callbackWithClass1Param): (WebDOMTestCallback::callbackWithClass2Param): (WebDOMTestCallback::callbackWithNonBoolReturnType): (toWebCore): (toWebKit):
  • bindings/scripts/test/CPP/WebDOMTestCallback.h: Added.
  • bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Added. (WebDOMTestInterface::WebDOMTestInterfacePrivate::WebDOMTestInterfacePrivate): (WebDOMTestInterface::WebDOMTestInterface): (WebDOMTestInterface::impl): (WebDOMTestInterface::~WebDOMTestInterface): (toWebCore): (toWebKit):
  • bindings/scripts/test/CPP/WebDOMTestInterface.h: Added.
  • bindings/scripts/test/CPP/WebDOMTestObj.cpp: Added. (WebDOMTestObj::WebDOMTestObjPrivate::WebDOMTestObjPrivate): (WebDOMTestObj::WebDOMTestObj): (WebDOMTestObj::impl): (WebDOMTestObj::~WebDOMTestObj): (WebDOMTestObj::readOnlyIntAttr): (WebDOMTestObj::readOnlyStringAttr): (WebDOMTestObj::readOnlyTestObjAttr): (WebDOMTestObj::intAttr): (WebDOMTestObj::setIntAttr): (WebDOMTestObj::longLongAttr): (WebDOMTestObj::setLongLongAttr): (WebDOMTestObj::unsignedLongLongAttr): (WebDOMTestObj::setUnsignedLongLongAttr): (WebDOMTestObj::stringAttr): (WebDOMTestObj::setStringAttr): (WebDOMTestObj::testObjAttr): (WebDOMTestObj::setTestObjAttr): (WebDOMTestObj::attrWithException): (WebDOMTestObj::setAttrWithException): (WebDOMTestObj::attrWithSetterException): (WebDOMTestObj::setAttrWithSetterException): (WebDOMTestObj::attrWithGetterException): (WebDOMTestObj::setAttrWithGetterException): (WebDOMTestObj::scriptStringAttr): (WebDOMTestObj::voidMethod): (WebDOMTestObj::voidMethodWithArgs): (WebDOMTestObj::intMethod): (WebDOMTestObj::intMethodWithArgs): (WebDOMTestObj::objMethod): (WebDOMTestObj::objMethodWithArgs): (WebDOMTestObj::methodThatRequiresAllArgs): (WebDOMTestObj::methodThatRequiresAllArgsAndThrows): (WebDOMTestObj::serializedValue): (WebDOMTestObj::methodWithException): (WebDOMTestObj::addEventListener): (WebDOMTestObj::removeEventListener): (WebDOMTestObj::withDynamicFrame): (WebDOMTestObj::withDynamicFrameAndArg): (WebDOMTestObj::withDynamicFrameAndOptionalArg): (WebDOMTestObj::withScriptStateVoid): (WebDOMTestObj::withScriptStateObj): (WebDOMTestObj::withScriptStateVoidException): (WebDOMTestObj::withScriptStateObjException): (WebDOMTestObj::methodWithOptionalArg): (WebDOMTestObj::methodWithNonOptionalArgAndOptionalArg): (WebDOMTestObj::methodWithNonOptionalArgAndTwoOptionalArgs): (toWebCore): (toWebKit):
  • bindings/scripts/test/CPP/WebDOMTestObj.h: Added.
  • css/StyleSheet.idl: Export helper method isCSSStyleSheet() for cpp bindings only.
  • dom/CustomEvent.idl: Disabled for cpp bindings, needs arbitary input parameter handling support ('DOMObject' type).
  • dom/Document.idl: Ignore getCSSCanvasContext() for cpp bindings and export helper method isHTMLDocument() (cpp bindings only).
  • dom/Event.idl: Export isMutationEvent()/isMouseEvent()/isUIEvent() helpers for cpp bindings only.
  • dom/EventListener.h: Add CPPEventListenerType.
  • dom/Node.idl: addEventListener/removeEventListener need [Custom] flag for cpp bindings.
  • dom/PopStateEvent.idl: Disabled just like CustomEvent, for the same reason ("any" argument type handling).
  • html/HTMLCanvasElement.idl: Disable getContext() method for cpp bindings, as it's done for objc bindings.
  • html/HTMLDocument.idl: Add [NoCPPCustom] marker for open(), as we're just autogenerating it.
  • html/HTMLInputElement.idl: Disable valueAsDate() method for cpp bindings, as we're missing native 'Date' type support.
  • html/TextMetrics.h: Add missing PassRefPtr.h include.
  • html/canvas/CanvasRenderingContext2D.idl: Disable methods (setLineCap, etc..) for cpp bindings whose names clash with property setters.
  • page/AbstractView.idl: Rename 'Media' type to 'StyleMedia' - this should have been done before.
  • page/Location.idl: Disable several methods which would need a custom implementation for the cpp bindings.
  • page/WebKitPoint.h: Add missing PassRefPtr.h include.
  • storage/SQLResultSet.idl: Correct type from 'long' to 'long long', for cpp bindings only though as it wouldn't build on Chromium/V8.
  • workers/DedicatedWorkerContext.idl: Disable postMessage() for now when using cpp bindings, would need custom code for us.
  • workers/WorkerContext.idl: Hide constructors from cpp bindings.

2010-06-07 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Sam Weinig.

Add CPP bindings generator
https://bugs.webkit.org/show_bug.cgi?id=38279

Integrate CPP bindings in run-bindings-tests.

  • Scripts/run-bindings-tests:
Location:
trunk
Files:
23 added
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r60781 r60784  
     12010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Add CPP bindings generator
     6        https://bugs.webkit.org/show_bug.cgi?id=38279
     7
     8        Add CPP bindings generator used in Olympia platform.
     9        We can succesfully generate cpp bindings for all IDLs except:
     10        - DOMWindow.idl / EventTarget.idl (filtered out in the IDL list in DerivedSources.make for non-jsc/v8 generators anyways, so no problem at all)
     11        - inspector/ (not needed for us at all)
     12        - svg/ (needs custom handling, related to animated attributes)
     13
     14        All generated files are free of style issues: "Total errors found: 0 in 510 files"
     15        Not integrated in any build system so far, though I've successfully tested on Mac and inside Olympia, of course.
     16
     17        * bindings/cpp: Added.
     18        * bindings/cpp/WebDOMCString.cpp: Added.
     19        (WebDOMCString::reset):
     20        (WebDOMCString::assign):
     21        (WebDOMCString::length):
     22        (WebDOMCString::data):
     23        (WebDOMCString::utf16):
     24        (WebDOMCString::fromUTF16):
     25        (WebDOMCString::WebDOMCString):
     26        (WebDOMCString::operator=):
     27        (WebDOMCString::operator WTF::CString):
     28        * bindings/cpp/WebDOMCString.h: Added.
     29        (WebDOMCString::~WebDOMCString):
     30        (WebDOMCString::WebDOMCString):
     31        (WebDOMCString::operator=):
     32        (WebDOMCString::isEmpty):
     33        (WebDOMCString::isNull):
     34        * bindings/cpp/WebDOMEventListenerCustom.cpp: Added.
     35        (WebDOMEventListener::handleEvent):
     36        (toWebKit):
     37        * bindings/cpp/WebDOMEventTarget.cpp: Added.
     38        (WebDOMEventTarget::WebDOMEventTargetPrivate::WebDOMEventTargetPrivate):
     39        (WebDOMEventTarget::WebDOMEventTarget):
     40        (WebDOMEventTarget::~WebDOMEventTarget):
     41        (WebDOMEventTarget::impl):
     42        (toWebCore):
     43        (toWebKit):
     44        * bindings/cpp/WebDOMEventTarget.h: Added.
     45        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Added.
     46        (documentWrite):
     47        (WebDOMHTMLDocument::write):
     48        (WebDOMHTMLDocument::writeln):
     49        * bindings/cpp/WebDOMNodeCustom.cpp: Added.
     50        (WebDOMNode::insertBefore):
     51        (WebDOMNode::replaceChild):
     52        (WebDOMNode::removeChild):
     53        (WebDOMNode::appendChild):
     54        (WebDOMNode::addEventListener):
     55        (WebDOMNode::removeEventListener):
     56        * bindings/cpp/WebDOMObject.h: Added.
     57        (WebDOMObject::WebDOMObject):
     58        (WebDOMObject::~WebDOMObject):
     59        * bindings/cpp/WebDOMString.cpp: Added.
     60        (WebDOMString::reset):
     61        (WebDOMString::assign):
     62        (WebDOMString::length):
     63        (WebDOMString::data):
     64        (WebDOMString::utf8):
     65        (WebDOMString::fromUTF8):
     66        (WebDOMString::WebDOMString):
     67        (WebDOMString::operator=):
     68        (WebDOMString::operator WebCore::String):
     69        (WebDOMString::operator WebCore::AtomicString):
     70        (WebDOMString::equals):
     71        * bindings/cpp/WebDOMString.h: Added.
     72        (WebDOMString::~WebDOMString):
     73        (WebDOMString::WebDOMString):
     74        (WebDOMString::operator=):
     75        (WebDOMString::isEmpty):
     76        (WebDOMString::isNull):
     77        * bindings/cpp/WebExceptionHandler.cpp: Added.
     78        (globalExceptionHandler):
     79        (webInstallExceptionHandler):
     80        (webRaiseDOMException):
     81        * bindings/cpp/WebExceptionHandler.h: Added.
     82        (webDOMRaiseError):
     83        * bindings/cpp/WebNativeEventListener.cpp: Added.
     84        (WebNativeEventListener::WebNativeEventListener):
     85        (WebNativeEventListener::~WebNativeEventListener):
     86        (WebNativeEventListener::handleEvent):
     87        (WebNativeEventListener::reportError):
     88        (WebNativeEventListener::operator==):
     89        * bindings/cpp/WebNativeEventListener.h: Added.
     90        (WebNativeEventListener::create):
     91        (WebNativeEventListener::cast):
     92        * bindings/scripts/CodeGeneratorCPP.pm: Added.
     93        * bindings/scripts/test/CPP: Added.
     94        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Added.
     95        (WebDOMTestCallback::WebDOMTestCallbackPrivate::WebDOMTestCallbackPrivate):
     96        (WebDOMTestCallback::WebDOMTestCallback):
     97        (WebDOMTestCallback::impl):
     98        (WebDOMTestCallback::~WebDOMTestCallback):
     99        (WebDOMTestCallback::callbackWithClass1Param):
     100        (WebDOMTestCallback::callbackWithClass2Param):
     101        (WebDOMTestCallback::callbackWithNonBoolReturnType):
     102        (toWebCore):
     103        (toWebKit):
     104        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Added.
     105        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Added.
     106        (WebDOMTestInterface::WebDOMTestInterfacePrivate::WebDOMTestInterfacePrivate):
     107        (WebDOMTestInterface::WebDOMTestInterface):
     108        (WebDOMTestInterface::impl):
     109        (WebDOMTestInterface::~WebDOMTestInterface):
     110        (toWebCore):
     111        (toWebKit):
     112        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Added.
     113        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Added.
     114        (WebDOMTestObj::WebDOMTestObjPrivate::WebDOMTestObjPrivate):
     115        (WebDOMTestObj::WebDOMTestObj):
     116        (WebDOMTestObj::impl):
     117        (WebDOMTestObj::~WebDOMTestObj):
     118        (WebDOMTestObj::readOnlyIntAttr):
     119        (WebDOMTestObj::readOnlyStringAttr):
     120        (WebDOMTestObj::readOnlyTestObjAttr):
     121        (WebDOMTestObj::intAttr):
     122        (WebDOMTestObj::setIntAttr):
     123        (WebDOMTestObj::longLongAttr):
     124        (WebDOMTestObj::setLongLongAttr):
     125        (WebDOMTestObj::unsignedLongLongAttr):
     126        (WebDOMTestObj::setUnsignedLongLongAttr):
     127        (WebDOMTestObj::stringAttr):
     128        (WebDOMTestObj::setStringAttr):
     129        (WebDOMTestObj::testObjAttr):
     130        (WebDOMTestObj::setTestObjAttr):
     131        (WebDOMTestObj::attrWithException):
     132        (WebDOMTestObj::setAttrWithException):
     133        (WebDOMTestObj::attrWithSetterException):
     134        (WebDOMTestObj::setAttrWithSetterException):
     135        (WebDOMTestObj::attrWithGetterException):
     136        (WebDOMTestObj::setAttrWithGetterException):
     137        (WebDOMTestObj::scriptStringAttr):
     138        (WebDOMTestObj::voidMethod):
     139        (WebDOMTestObj::voidMethodWithArgs):
     140        (WebDOMTestObj::intMethod):
     141        (WebDOMTestObj::intMethodWithArgs):
     142        (WebDOMTestObj::objMethod):
     143        (WebDOMTestObj::objMethodWithArgs):
     144        (WebDOMTestObj::methodThatRequiresAllArgs):
     145        (WebDOMTestObj::methodThatRequiresAllArgsAndThrows):
     146        (WebDOMTestObj::serializedValue):
     147        (WebDOMTestObj::methodWithException):
     148        (WebDOMTestObj::addEventListener):
     149        (WebDOMTestObj::removeEventListener):
     150        (WebDOMTestObj::withDynamicFrame):
     151        (WebDOMTestObj::withDynamicFrameAndArg):
     152        (WebDOMTestObj::withDynamicFrameAndOptionalArg):
     153        (WebDOMTestObj::withScriptStateVoid):
     154        (WebDOMTestObj::withScriptStateObj):
     155        (WebDOMTestObj::withScriptStateVoidException):
     156        (WebDOMTestObj::withScriptStateObjException):
     157        (WebDOMTestObj::methodWithOptionalArg):
     158        (WebDOMTestObj::methodWithNonOptionalArgAndOptionalArg):
     159        (WebDOMTestObj::methodWithNonOptionalArgAndTwoOptionalArgs):
     160        (toWebCore):
     161        (toWebKit):
     162        * bindings/scripts/test/CPP/WebDOMTestObj.h: Added.
     163        * css/StyleSheet.idl: Export helper method isCSSStyleSheet() for cpp bindings only.
     164        * dom/CustomEvent.idl: Disabled for cpp bindings, needs arbitary input parameter handling support ('DOMObject' type).
     165        * dom/Document.idl: Ignore getCSSCanvasContext() for cpp bindings and export helper method isHTMLDocument() (cpp bindings only).
     166        * dom/Event.idl: Export isMutationEvent()/isMouseEvent()/isUIEvent() helpers for cpp bindings only.
     167        * dom/EventListener.h: Add CPPEventListenerType.
     168        * dom/Node.idl: addEventListener/removeEventListener need [Custom] flag for cpp bindings.
     169        * dom/PopStateEvent.idl: Disabled just like CustomEvent, for the same reason ("any" argument type handling).
     170        * html/HTMLCanvasElement.idl: Disable getContext() method for cpp bindings, as it's done for objc bindings.
     171        * html/HTMLDocument.idl: Add [NoCPPCustom] marker for open(), as we're just autogenerating it.
     172        * html/HTMLInputElement.idl: Disable valueAsDate() method for cpp bindings, as we're missing native 'Date' type support.
     173        * html/TextMetrics.h: Add missing PassRefPtr.h include.
     174        * html/canvas/CanvasRenderingContext2D.idl: Disable methods (setLineCap, etc..) for cpp bindings whose names clash with property setters.
     175        * page/AbstractView.idl: Rename 'Media' type to 'StyleMedia' - this should have been done before.
     176        * page/Location.idl: Disable several methods which would need a custom implementation for the cpp bindings.
     177        * page/WebKitPoint.h: Add missing PassRefPtr.h include.
     178        * storage/SQLResultSet.idl: Correct type from 'long' to 'long long', for cpp bindings only though as it wouldn't build on Chromium/V8.
     179        * workers/DedicatedWorkerContext.idl: Disable postMessage() for now when using cpp bindings, would need custom code for us.
     180        * workers/WorkerContext.idl: Hide constructors from cpp bindings.
     181
    11822010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
    2183
  • trunk/WebCore/css/StyleSheet.idl

    r52921 r60784  
    3434        readonly attribute [ConvertNullStringTo=Null] DOMString        title;
    3535        readonly attribute MediaList        media;
     36
     37#if defined(LANGUAGE_CPP) && LANGUAGE_CPP
     38        // Extra WebCore methods exposed to allowe compile-time casting in C++
     39        boolean isCSSStyleSheet();
     40#endif
     41
    3642    };
    3743
  • trunk/WebCore/dom/CustomEvent.idl

    r56445 r60784  
    2626module events {
    2727
     28#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    2829    // Introduced in DOM Level 3:
    2930    interface CustomEvent : Event {
     
    3637                            in DOMObject detailArg);
    3738    };
     39#endif
    3840
    3941}
  • trunk/WebCore/dom/Document.idl

    r60624 r60784  
    220220#endif
    221221
     222#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    222223#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
    223224        [V8Custom] DOMObject getCSSCanvasContext(in DOMString contextId, in DOMString name, in long width, in long height);
     225#endif
    224226#endif
    225227
     
    312314        attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchcancel;
    313315#endif
     316
     317#if defined(LANGUAGE_CPP) && LANGUAGE_CPP
     318        // Extra WebCore methods exposed to allow compile-time casting in C++
     319        boolean isHTMLDocument();
     320#endif
     321
    314322    };
    315323
  • trunk/WebCore/dom/Event.idl

    r56195 r60784  
    8080#endif
    8181
     82#if defined(LANGUAGE_CPP) && LANGUAGE_CPP
     83        // Extra WebCore methods exposed to allow compile-time casting in C++
     84        boolean isMutationEvent();
     85        boolean isMouseEvent();
     86        boolean isUIEvent();
     87#endif
     88
    8289    };
    8390
  • trunk/WebCore/dom/EventListener.h

    r60225 r60784  
    3737    class EventListener : public RefCounted<EventListener> {
    3838    public:
    39         enum Type { JSEventListenerType,
    40                     ImageEventListenerType,
    41                     InspectorDOMAgentType,
    42                     InspectorDOMStorageResourceType,
    43                     ObjCEventListenerType,
    44                     ConditionEventListenerType,
    45                     GObjectEventListenerType };
    46                    
     39        enum Type {
     40            JSEventListenerType,
     41            ImageEventListenerType,
     42            InspectorDOMAgentType,
     43            InspectorDOMStorageResourceType,
     44            ObjCEventListenerType,
     45            CPPEventListenerType,
     46            ConditionEventListenerType,
     47            GObjectEventListenerType
     48        };
     49
    4750        virtual ~EventListener() { }
    4851        virtual bool operator==(const EventListener&) = 0;
  • trunk/WebCore/dom/Node.idl

    r60023 r60784  
    133133#endif /* defined(LANGUAGE_OBJECTIVE_C) */
    134134
     135#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    135136#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
    136137#if !defined(LANGUAGE_GOBJECT) || !LANGUAGE_GOBJECT
     
    145146#endif
    146147#endif
     148#endif
     149
     150#if defined(LANGUAGE_CPP) && LANGUAGE_CPP
     151        [Custom] void addEventListener(in DOMString type,
     152                                          in EventListener listener,
     153                                          in boolean useCapture);
     154        [Custom] void removeEventListener(in DOMString type,
     155                                             in EventListener listener,
     156                                             in boolean useCapture);
     157        boolean dispatchEvent(in Event event)
     158            raises(EventException);
     159#endif
     160
    147161    };
    148162
  • trunk/WebCore/dom/PopStateEvent.idl

    r58504 r60784  
    2727module events {
    2828
     29#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    2930    interface PopStateEvent : Event {
    3031        void initPopStateEvent(in DOMString typeArg,
     
    3536        readonly attribute [V8CustomGetter] any state;
    3637    };
     38#endif
    3739
    3840}
  • trunk/WebCore/html/HTMLCanvasElement.idl

    r60458 r60784  
    3737            raises(DOMException);
    3838
     39#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    3940#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
    4041        // The custom binding is needed to handle context creation attributes.
    4142        [Custom] DOMObject getContext(in DOMString contextId);
     43#endif
    4244#endif
    4345
  • trunk/WebCore/html/HTMLDocument.idl

    r52921 r60784  
    2424        HasOverridingNameGetter
    2525    ] HTMLDocument : Document {
    26         [Custom] void open();
     26        [Custom, NoCPPCustom] void open();
    2727        void close();
    2828        [Custom] void write(in DOMString text);
  • trunk/WebCore/html/HTMLInputElement.idl

    r60232 r60784  
    5858                 attribute [ConvertNullToNullString] DOMString useMap;
    5959                 attribute [ConvertNullToNullString] DOMString value;
     60#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    6061                 attribute Date            valueAsDate setter raises(DOMException);
     62#endif
    6163                 attribute double          valueAsNumber setter raises(DOMException);
    6264#if defined(ENABLE_DATALIST) && ENABLE_DATALIST
  • trunk/WebCore/html/TextMetrics.h

    r58718 r60784  
    2727#define TextMetrics_h
    2828
     29#include <wtf/PassRefPtr.h>
    2930#include <wtf/RefCounted.h>
    3031
  • trunk/WebCore/html/canvas/CanvasRenderingContext2D.idl

    r59613 r60784  
    9191        void setCompositeOperation(in DOMString compositeOperation);
    9292
     93#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    9394        void setLineWidth(in float width);
    9495        void setLineCap(in DOMString cap);
    9596        void setLineJoin(in DOMString join);
    9697        void setMiterLimit(in float limit);
     98#endif
    9799
    98100        void clearShadow();
  • trunk/WebCore/page/AbstractView.idl

    r58085 r60784  
    3333    ] AbstractView {
    3434        readonly attribute Document document;
    35         readonly attribute Media styleMedia;
     35        readonly attribute StyleMedia styleMedia;
    3636    };
    3737
  • trunk/WebCore/page/Location.idl

    r52534 r60784  
    4242        OmitConstructor
    4343    ] Location {
     44#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    4445                 attribute [DoNotCheckDomainSecurityOnSet, CustomSetter, V8DisallowShadowing] DOMString href;
     46#endif
    4547
    4648        [Custom, V8OnInstance] void assign(in DOMString url);
     
    4951
    5052        // URI decomposition attributes
     53#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    5154                 attribute [CustomSetter] DOMString protocol;
    5255                 attribute [CustomSetter] DOMString host;
     
    5659                 attribute [CustomSetter] DOMString search;
    5760                 attribute [CustomSetter] DOMString hash;
     61#endif
    5862
    5963#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
  • trunk/WebCore/page/WebKitPoint.h

    r41218 r60784  
    2727#define WebKitPoint_h
    2828
     29#include <wtf/PassRefPtr.h>
    2930#include <wtf/RefCounted.h>
    3031
  • trunk/WebCore/storage/SQLResultSet.idl

    r58989 r60784  
    3636        readonly attribute SQLResultSetRowList rows;
    3737
     38#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    3839        readonly attribute long insertId
    3940            getter raises(DOMException);
     41#else
     42        // Explicitely choose 'long long' here to avoid a 64bit->32bit shortening warning for us.
     43        readonly attribute long long insertId
     44            getter raises(DOMException);
     45#endif
    4046        readonly attribute long rowsAffected;
    4147    };
  • trunk/WebCore/workers/DedicatedWorkerContext.idl

    r52534 r60784  
    4040    ] DedicatedWorkerContext : WorkerContext {
    4141
     42#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    4243#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
    4344        [Custom] void postMessage(in any message, in [Optional] Array messagePorts)
     
    4849            raises(DOMException);
    4950#endif
     51#endif
     52
    5053                 attribute EventListener onmessage;
    5154
  • trunk/WebCore/workers/WorkerContext.idl

    r59540 r60784  
    8080#endif
    8181
     82#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
    8283        // Constructors
    8384        attribute MessageEventConstructor MessageEvent;
     
    9495        attribute [JSCCustomGetter,EnabledAtRuntime] WebSocketConstructor WebSocket; // Usable with the new operator
    9596#endif
     97#endif
    9698    };
    9799
  • trunk/WebKitTools/ChangeLog

    r60732 r60784  
     12010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Add CPP bindings generator
     6        https://bugs.webkit.org/show_bug.cgi?id=38279
     7
     8        Integrate CPP bindings in run-bindings-tests.
     9
     10        * Scripts/run-bindings-tests:
     11
    1122010-06-04  Tony Gentilcore  <tonyg@chromium.org>
    213
  • trunk/WebKitTools/Scripts/run-bindings-tests

    r58329 r60784  
    117117        'ObjC',
    118118        'GObject',
     119        'CPP'
    119120    ]
    120121
Note: See TracChangeset for help on using the changeset viewer.