Hi,
   Until now, it is two month more since the project "Add DOM support
to Netsurf" GSoC project started, I think it is better to make a "two
month report" for the project.

    1. The libDOM Core:  Generally, this part is in the progress of
review and there is a detailed report about all the DOM Core
interfaces and methods we support/not support now. Please refer:
http://stuff.morebits.org/wiki/LibDOM_Core_Support_Status for detail.

   2. The libDOM Events Module: I started this module one week ago,
and now, most of its work is done. There is also a detail status of it
at: http://stuff.morebits.org/wiki/LibDOM_Events_Support_Status .

Coming work:

1. Add MutationEvent/MutationNameEvent support for the DOM Core. For
detail, when the Node.appendChild/removeChild or
Element.setAttribute/removeAttribute get called, there should be some
MutationEvent to be emitted.

2. Test and make sure the Events module works well.

3. Make a good start of HTML modules.


Regards!
Bo

PS:

If you don't like follow any link, here are the Core/Events detail status:

The Core:
DOM Level 1


DocumentFragment: All

Document:
  docType: Yes
  implementation: Yes
  documentElement: Yes
  createDocument: Yes
  createDocumentFragment: Yes
  createTextNode: Yes
  createComment: Yes
  createCdataSection: Yes
  createProcessingInstruction: Yes
  createAttribute: Yes
  createEntityReference: Yes
  getElementsByTagName: Yes

Node:
  nodeName: Yes
  nodeValue: Yes
  nodeType: Yes
  parentNode: Yes
  childNodes: Yes
  firstChild: Yes
  lastChild: Yes
  previousSibling: Yes
  nextSibling: Yes
  attributes: Yes
  inserBefore: Yes
  replaceChild: Yes
  removeChild: Yes
  appendChild: Yes
  hasChildNodes: Yes
  cloneNode: Yes

NodeList:
  item: Yes
  length: Yes

NamedNodeMap:
  getNamedItem: Yes
  setNamedItem: Yes
  removeNamedItem: Yes
  item: Yes
  length: Yes

CharacterData:
  data: Yes
  length: Yes
  substringData: Yes
  appendData: Yes
  insertData: Yes
  deleteData: Yes
  replaceData: Yes

Attr:
  name: Yes
  specified: Yes
  value: Yes

Element:
  tagName: Yes
  getAttribute: Yes
  setAttribute: Yes
  removeAttribute: Yes
  getAttributeNode: Yes
  setAttributeNode: Yes
  removeAttributeNode: Yes
  getElementsByTagName: Yes
  normalize: No

Text:
  splitText: Yes

Comment: All

CDATASection: All

DocumentType:
  name: Yes
  entities: No
  notations: No

Notatoin: No Interface

Entity: No Interface

EntityReference: All

ProcessingInstruction: All

 DOM Level 2


DOMImplementation:
  hasFeature: Yes
  createDocumentType: Yes
  createDocument: Yes

Document:
  importNode: Yes
  createElementNS: Yes
  createAttributeNS: Yes
  getElementsByTagNameNS: Yes
  getElementById: Yes

Node:
  normalize: No
  isSupported: Yes
  namespaceURI: No
  prefix: No
  localName: Yes
  hasAttributes: Yes

NamedNodeMap:
  getNamedItemNS: Yes
  setNamedItemNS: Yes
  removeNamedItemNS: Yes

Attr:
  ownerElement: Yes

Element:
  getAttributeNS: Yes
  setAttributeNS: Yes
  removeAttributeNS: Yes
  getAttributeNodeNS: Yes
  setAttributeNodeNS: Yes
  getElementsByTagNameNS: Yes
  hasAttribute: Yes
  hasAttributeNS: Yes

DocumentType:
  publicId: Yes
  systemId: Yes
  internalSubset: No

DOM Level 3


DOMStringList: No Interface

NameList: No Interface

DOMImplementationList: All

DOMImplementationSource: All

DOMImplementation:
  hasFeature: No

Document:
  inputEncoding: No
  xmlEncoding: No
  xmlStandalone: No
  xmlVersion: No
  strictErrorChecking: No
  documentURI: Yes
  adoptNode: Yes
  domConfig: No
  normalizeDocument: No
  renameNode: No

Node:
  compareDocumentPosition: No
  textContent: Yes
  isSameNode: Yes
  lookupPrefix: No
  isDefaultNamespace: No
  lookupNamespaceURI: No
  isEqualNode: Yes
  getFeature: Yes
  setUserData: Yes
  getUserData: Yes

Attr:
  schemaTypeInfo: No
  isId: Yes

Element:
  schemaTypeInfo: No
  setIdAttribute: Yes
  setIdAttributeNS: Yes
  setIdAttributeNode: Yes

Text:
  isElementContentWhitespace: No
  wholeText: No
  replaceWholeText: No

TypeInfo: No

UserDataHandler: All

DOMError: No Interface

DOMErrorHandler: No Interface

DOMLocator: No Interface

DOMConfiguration: No Interface


The Events:

Level 2


EventTarget:
  addEventListener: Yes
  removeEventListener: Yes
  dispatchEvent: Yes

EventListener: All

Event:
  type: Yes
  target: Yes
  currentTarget: Yes
  eventPhase: Yes
  bubbles: Yes
  cancelable: Yes
  timeStamp: Yes
  stopPropagation: Yes
  preventDefault: Yes
  initEvent: Yes

EventException: All

DocumentEvent:
  createEvent: Yes

UIEvent:
  view: Yes(But no AbstractView support!)
  detail: Yes
  initUIEvent: Yes

MouseEvent: All

MutationEvent: All

 Level 3


Event:
  namespaceURI: No
  stopImmediatePropagation: Yes
  defaultPrevented: Yes
  initEventNS: Yes

CustomEvent: All

EventTarget:
  addEventListenerNS: No
  removeEventListenerNS: No

DocumentEvent:
  canDispatch: No

UIEvent: All

TextEvent: All

KeyboardEvent: All

MouseEvent: All

MouseMultiWheelEvent: All

MouseWheelEvent: All

MutationEvent: All

MutationNameEvent: All

Reply via email to