[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/khtml/ecma
From:       Germain Garand <germain () ebooksfrance ! org>
Date:       2010-01-22 21:12:46
Message-ID: 1264194766.250769.32188.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1078784 by ggarand:

add proper ecma object for DOM Comments.

 M  +26 -1     kjs_dom.cpp  
 M  +8 -0      kjs_dom.h  


--- trunk/KDE/kdelibs/khtml/ecma/kjs_dom.cpp #1078783:1078784
@@ -1810,7 +1810,7 @@
       ret = new DOMProcessingInstruction(exec, static_cast<DOM::ProcessingInstructionImpl*>(n));
       break;
     case DOM::Node::COMMENT_NODE:
-      ret = new DOMCharacterData(exec, static_cast<DOM::CharacterDataImpl*>(n));
+      ret = new DOMComment(exec, static_cast<DOM::CommentImpl*>(n));
       break;
     case DOM::Node::DOCUMENT_NODE:
       if (static_cast<DOM::DocumentImpl*>(n)->isHTMLDocument())
@@ -2086,3 +2086,28 @@
   }
   return jsUndefined();
 }
+
+// -------------------------------------------------------------------------
+
+const ClassInfo DOMComment::info = { "Comment",
+                                    &DOMCharacterData::info, 0, 0 };
+/*
+@begin DOMCommentProtoTable 1
+@end
+*/
+
+KJS_DEFINE_PROTOTYPE(DOMCommentProto)
+KJS_IMPLEMENT_PROTOFUNC(DOMCommentProtoFunc)
+KJS_IMPLEMENT_PROTOTYPE("DOMComment",DOMCommentProto,DOMCommentProtoFunc,DOMCharacterDataProto)
+
+DOMComment::DOMComment(ExecState *exec, DOM::CommentImpl* d)
+ : DOMCharacterData(exec, d)
+ {
+    setPrototype(DOMCommentProto::self(exec));
+ }
+
+JSValue* DOMCommentProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const List &args)
+{
+  KJS_CHECK_THIS( KJS::DOMComment, thisObj );
+  return jsUndefined();
+}
--- trunk/KDE/kdelibs/khtml/ecma/kjs_dom.h #1078783:1078784
@@ -347,6 +347,14 @@
     enum { SplitText, WholeText, ReplaceWholeText };
   };
 
+  class DOMComment : public DOMCharacterData {
+  public:
+    DOMComment(ExecState *exec, DOM::CommentImpl* t);
+    virtual const ClassInfo* classInfo() const { return &info; }
+    static const ClassInfo info;
+    DOM::CommentImpl* impl() const { return static_cast<DOM::CommentImpl*>(m_impl.get()); }
+  };
+
 } // namespace
 
 #endif
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic