/* * dom2ranges.idl * * DOM Level 2 Ranges IDL definitions, rewritten in Web IDL. * * Original OMG IDL: * * http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/ranges.idl */ module ranges { typedef dom::Node Node; typedef dom::Document Document; typedef dom::DOMException DOMException; typedef dom::DocumentFragment DocumentFragment; // Introduced in DOM Level 2: exception RangeException { // RangeExceptionCode const unsigned short BAD_BOUNDARYPOINTS_ERR = 1; const unsigned short INVALID_NODE_TYPE_ERR = 2; unsigned short code; }; // Introduced in DOM Level 2: interface Range { readonly attribute Node startContainer getraises(DOMException); readonly attribute long startOffset getraises(DOMException); readonly attribute Node endContainer getraises(DOMException); readonly attribute long endOffset getraises(DOMException); readonly attribute boolean collapsed getraises(DOMException); readonly attribute Node commonAncestorContainer getraises(DOMException); void setStart(in Node refNode, in long offset) raises(RangeException, DOMException); void setEnd(in Node refNode, in long offset) raises(RangeException, DOMException); void setStartBefore(in Node refNode) raises(RangeException, DOMException); void setStartAfter(in Node refNode) raises(RangeException, DOMException); void setEndBefore(in Node refNode) raises(RangeException, DOMException); void setEndAfter(in Node refNode) raises(RangeException, DOMException); void collapse(in boolean toStart) raises(DOMException); void selectNode(in Node refNode) raises(RangeException, DOMException); void selectNodeContents(in Node refNode) raises(RangeException, DOMException); // CompareHow const unsigned short START_TO_START = 0; const unsigned short START_TO_END = 1; const unsigned short END_TO_END = 2; const unsigned short END_TO_START = 3; short compareBoundaryPoints(in unsigned short how, in Range sourceRange) raises(DOMException); void deleteContents() raises(DOMException); DocumentFragment extractContents() raises(DOMException); DocumentFragment cloneContents() raises(DOMException); void insertNode(in Node newNode) raises(DOMException, RangeException); void surroundContents(in Node newParent) raises(DOMException, RangeException); Range cloneRange() raises(DOMException); DOMString toString() raises(DOMException); void detach() raises(DOMException); }; // Introduced in DOM Level 2: interface DocumentRange { Range createRange(); }; Document implements DocumentRange; };