What's New in Internet Explorer 9 (C++)

New for Windows Internet Explorer 9

This page lists the new API added in Internet Explorer 9 for C++ developers.

Functions

IETrackingProtectionEnabled

Determines whether Tracking Protection is enabled.

TriggerFileDownload

Directs Internet Explorer to download a file.

Interfaces

ICanvasGradient

Specifies an object that represents a color gradient on a CanvasRenderingContext2D object.

ICanvasImageData

Provides an object that can represent a rectangle of pixels of a given width and height.

ICanvasPattern

Provides a pattern for the fill style by using an image or portion of an image.

ICanvasPixelArray

Provides indexed access to the color components of each pixel of image data.

ICanvasPixelArrayData

Provides an interface to the ICanvasPixelArrayData::GetBufferPointer method, which allows native code (such as an ActiveX control, Browser Help Object (BHO), or WebBrowser control (WebOC) host) access to the CanvasPixelArray

ICanvasRenderingContext2D

Provides an object that represents a two-dimensional surface that has an origin (0,0) at the upper-left corner, with x-coordinates increasing as you move right and y-coordinates increasing as you move down.

ICanvasTextMetrics

Defines an object that the ICanvasRenderingContext2D::measureText method returns.

IDocumentEvent

Exposes a mechanism whereby the user can create an event object.

IDocumentRange

Defines a range interface that is implemented on the document object.

IDocumentTraversal

Provides a way to traverse a filtered list of nodes either in a flat or tree-structured representation.

IDOMBeforeUnloadEvent

Provides a way to warn the user before a document is unloaded.

IDOMCompositionEvent

Provides contextual information that is associated with text-composition events.

IDOMCustomEvent

Provides properties and methods for user-defined custom events.

IDOMDocumentType

Provides properties that describe the document type of a document object.

IDOMDragEvent

Provides properties and methods for drag-and-drop events.

IDOMEvent

Provides properties and methods that are common to all Document Object Model (DOM) events.

IDOMException

Describes errors thrown by DOM operations.

IDOMFocusEvent

Provides properties and methods for events that are caused by changes in element focus.

IDOMKeyboardEvent

Provides properties and methods for keystroke events.

IDOMMessageEvent

Provides properties and methods for cross-document messaging (XDM) events.

IDOMMouseEvent

Provides properties and methods for mouse pointer events.

IDOMMouseWheelEvent

Provides properties and methods for mouse wheel movement.

IDOMMutationEvent

Provides properties and methods for changes to the DOM structure.

IDOMNodeIterator

Provides an object that can be used to traverse filtered lists of nodes or elements by using a flat, logical representation of the document structure. The IDOMNodeIterator is dynamic, reflecting the state of the document as it is edited or changed.

IDOMParser

Interface that converts strings of serialized XML source code into a DOM trees.

IDOMParserFactory

Instantiates the DOMParser object.

IDOMProcessingInstruction

Provides properties that represent a processing instruction for XML documents.

IDOMSiteModeEvent

Provides event properties that are specific to pinned site events.

IDOMStorageEvent

Provides properties and methods for DOM storage events.

IDOMTextEvent

Provides specific contextual information that is associated with text events.

IDOMTreeWalker

Provides an object that can be used to traverse a filtered hierarchy of nodes or elements in a document. This interface is ideal for navigating a representation of the document's tree structure. The IDOMTreeWalker is dynamic and reflects the state of the document as it is edited or changed.

IDOMUIEvent

Provides properties and methods that are common to UIevents.

IDOMWheelEvent

Implements methods and properties that are unique to wheel rotation events.

IDOMXmlSerializer

Provides a method that converts nodes in a DOM tree to an XML string.

IDOMXmlSerializerFactory

Instantiates the IDOMXmlSerializer object.

IElementTraversal

Provides properties for traversing elements in a document. Conceptually, using this property is the same as using a NodeIterator that filters out everthing except for elements. Because traversing elements is the most common use case for developers, this property offers a simpler interface API.

IEventException

Describes errors thrown by event operations.

IEventTarget

Implements methods to register, unregister, and dispatch DOM events.

IGetSVGDocument

This interface provides methods that allow access to Scalable Vector Graphics (SVG) documents displayed in a webpage.

IHTMLAttributeCollection4

Provides programmatic access to items in an element's attribute collection. This interface extends the IHTMLAttributeCollection3 interface.

IHTMLAudioElement

Specifies the sound or audio content, such as music or effects, to be played in a webpage.

IHTMLAudioElementFactory

This interface is used to create new instances of the IHTMLAudioElement.

IHTMLBodyElement4

This interface extends the IHTMLBodyElement3 interface.

IHTMLButtonElement2

Contains methods and properties that you can use to render button elements in a webpage. This interface extends the IHTMLButtonElement interface.

IHTMLCanvasElement

Provides an interface to implement methods and properties for drawing, rendering, and manipulating images and graphics on a webpage.

IHTMLCommentElement3

Extends the IHTMLCommentElement2 interface.

IHTMLCSSImportRule

Represents an @import rule within a Cascading Style Sheets (CSS) style sheet. The @import rule is used to import style rules from other style sheets.

IHTMLCSSMediaList

This interface provides the abstraction of an ordered collection of media. An empty list is the same as a list that contains the medium "all". The items in the media list are accessible via an integral index, starting from 0.

IHTMLCSSMediaRule

This interface represents an @media rule in a CSS style sheet. An @media rule can be used to delimit style rules for specific media types.

IHTMLCSSNamespaceRule

This interface represents an @namespace rule.

IHTMLCSSRule

This interface is the abstract base interface for any type of CSS statement (including both rule sets and at-rules). Internet Explorer preserves all rules specified in a CSS style sheet, even if the rule is not recognized by the parser.

IHTMLCSSStyleDeclaration

Represents a single CSS declaration block.

IHTMLDocument7

Provides methods and properties for working with documents. This interface extends the IHTMLDocument6 interface.

IHTMLDOMAttribute4

Provides programmatic access to the properties and methods that are common to all element objects. This interface extends the IHTMLDOMAttribute2 interface.

IHTMLDOMChildrenCollection2

Extends the IHTMLDOMChildrenCollection.

IHTMLDOMImplementation2

Provides a method for performing operations that are independent of a particular instance of the DOM. This interface extends the IHTMLDOMImplementation interface.

IHTMLDOMNode3

Provides methods to access and modify nodes in the DOM and extends the IHTMLDOMNode2 interface.

IHTMLDOMRange

IHTMLDOMRange specifies a general way to select content between a two boundary points.

IHTMLDOMTextNode3

Provides methods to access the data in a text node of a document; extends the IHTMLDOMTextNode2 interface.

IHTMLElement6

Provides access to properties and methods that are common to all element objects. This interface extends the IHTMLElement5 interface.

IHTMLElementAppliedStyles

Provides methods to rules that are applied to an element.

IHTMLEventObj6

Extends IHTMLEventObj5 with pinned site events.

IHTMLFrameSetElement3

This interface extends the IHTMLFrameSetElement2 interface.

IHTMLImgElement4

This interface extends the IHTMLImgElement3 interface.

IHTMLInputTextElement2

Specifies additional properties to use when you are selecting text.

IHTMLLinkElement5

Extends the IHTMLLinkElement4 interface.

IHTMLMediaElement

Provides methods and properties to play audio or video content to the user.

IHTMLMediaError

Describes the last error that occured with an IHTMLMediaElement operation.

IHTMLObjectElement5

This interface extends the IHTMLObjectElement, IHTMLObjectElement2, IHTMLObjectElement3, and IHTMLObjectElement4 interfaces.

IHTMLOptionElement4

This interface extends the IHTMLOptionElement3 interface.

IHTMLPerformance

The IHTMLPerformance interface provides properties that help identify and troubleshoot performance problems with a webpage.

IHTMLPerformanceNavigation

The IHTMLPerformanceNavigation interface provides properties that describe the user navigation and server actions required to load the document into the window object.

IHTMLPerformanceTiming

Provides properties for accessing the timestamps that are associated with built-in performance marks.

IHTMLRect2

This interface provides the ability to programmatically access and manipulate the properties of rectangle elements. This interface extends the IHTMLRect interface.

IHTMLScreen4

Extends the IHTMLScreen3 interface.

IHTMLScriptElement4

This interface extends the IHTMLScriptElement, IHTMLScriptElement2, and IHTMLScriptElement3 interfaces.

IHTMLSelectElement6

Extends the IHTMLSelectElement5 interface.

IHTMLSelection

Represents the active selection, which is typically a highlighted block of text or other elements in the document. The active selection can be used to complete an action issued by a user or a script.

IHTMLSourceElement

Provides a way for webpage authors to specify multiple alternative media resources for IHTMLMediaElement.

IHTMLStorage2

This interface extends the IHTMLStorage interface.

IHTMLStyleElement2

This interface extends IHTMLStyleElement for Internet Explorer 9. It provides a mechanism by which a style sheet can be retrieved from the node that is responsible for linking it into a document.

IHTMLStyleEnabled

Provides an interface for style objects.

IHTMLStyleFontFace2

Represents an @font-face rule in a CSS style sheet.

IHTMLStyleMedia

Determines the media type that is supported by the object that displays a webpage.

IHTMLStyleSheet4

This interface extends the IHTMLStyleSheet, IHTMLStyleSheet2, and IHTMLStyleSheet3 interfaces for Internet Explorer 9.

IHTMLStyleSheetPage2

Represents a single rule set in a CSS style sheet.

IHTMLStyleSheetRule2

This interface provides additional access to the methods that are returned when you access the styleSheet object.

IHTMLStyleSheetRuleApplied

Provides methods to get the specificity of a rule that is applied to an element.

IHTMLStyleSheetRulesAppliedCollection

Provides access to a collection of IHTMLStyleSheetRulesAppliedCollection objects.

IHTMLStyleSheetRulesCollection2

Provides the abstraction of an ordered collection of CSS rules.

IHTMLStyleSheetsCollection2

Provides additional access to the methods that are returned when you access the styleSheet collection object.

IHTMLTable4

Provides access to table and table cell data. This interface extends the IHTMLTable3 interface.

IHTMLTableCell3

Provides access to additional properties for table cells. This interface extends the IHTMLTableCell2 interface.

IHTMLTableCol3

Provides access to table column properties. This interface extends the IHTMLTableCol2 interface.

IHTMLTableRow4

Provides access to additional table row properties and methods. This interface extends the IHTMLTableRow3 interface.

IHTMLTableSection4

Provides access to additional properties and methods for table sections. This interface extends the IHTMLTableSection3 interface.

IHTMLTextAreaElement2

Specifies additional properties for when you select text.

IHTMLTimeRanges

Implements a collection of time ranges that have been buffered or played.

IHTMLVideoElement

Specifies the video content to be played in a webpage.

IHTMLWindow7

Provides properties that describe the window displaying a webpage. This interface extends the IHTMLWindow6 interface.

INavigatorDoNotTrack

This interface provides a property that indicates whether tracking protection is enabled.

INavigatorGeolocation

Implements a property that, if supported, returns the geographic location of the device running Internet Explorer.

IRangeException

Describes errors thrown by range operations.

IRulesApplied

Provides access to the CSS style rules that are applied to an element.

IRulesAppliedCollection

Provides access to a collection of rules that have been applied to an element.

IShellUIHelper4

Extends IShellUIHelper3 with methods that support pinned sites.

ISurfacePresenter

Provides methods to implement chains of presentation buffers.

ISVGAElement

Provides the properties to the a element.

ISVGAngle

Corresponds to the svgAngleType basic data type.

ISVGAnimatedAngle

Provides SVGAngle properties and attributes that you can animate.

ISVGAnimatedBoolean

Provides Boolean attributes that you can animate.

ISVGAnimatedEnumeration

Provides attributes whose values are constants from a specified enumeration and that you can animate.

ISVGAnimatedInteger

Provides integer attributes that you can animate.

ISVGAnimatedLength

Provides SVGLength attributes that you can animate.

ISVGAnimatedLengthList

Provides SVGLengthList attributes that you can animate.

ISVGAnimatedNumber

Provides SVGNumber attributes that you can animate.

ISVGAnimatedNumberList

Provides SVGNumberList attributes that you can animate.

ISVGAnimatedPathData

Enables you to animate elements that have an ISVGMatrix::d attribute, which holds SVG path data.

ISVGAnimatedPoints

Supports elements that have an ISVGAnimatedPoints::points attribute that you can animate.

ISVGAnimatedPreserveAspectRatio

Provides SVGPreserveAspectRatio attributes that you can animate.

ISVGAnimatedRect

Provides SVGRect attributes that you can animate.

ISVGAnimatedString

Provides string attributes that you can animate.

ISVGAnimatedTransformList

Provides attributes that specify a set of transformations, such as the ISVGTransformable::transform attribute, that you can animate.

ISVGCircleElement

Provides the properties for the circle element.

ISVGClipPathElement

Provides attributes of the SVGClipPathElement element.

ISVGDefsElement

Provides the properties for the defs element.

ISVGDescElement

Provides the properties for the desc element.

ISVGDocument

Represents an SVG document.

ISVGElement

Defines the base interface for all SVG DOM interfaces that correspond directly to elements in the SVG language.

ISVGElementInstance

Represents a single node in the instance tree of SVGElementInstance objects.

ISVGElementInstanceList

Represents an ordered collection of SVGElementInstance objects.

ISVGEllipseElement

Provides the properties for the ellipse element.

ISVGException

Provides information about an exception that is raised when an SVG operation cannot be performed.

ISVGExternalResourcesRequired

Defines a property that determines how to render documents or graphic elements that reference external resources. The ISVGExternalResourcesRequired interface applies to all elements where the element or one of its descendants can reference an external resource.

ISVGFitToViewBox

Defines DOM attributes that apply to elements with viewBox and preserveAspectRatio attribute values.

ISVGGElement

Corresponds to SVGSVGElement, which groups related graphical elements.

ISVGGradientElement

Defines a base interface that the SVGLinearGradientElement and SVGRadialGradientElement objects use.

ISVGImageElement

Corresponds to the SVG image element. The image element renders supported imaging formats into a given rectangle within the current user coordinate system. Supported formats include PNG, JPEG, and files with a MIME type of "image/svg+xml".

ISVGLangSpace

Defines an interface that applies to all elements that have the standard xml:lang and xml:space XML attributes.

ISVGLength

Defines the length data type.

ISVGLengthList

Defines a list of SVGLength objects.

ISVGLinearGradientElement

Defines the attributes that are required to apply linear gradients to SVG elements. This interface corresponds to the SVGLinearGradientElement element.

ISVGLineElement

Defines the attributes that are required for drawing line segments that start at one point and end at another point. This interface corresponds to the SVG SVGLineElement.

Note  Because line elements are single lines and thus are geometrically one-dimensional, they have no interior and the fill property does not apply.

ISVGLocatable

Defines attributes and operations that are used by the elements that have a transform attribute and by the elements that can have a bounding box in current user space.

ISVGMarkerElement

Provides the properties for the marker element.

ISVGMaskElement

Provides properties for the mask element.

ISVGMatrix

Provides properties for the SVGMatrix element.

ISVGMetadataElement

This interface corresponds to the metadata element.

ISVGNumber

Defines attributes for the number basic type.

ISVGNumberList

Defines a list of SVGNumber objects.

The ISVGNumberList interface has the same attributes and methods as other SVGxxxList interfaces. You should consider using a single base class to implement the various SVGxxxList interfaces.

You can designate an ISVGNumberList object as read-only so that any attempts to modify the object cause an exception to be thrown.

ISVGPaint

Represents the values of the fill and stroke properties. The ISVGPaint interface corresponds to the paint basic type.

Note  The ISVGPaint interface is deprecated, and it might be dropped from future versions of the SVG specification.

ISVGPathElement

Corresponds to the path element.

ISVGPathSeg

Defines a base interface that correspoinds to a single command that has a path data specification.

ISVGPathSegArcAbs

Corresponds to an absolute arcto (A) path data command.

ISVGPathSegArcRel

Corresponds to a relative arcto (a) path data command.

ISVGPathSegClosePath

Returns a stand-alone, parentless SVGPathSegClosePath object.

ISVGPathSegCurvetoCubicAbs

Corresponds to an absolute cubic Bézier curveto (C) path data command.

ISVGPathSegCurvetoCubicRel

Corresponds to a relative cubic B

ISVGPathSegCurvetoCubicSmoothAbs

Corresponds to an absolute smooth cubic curveto (S) path data command.

ISVGPathSegCurvetoCubicSmoothRel

Corresponds to a relative smooth cubic curveto (s) path data command.

ISVGPathSegCurvetoQuadraticAbs

Corresponds to an absolute smooth Bézier curveto (Q) path data command.

ISVGPathSegCurvetoQuadraticRel

Corresponds to a relative quadratic B

ISVGPathSegCurvetoQuadraticSmoothAbs

Corresponds to an absolute smooth quadratic curveto (T) path data command.

ISVGPathSegCurvetoQuadraticSmoothRel

Corresponds to a relative smooth quadratic curveto (t) path data command.

ISVGPathSegLinetoAbs

Corresponds to an absolute lineto (L) path data command.

ISVGPathSegLinetoHorizontalAbs

Corresponds to an absolute horizontal lineto (H) path data command.

ISVGPathSegLinetoHorizontalRel

Corresponds to a relative horizontal lineto (h) path data command.

ISVGPathSegLinetoRel

Provides properties for a relative lineto (l) path data command.

ISVGPathSegLinetoVerticalAbs

Provides properties for an absolute vertical lineto (V) path data command.

ISVGPathSegLinetoVerticalRel

Provides properties for a relative vertical lineto (v) path data command.

ISVGPathSegList

Defines a list of SVGPathSeg objects.

ISVGPathSegMovetoAbs

Provides properties for an absolute moveto (M) path data command.

ISVGPathSegMovetoRel

Provides properties for a relative moveto (m) path data command.

ISVGPatternElement

Provides properties for the pattern element.

ISVGPoint

Reprsents an (x, y) coordinate pair that represents a point on the screen.

ISVGPointList

Provides properties and methods for a list of SVGPoint objects.

ISVGPolygonElement

Defines the polygon element.

ISVGPolylineElement

Defines the polyline element.

ISVGPreserveAspectRatio

Provides properties for the preserveAspectRatio attribute, which is available for some SVG elements.

ISVGRadialGradientElement

Provides properties for the radialGradient element.

ISVGRect

Provides properties for a rectangle.

ISVGRectElement

Provides properties for the rect element.

ISVGScriptElement

Provides properties for the script element.

ISVGStopElement

Provides the properties for the stop element.

ISVGStringList

Represents a list of strings.

ISVGStylable

Represents an object that you can style.

ISVGStyleElement

Provides the properties for the style element.

ISVGSVGElement

Provides the properties of the SVG root element.

ISVGSwitchElement

Provides the properties for the switch element.

ISVGSymbolElement

Provides the properties of the symbol element.

ISVGTests

Describes characteristics of elements that have the requiredFeatures, requiredExtensions, and systemLanguage attributes.

ISVGTextContentElement

Provides attributes for text-related interfaces.

ISVGTextElement

Corresponds to the text element.

ISVGTextPathElement

Corresponds to the textPath element.

ISVGTextPositioningElement

Provides attributes for text-related interfaces.

ISVGTitleElement

Corresponds to the title element.

ISVGTransform

Defines a component transformation.

ISVGTransformable

Provides a property to get the value of a ISVGTransformable::transform attribute.

ISVGTransformList

Provides method for maintaining an ordered list of transforms.

ISVGTSpanElement

Corresponds to the tspan element.

ISVGURIReference

Provides a property that gives access to the href attribute of an element.

ISVGUseElement

Provides properties that allow you to read the attributes of a use element.

ISVGViewElement

Provides a property that gives access to the ISVGViewElement::viewTarget attribute of a view element.

ISVGViewSpec

Provides properties that enable you to specify how a document is viewed based on certain parameters (SVG view specification).

ISVGZoomAndPan

Provides a property that gives you access to the ISVGZoomAndPan::zoomAndPan attribute of an element.

ISVGZoomEvent

Provides properties that zoom event handlers can use.

IViewObjectPresentNotify

Provides an interface that provides a mechanism for the host to notify the control when a frame has started rendering.

IViewObjectPresentNotifySite

Provides an interface for ISurfacePresenter-aware ActiveX controls that allow the contol to syncronize presentation with the host.

IViewObjectPresentSite

Provides an interface to the OLE swap chain to enable ActiveX controls to use hardware acceleration to render by using the ISurfacePresenter interface.

IViewObjectPrint

Allows an ActiveX control to specify a bitmap to be sent to the printer at print time. If implemented, when Internet Explorer 9 prints a page, the interface will be called to get the bitmap.

IWebGeocoordinates

Provides properties that describe geographic coordinates and other aspects of a geographic location, generally the location of the device running Internet Explorer.

IWebGeolocation

Provides methods for obtaining the geographical location of the device running Internet Explorer.

IWebGeoposition

Provides properties that describe geographic location data returned by the IWebGeolocation::getCurrentPosition function and the IWebGeolocation::watchPosition function.

IWebGeopositionError

Provides properties that describe error conditions that occur while trying to retrieve the geographic location of the device running Internet Explorer using the geolocation object.

IWinInetCacheAccess

Provides access to Temporary Internet Files (TIF) folder files (Windows CE only).

Enumerations/Structures

Key Identifiers Constants

This topic lists the named keys that you can specify in the KeyboardEvent.key attribute in Internet Explorer 9. The list is sorted alphabetically by name.

Note  The keycodes for 'NumPad0' through 'NumPad9' are not part of this set. Use the location attribute of the event to know if a key originated from the numeric keypad.

svgAngleType Enumerated Type

Defines the SVG angle types.

svgFocusable Enumerated Type

Specifies if an element can acquire keyboard focus (that is, receive keyboard events) and be a target for field-to-field navigation actions (such as when a user is pressing the Tab key).

svgLengthAdjustTypes Enumerated Type

Defines the unit types for the ISVGTextContentElement interface.

svgLengthType Enumerated Type

Defines the length unit types for SVGLength objects.

svgMarkerOrient Enumerated Type

Defines how the marker element is rotated.

svgMarkerOrientAttribute Enumerated Type

Defines how the marker element is rotated.

svgMarkerUnits Enumerated Type

Defines the marker unit types for the marker element.

svgPathSegType Enumerated Type

Defines the path segment types.

svgPreserveAspectMeetOrSliceType Enumerated Type

Defines the meet-or-slice types for the ISVGPreserveAspectRatio property.

svgPreserveAspectRatioAlignType Enumerated Type

Defines the alignment types for the ISVGPreserveAspectRatio property.

svgSpreadMethod Enumerated Type

Defines how the gradient element fills target regions.

svgTransformType Enumerated Type

Defines the transform types for the ISVGTransform interface.

svgUnitTypes Enumerated Type

Defines the unit types for the svgUnitTypes interface.

VIEW_OBJECT_ALPHA_MODE Enumerated Type

Specifies how the alpha value for a bitmap or render target should be treated in the buffer.

VIEW_OBJECT_COMPOSITION_MODE Enumerated Type

Specifies the mode that a surface presentation uses when rendering.

W3CException Error Codes Constants

This topic lists the HRESULT values that are translated into W3C exception codes by Internet Explorer 9. The list is sorted alphabetically by name.