Bug 633602 - Implement Pointer Lock (Mouse Lock) API. r=roc,smaug

This commit is contained in:
David Humphrey (:humph)
2012-04-11 17:55:21 -04:00
parent e0f3658010
commit a49e674017
173 changed files with 2470 additions and 194 deletions

View File

@@ -784,6 +784,12 @@ public:
*/ */
static void ExitFullScreen(bool aRunAsync); static void ExitFullScreen(bool aRunAsync);
virtual void RequestPointerLock(Element* aElement) = 0;
static void UnlockPointer();
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Document notification API's // Document notification API's

View File

@@ -1295,6 +1295,8 @@ private:
NodeHasExplicitBaseURI, NodeHasExplicitBaseURI,
// Set if the element has some style states locked // Set if the element has some style states locked
ElementHasLockedStyleStates, ElementHasLockedStyleStates,
// Set if element has pointer locked
ElementHasPointerLock,
// Set if the node may have DOMMutationObserver attached to it. // Set if the node may have DOMMutationObserver attached to it.
NodeMayHaveDOMMutationObserver, NodeMayHaveDOMMutationObserver,
// Guard value // Guard value
@@ -1358,6 +1360,9 @@ public:
void SetMayHaveDOMMutationObserver() void SetMayHaveDOMMutationObserver()
{ SetBoolFlag(NodeMayHaveDOMMutationObserver, true); } { SetBoolFlag(NodeMayHaveDOMMutationObserver, true); }
bool HasListenerManager() { return HasFlag(NODE_HAS_LISTENERMANAGER); } bool HasListenerManager() { return HasFlag(NODE_HAS_LISTENERMANAGER); }
bool HasPointerLock() const { return GetBoolFlag(ElementHasPointerLock); }
void SetPointerLock() { SetBoolFlag(ElementHasPointerLock); }
void ClearPointerLock() { ClearBoolFlag(ElementHasPointerLock); }
protected: protected:
void SetParentIsContent(bool aValue) { SetBoolFlag(ParentIsContent, aValue); } void SetParentIsContent(bool aValue) { SetBoolFlag(ParentIsContent, aValue); }
void SetInDocument() { SetBoolFlag(IsInDocument); } void SetInDocument() { SetBoolFlag(IsInDocument); }

View File

@@ -8684,6 +8684,13 @@ nsDocument::ExitFullScreen()
// dispatch to so that we dispatch in the specified order. // dispatch to so that we dispatch in the specified order.
nsAutoTArray<nsIDocument*, 8> changed; nsAutoTArray<nsIDocument*, 8> changed;
// We may also need to unlock the pointer, if it's locked.
nsCOMPtr<Element> pointerLockedElement =
do_QueryReferent(nsEventStateManager::sPointerLockedElement);
if (pointerLockedElement) {
UnlockPointer();
}
// Walk the tree of full-screen documents, and reset their full-screen state. // Walk the tree of full-screen documents, and reset their full-screen state.
ResetFullScreen(root, static_cast<void*>(&changed)); ResetFullScreen(root, static_cast<void*>(&changed));
@@ -8714,12 +8721,20 @@ nsDocument::RestorePreviousFullScreenState()
return; return;
} }
// If fullscreen mode is updated the pointer should be unlocked
nsCOMPtr<Element> pointerLockedElement =
do_QueryReferent(nsEventStateManager::sPointerLockedElement);
if (pointerLockedElement) {
UnlockPointer();
}
// Clear full-screen stacks in all descendant documents, bottom up. // Clear full-screen stacks in all descendant documents, bottom up.
nsCOMPtr<nsIDocument> fullScreenDoc(do_QueryReferent(sFullScreenDoc)); nsCOMPtr<nsIDocument> fullScreenDoc(do_QueryReferent(sFullScreenDoc));
nsIDocument* doc = fullScreenDoc; nsIDocument* doc = fullScreenDoc;
while (doc != this) { while (doc != this) {
NS_ASSERTION(doc->IsFullScreenDoc(), "Should be full-screen doc"); NS_ASSERTION(doc->IsFullScreenDoc(), "Should be full-screen doc");
static_cast<nsDocument*>(doc)->ClearFullScreenStack(); static_cast<nsDocument*>(doc)->ClearFullScreenStack();
UnlockPointer();
DispatchFullScreenChange(doc); DispatchFullScreenChange(doc);
doc = doc->GetParentDocument(); doc = doc->GetParentDocument();
} }
@@ -8728,6 +8743,7 @@ nsDocument::RestorePreviousFullScreenState()
NS_ASSERTION(doc == this, "Must have reached this doc."); NS_ASSERTION(doc == this, "Must have reached this doc.");
while (doc != nsnull) { while (doc != nsnull) {
static_cast<nsDocument*>(doc)->FullScreenStackPop(); static_cast<nsDocument*>(doc)->FullScreenStackPop();
UnlockPointer();
DispatchFullScreenChange(doc); DispatchFullScreenChange(doc);
if (static_cast<nsDocument*>(doc)->mFullScreenStack.IsEmpty()) { if (static_cast<nsDocument*>(doc)->mFullScreenStack.IsEmpty()) {
// Full-screen stack in document is empty. Go back up to the parent // Full-screen stack in document is empty. Go back up to the parent
@@ -9003,7 +9019,22 @@ nsDocument::RequestFullScreen(Element* aElement, bool aWasCallerChrome)
// Remember the root document, so that if a full-screen document is hidden // Remember the root document, so that if a full-screen document is hidden
// we can reset full-screen state in the remaining visible full-screen documents. // we can reset full-screen state in the remaining visible full-screen documents.
sFullScreenRootDoc = do_GetWeakReference(nsContentUtils::GetRootDocument(this)); nsIDocument* fullScreenDoc = nsContentUtils::GetRootDocument(this);
sFullScreenRootDoc = do_GetWeakReference(fullScreenDoc);
// If a document is already in fullscreen, then unlock the mouse pointer
// before setting a new document to fullscreen
if (fullScreenDoc) {
UnlockPointer();
}
// If a document is already in fullscreen, then unlock the mouse pointer
// before setting a new document to fullscreen
nsCOMPtr<Element> pointerLockedElement =
do_QueryReferent(nsEventStateManager::sPointerLockedElement);
if (pointerLockedElement) {
UnlockPointer();
}
// Set the full-screen element. This sets the full-screen style on the // Set the full-screen element. This sets the full-screen style on the
// element, and the full-screen-ancestor styles on ancestors of the element // element, and the full-screen-ancestor styles on ancestors of the element
@@ -9167,6 +9198,223 @@ nsDocument::IsFullScreenEnabled(bool aCallerIsChrome, bool aLogFailure)
return true; return true;
} }
static void
DispatchPointerLockChange(nsIDocument* aTarget)
{
nsRefPtr<nsAsyncDOMEvent> e =
new nsAsyncDOMEvent(aTarget,
NS_LITERAL_STRING("mozpointerlockchange"),
true,
false);
e->PostDOMEvent();
}
static void
DispatchPointerLockError(nsIDocument* aTarget)
{
nsRefPtr<nsAsyncDOMEvent> e =
new nsAsyncDOMEvent(aTarget,
NS_LITERAL_STRING("mozpointerlockerror"),
true,
false);
e->PostDOMEvent();
}
void
nsDocument::RequestPointerLock(Element* aElement)
{
NS_ASSERTION(aElement,
"Must pass non-null element to nsDocument::RequestPointerLock");
nsCOMPtr<Element> pointerLockedElement =
do_QueryReferent(nsEventStateManager::sPointerLockedElement);
if (aElement == pointerLockedElement) {
DispatchPointerLockChange(this);
return;
}
if (!ShouldLockPointer(aElement) ||
!SetPointerLock(aElement, NS_STYLE_CURSOR_NONE)) {
DispatchPointerLockError(this);
return;
}
aElement->SetPointerLock();
nsEventStateManager::sPointerLockedElement = do_GetWeakReference(aElement);
nsEventStateManager::sPointerLockedDoc =
do_GetWeakReference(static_cast<nsIDocument*>(this));
DispatchPointerLockChange(this);
}
bool
nsDocument::ShouldLockPointer(Element* aElement)
{
// Check if pointer lock pref is enabled
if (!Preferences::GetBool("full-screen-api.pointer-lock.enabled")) {
NS_WARNING("ShouldLockPointer(): Pointer Lock pref not enabled");
return false;
}
if (aElement != GetFullScreenElement()) {
NS_WARNING("ShouldLockPointer(): Element not in fullscreen");
return false;
}
if (!aElement->IsInDoc()) {
NS_WARNING("ShouldLockPointer(): Element without Document");
return false;
}
// Check if the element is in a document with a docshell.
nsCOMPtr<nsIDocument> ownerDoc = aElement->OwnerDoc();
if (!ownerDoc) {
return false;
}
if (!nsCOMPtr<nsISupports>(ownerDoc->GetContainer())) {
return false;
}
nsCOMPtr<nsPIDOMWindow> ownerWindow = ownerDoc->GetWindow();
if (!ownerWindow) {
return false;
}
nsCOMPtr<nsPIDOMWindow> ownerInnerWindow = ownerDoc->GetInnerWindow();
if (!ownerInnerWindow) {
return false;
}
if (ownerWindow->GetCurrentInnerWindow() != ownerInnerWindow) {
return false;
}
return true;
}
bool
nsDocument::SetPointerLock(Element* aElement, int aCursorStyle)
{
// NOTE: aElement will be nsnull when unlocking.
nsCOMPtr<nsPIDOMWindow> window = GetWindow();
if (!window) {
NS_WARNING("SetPointerLock(): No Window");
return false;
}
nsIDocShell *docShell = window->GetDocShell();
if (!docShell) {
NS_WARNING("SetPointerLock(): No DocShell (window already closed?)");
return false;
}
nsRefPtr<nsPresContext> presContext;
docShell->GetPresContext(getter_AddRefs(presContext));
if (!presContext) {
NS_WARNING("SetPointerLock(): Unable to get presContext in \
domWindow->GetDocShell()->GetPresContext()");
return false;
}
nsCOMPtr<nsIPresShell> shell = presContext->PresShell();
if (!shell) {
NS_WARNING("SetPointerLock(): Unable to find presContext->PresShell()");
return false;
}
nsIFrame* rootFrame = shell->GetRootFrame();
if (!rootFrame) {
NS_WARNING("SetPointerLock(): Unable to get root frame");
return false;
}
nsCOMPtr<nsIWidget> widget = rootFrame->GetNearestWidget();
if (!widget) {
NS_WARNING("SetPointerLock(): Unable to find widget in \
shell->GetRootFrame()->GetNearestWidget();");
return false;
}
if (aElement && (aElement->OwnerDoc() != this)) {
NS_WARNING("SetPointerLock(): Element not in this document.");
return false;
}
// Hide the cursor and set pointer lock for future mouse events
nsRefPtr<nsEventStateManager> esm = presContext->EventStateManager();
esm->SetCursor(aCursorStyle, nsnull, false,
0.0f, 0.0f, widget, true);
esm->SetPointerLock(widget, aElement);
return true;
}
void
nsDocument::UnlockPointer()
{
if (!nsEventStateManager::sIsPointerLocked) {
return;
}
nsCOMPtr<nsIDocument> pointerLockedDoc =
do_QueryReferent(nsEventStateManager::sPointerLockedDoc);
if (!pointerLockedDoc) {
return;
}
nsDocument* doc = static_cast<nsDocument*>(pointerLockedDoc.get());
if (!doc->SetPointerLock(nsnull, NS_STYLE_CURSOR_AUTO)) {
return;
}
nsCOMPtr<Element> pointerLockedElement =
do_QueryReferent(nsEventStateManager::sPointerLockedElement);
if (!pointerLockedElement) {
return;
}
nsEventStateManager::sPointerLockedElement = nsnull;
nsEventStateManager::sPointerLockedDoc = nsnull;
pointerLockedElement->ClearPointerLock();
DispatchPointerLockChange(pointerLockedDoc);
}
void
nsIDocument::UnlockPointer()
{
nsDocument::UnlockPointer();
}
NS_IMETHODIMP
nsDocument::MozExitPointerLock()
{
UnlockPointer();
return NS_OK;
}
NS_IMETHODIMP
nsDocument::GetMozPointerLockElement(nsIDOMElement** aPointerLockedElement)
{
NS_ENSURE_ARG_POINTER(aPointerLockedElement);
*aPointerLockedElement = nsnull;
nsCOMPtr<Element> pointerLockedElement =
do_QueryReferent(nsEventStateManager::sPointerLockedElement);
if (!pointerLockedElement) {
return NS_OK;
}
// Make sure pointer locked element is in the same document and domain.
nsCOMPtr<nsIDocument> pointerLockedDoc =
do_QueryReferent(nsEventStateManager::sPointerLockedDoc);
nsDocument* doc = static_cast<nsDocument*>(pointerLockedDoc.get());
if (doc != this) {
return NS_OK;
}
nsCOMPtr<nsIDOMNode> pointerLockedNode =
do_QueryInterface(pointerLockedElement);
nsresult rv = nsContentUtils::CheckSameOrigin(this, pointerLockedNode.get());
if (NS_FAILED(rv)) {
return NS_OK;
}
return CallQueryInterface(pointerLockedElement, aPointerLockedElement);
}
#define EVENT(name_, id_, type_, struct_) \ #define EVENT(name_, id_, type_, struct_) \
NS_IMETHODIMP nsDocument::GetOn##name_(JSContext *cx, jsval *vp) { \ NS_IMETHODIMP nsDocument::GetOn##name_(JSContext *cx, jsval *vp) { \
return nsINode::GetOn##name_(cx, vp); \ return nsINode::GetOn##name_(cx, vp); \

View File

@@ -986,6 +986,11 @@ public:
// Returns the top element from the full-screen stack. // Returns the top element from the full-screen stack.
Element* FullScreenStackTop(); Element* FullScreenStackTop();
void RequestPointerLock(Element* aElement);
bool ShouldLockPointer(Element* aElement);
bool SetPointerLock(Element* aElement, int aCursorStyle);
static void UnlockPointer();
// This method may fire a DOM event; if it does so it will happen // This method may fire a DOM event; if it does so it will happen
// synchronously. // synchronously.
void UpdateVisibilityState(); void UpdateVisibilityState();

View File

@@ -3280,6 +3280,9 @@ nsGenericElement::UnbindFromTree(bool aDeep, bool aNullParent)
// Fully exit full-screen. // Fully exit full-screen.
nsIDocument::ExitFullScreen(false); nsIDocument::ExitFullScreen(false);
} }
if (HasPointerLock()) {
nsIDocument::UnlockPointer();
}
if (GetParent()) { if (GetParent()) {
NS_RELEASE(mParent); NS_RELEASE(mParent);
} else { } else {
@@ -6456,6 +6459,13 @@ nsINode::Contains(nsIDOMNode* aOther, bool* aReturn)
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
nsGenericElement::MozRequestPointerLock()
{
OwnerDoc()->RequestPointerLock(this);
return NS_OK;
}
PRUint32 PRUint32
nsINode::Length() const nsINode::Length() const
{ {

View File

@@ -593,6 +593,8 @@ GK_ATOM(mousethrough, "mousethrough")
GK_ATOM(mouseup, "mouseup") GK_ATOM(mouseup, "mouseup")
GK_ATOM(mozfullscreenchange, "mozfullscreenchange") GK_ATOM(mozfullscreenchange, "mozfullscreenchange")
GK_ATOM(mozfullscreenerror, "mozfullscreenerror") GK_ATOM(mozfullscreenerror, "mozfullscreenerror")
GK_ATOM(mozpointerlockchange, "mozpointerlockchange")
GK_ATOM(mozpointerlockerror, "mozpointerlockerror")
GK_ATOM(moz_opaque, "moz-opaque") GK_ATOM(moz_opaque, "moz-opaque")
GK_ATOM(moz_action_hint, "mozactionhint") GK_ATOM(moz_action_hint, "mozactionhint")
GK_ATOM(x_moz_errormessage, "x-moz-errormessage") GK_ATOM(x_moz_errormessage, "x-moz-errormessage")
@@ -714,6 +716,8 @@ GK_ATOM(onmouseup, "onmouseup")
GK_ATOM(onMozAfterPaint, "onMozAfterPaint") GK_ATOM(onMozAfterPaint, "onMozAfterPaint")
GK_ATOM(onmozfullscreenchange, "onmozfullscreenchange") GK_ATOM(onmozfullscreenchange, "onmozfullscreenchange")
GK_ATOM(onmozfullscreenerror, "onmozfullscreenerror") GK_ATOM(onmozfullscreenerror, "onmozfullscreenerror")
GK_ATOM(onmozpointerlockchange, "onmozpointerlockchange")
GK_ATOM(onmozpointerlockerror, "onmozpointerlockerror")
GK_ATOM(onMozMousePixelScroll, "onMozMousePixelScroll") GK_ATOM(onMozMousePixelScroll, "onMozMousePixelScroll")
GK_ATOM(onMozScrolledAreaChanged, "onMozScrolledAreaChanged") GK_ATOM(onMozScrolledAreaChanged, "onMozScrolledAreaChanged")
GK_ATOM(ononline, "ononline") GK_ATOM(ononline, "ononline")

View File

@@ -275,6 +275,14 @@ EVENT(mozfullscreenerror,
NS_FULLSCREENERROR, NS_FULLSCREENERROR,
EventNameType_HTML, EventNameType_HTML,
NS_EVENT_NULL) NS_EVENT_NULL)
EVENT(mozpointerlockchange,
NS_POINTERLOCKCHANGE,
EventNameType_HTML,
NS_EVENT_NULL)
EVENT(mozpointerlockerror,
NS_POINTERLOCKERROR,
EventNameType_HTML,
NS_EVENT_NULL)
// Not supported yet; probably never because "wheel" is a better idea. // Not supported yet; probably never because "wheel" is a better idea.
// EVENT(mousewheel) // EVENT(mousewheel)
EVENT(pause, EVENT(pause,

View File

@@ -100,6 +100,8 @@ static const char* const sEventNames[] = {
"MozBeforeResize", "MozBeforeResize",
"mozfullscreenchange", "mozfullscreenchange",
"mozfullscreenerror", "mozfullscreenerror",
"mozpointerlockchange",
"mozpointerlockerror",
"MozSwipeGesture", "MozSwipeGesture",
"MozMagnifyGestureStart", "MozMagnifyGestureStart",
"MozMagnifyGestureUpdate", "MozMagnifyGestureUpdate",
@@ -1170,6 +1172,10 @@ nsDOMEvent::GetScreenCoords(nsPresContext* aPresContext,
nsEvent* aEvent, nsEvent* aEvent,
nsIntPoint aPoint) nsIntPoint aPoint)
{ {
if (nsEventStateManager::sIsPointerLocked) {
return nsEventStateManager::sLastScreenPoint;
}
if (!aEvent || if (!aEvent ||
(aEvent->eventStructType != NS_MOUSE_EVENT && (aEvent->eventStructType != NS_MOUSE_EVENT &&
aEvent->eventStructType != NS_POPUP_EVENT && aEvent->eventStructType != NS_POPUP_EVENT &&
@@ -1225,6 +1231,10 @@ nsDOMEvent::GetClientCoords(nsPresContext* aPresContext,
nsIntPoint aPoint, nsIntPoint aPoint,
nsIntPoint aDefaultPoint) nsIntPoint aDefaultPoint)
{ {
if (nsEventStateManager::sIsPointerLocked) {
return nsEventStateManager::sLastClientPoint;
}
if (!aEvent || if (!aEvent ||
(aEvent->eventStructType != NS_MOUSE_EVENT && (aEvent->eventStructType != NS_MOUSE_EVENT &&
aEvent->eventStructType != NS_POPUP_EVENT && aEvent->eventStructType != NS_POPUP_EVENT &&

View File

@@ -183,6 +183,8 @@ public:
eDOMEvents_beforeresize, eDOMEvents_beforeresize,
eDOMEvents_mozfullscreenchange, eDOMEvents_mozfullscreenchange,
eDOMEvents_mozfullscreenerror, eDOMEvents_mozfullscreenerror,
eDOMEvents_mozpointerlockchange,
eDOMEvents_mozpointerlockerror,
eDOMEvents_MozSwipeGesture, eDOMEvents_MozSwipeGesture,
eDOMEvents_MozMagnifyGestureStart, eDOMEvents_MozMagnifyGestureStart,
eDOMEvents_MozMagnifyGestureUpdate, eDOMEvents_MozMagnifyGestureUpdate,

View File

@@ -233,6 +233,24 @@ nsDOMMouseEvent::GetRelatedTarget(nsIDOMEventTarget** aRelatedTarget)
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
nsDOMMouseEvent::GetMozMovementX(PRInt32* aMovementX)
{
NS_ENSURE_ARG_POINTER(aMovementX);
*aMovementX = GetMovementPoint().x;
return NS_OK;
}
NS_IMETHODIMP
nsDOMMouseEvent::GetMozMovementY(PRInt32* aMovementY)
{
NS_ENSURE_ARG_POINTER(aMovementY);
*aMovementY = GetMovementPoint().y;
return NS_OK;
}
NS_METHOD nsDOMMouseEvent::GetScreenX(PRInt32* aScreenX) NS_METHOD nsDOMMouseEvent::GetScreenX(PRInt32* aScreenX)
{ {
NS_ENSURE_ARG_POINTER(aScreenX); NS_ENSURE_ARG_POINTER(aScreenX);

View File

@@ -49,7 +49,6 @@
#include "nsContentUtils.h" #include "nsContentUtils.h"
#include "nsEventStateManager.h" #include "nsEventStateManager.h"
#include "nsIFrame.h" #include "nsIFrame.h"
#include "nsLayoutUtils.h"
#include "nsIScrollableFrame.h" #include "nsIScrollableFrame.h"
#include "DictionaryHelpers.h" #include "DictionaryHelpers.h"
@@ -58,6 +57,9 @@ nsDOMUIEvent::nsDOMUIEvent(nsPresContext* aPresContext, nsGUIEvent* aEvent)
static_cast<nsEvent *>(aEvent) : static_cast<nsEvent *>(aEvent) :
static_cast<nsEvent *>(new nsUIEvent(false, 0, 0))) static_cast<nsEvent *>(new nsUIEvent(false, 0, 0)))
, mClientPoint(0, 0), mLayerPoint(0, 0), mPagePoint(0, 0) , mClientPoint(0, 0), mLayerPoint(0, 0), mPagePoint(0, 0)
, mIsPointerLocked(nsEventStateManager::sIsPointerLocked)
, mLastScreenPoint(nsEventStateManager::sLastScreenPoint)
, mLastClientPoint(nsEventStateManager::sLastClientPoint)
{ {
if (aEvent) { if (aEvent) {
mEventIsInternal = false; mEventIsInternal = false;
@@ -124,9 +126,9 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsDOMUIEvent)
NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent) NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent)
nsIntPoint nsIntPoint
nsDOMUIEvent::GetScreenPoint() nsDOMUIEvent::GetMovementPoint()
{ {
if (!mEvent || if (!mEvent ||
(mEvent->eventStructType != NS_MOUSE_EVENT && (mEvent->eventStructType != NS_MOUSE_EVENT &&
mEvent->eventStructType != NS_POPUP_EVENT && mEvent->eventStructType != NS_POPUP_EVENT &&
mEvent->eventStructType != NS_MOUSE_SCROLL_EVENT && mEvent->eventStructType != NS_MOUSE_SCROLL_EVENT &&
@@ -136,43 +138,41 @@ nsDOMUIEvent::GetScreenPoint()
return nsIntPoint(0, 0); return nsIntPoint(0, 0);
} }
if (!((nsGUIEvent*)mEvent)->widget ) { if (!((nsGUIEvent*)mEvent)->widget) {
return mEvent->refPoint; return mEvent->lastRefPoint;
} }
nsIntPoint offset = mEvent->refPoint + // Calculate the delta between the previous screen point and the current one.
nsIntPoint currentPoint = CalculateScreenPoint(mPresContext, mEvent);
// Adjust previous event's refPoint so it compares to current screenX, screenY
nsIntPoint offset = mEvent->lastRefPoint +
((nsGUIEvent*)mEvent)->widget->WidgetToScreenOffset(); ((nsGUIEvent*)mEvent)->widget->WidgetToScreenOffset();
nscoord factor = mPresContext->DeviceContext()->UnscaledAppUnitsPerDevPixel(); nscoord factor = mPresContext->DeviceContext()->UnscaledAppUnitsPerDevPixel();
return nsIntPoint(nsPresContext::AppUnitsToIntCSSPixels(offset.x * factor), nsIntPoint lastPoint = nsIntPoint(nsPresContext::AppUnitsToIntCSSPixels(offset.x * factor),
nsPresContext::AppUnitsToIntCSSPixels(offset.y * factor)); nsPresContext::AppUnitsToIntCSSPixels(offset.y * factor));
return currentPoint - lastPoint;
}
nsIntPoint
nsDOMUIEvent::GetScreenPoint()
{
if (mIsPointerLocked) {
return mLastScreenPoint;
}
return CalculateScreenPoint(mPresContext, mEvent);
} }
nsIntPoint nsIntPoint
nsDOMUIEvent::GetClientPoint() nsDOMUIEvent::GetClientPoint()
{ {
if (!mEvent || if (mIsPointerLocked) {
(mEvent->eventStructType != NS_MOUSE_EVENT && return mLastClientPoint;
mEvent->eventStructType != NS_POPUP_EVENT &&
mEvent->eventStructType != NS_MOUSE_SCROLL_EVENT &&
mEvent->eventStructType != NS_MOZTOUCH_EVENT &&
mEvent->eventStructType != NS_DRAG_EVENT &&
mEvent->eventStructType != NS_SIMPLE_GESTURE_EVENT) ||
!mPresContext ||
!((nsGUIEvent*)mEvent)->widget) {
return mClientPoint;
} }
nsPoint pt(0, 0); return CalculateClientPoint(mPresContext, mEvent, &mClientPoint);
nsIPresShell* shell = mPresContext->GetPresShell();
if (!shell) {
return nsIntPoint(0, 0);
}
nsIFrame* rootFrame = shell->GetRootFrame();
if (rootFrame)
pt = nsLayoutUtils::GetEventCoordinatesRelativeTo(mEvent, rootFrame);
return nsIntPoint(nsPresContext::AppUnitsToIntCSSPixels(pt.x),
nsPresContext::AppUnitsToIntCSSPixels(pt.y));
} }
NS_IMETHODIMP NS_IMETHODIMP

View File

@@ -41,6 +41,7 @@
#include "nsIDOMUIEvent.h" #include "nsIDOMUIEvent.h"
#include "nsDOMEvent.h" #include "nsDOMEvent.h"
#include "nsLayoutUtils.h"
class nsDOMUIEvent : public nsDOMEvent, class nsDOMUIEvent : public nsDOMEvent,
public nsIDOMUIEvent public nsIDOMUIEvent
@@ -66,10 +67,67 @@ public:
virtual nsresult InitFromCtor(const nsAString& aType, virtual nsresult InitFromCtor(const nsAString& aType,
JSContext* aCx, jsval* aVal); JSContext* aCx, jsval* aVal);
static nsIntPoint CalculateScreenPoint(nsPresContext* aPresContext,
nsEvent* aEvent)
{
if (!aEvent ||
(aEvent->eventStructType != NS_MOUSE_EVENT &&
aEvent->eventStructType != NS_POPUP_EVENT &&
aEvent->eventStructType != NS_MOUSE_SCROLL_EVENT &&
aEvent->eventStructType != NS_MOZTOUCH_EVENT &&
aEvent->eventStructType != NS_DRAG_EVENT &&
aEvent->eventStructType != NS_SIMPLE_GESTURE_EVENT)) {
return nsIntPoint(0, 0);
}
if (!((nsGUIEvent*)aEvent)->widget ) {
return aEvent->refPoint;
}
nsIntPoint offset = aEvent->refPoint +
((nsGUIEvent*)aEvent)->widget->WidgetToScreenOffset();
nscoord factor = aPresContext->DeviceContext()->UnscaledAppUnitsPerDevPixel();
return nsIntPoint(nsPresContext::AppUnitsToIntCSSPixels(offset.x * factor),
nsPresContext::AppUnitsToIntCSSPixels(offset.y * factor));
}
static nsIntPoint CalculateClientPoint(nsPresContext* aPresContext,
nsEvent* aEvent,
nsIntPoint* aDefaultClientPoint)
{
if (!aEvent ||
(aEvent->eventStructType != NS_MOUSE_EVENT &&
aEvent->eventStructType != NS_POPUP_EVENT &&
aEvent->eventStructType != NS_MOUSE_SCROLL_EVENT &&
aEvent->eventStructType != NS_MOZTOUCH_EVENT &&
aEvent->eventStructType != NS_DRAG_EVENT &&
aEvent->eventStructType != NS_SIMPLE_GESTURE_EVENT) ||
!aPresContext ||
!((nsGUIEvent*)aEvent)->widget) {
return (nsnull == aDefaultClientPoint ? nsIntPoint(0, 0) :
nsIntPoint(aDefaultClientPoint->x, aDefaultClientPoint->y));
}
nsPoint pt(0, 0);
nsIPresShell* shell = aPresContext->GetPresShell();
if (!shell) {
return nsIntPoint(0, 0);
}
nsIFrame* rootFrame = shell->GetRootFrame();
if (rootFrame) {
pt = nsLayoutUtils::GetEventCoordinatesRelativeTo(aEvent, rootFrame);
}
return nsIntPoint(nsPresContext::AppUnitsToIntCSSPixels(pt.x),
nsPresContext::AppUnitsToIntCSSPixels(pt.y));
}
protected: protected:
// Internal helper functions // Internal helper functions
nsIntPoint GetScreenPoint(); nsIntPoint GetScreenPoint();
nsIntPoint GetClientPoint(); nsIntPoint GetClientPoint();
nsIntPoint GetMovementPoint();
nsIntPoint GetLayerPoint(); nsIntPoint GetLayerPoint();
nsIntPoint GetPagePoint(); nsIntPoint GetPagePoint();
@@ -88,6 +146,10 @@ protected:
// Screenpoint is mEvent->refPoint. // Screenpoint is mEvent->refPoint.
nsIntPoint mLayerPoint; nsIntPoint mLayerPoint;
nsIntPoint mPagePoint; nsIntPoint mPagePoint;
nsIntPoint mMovement;
bool mIsPointerLocked;
nsIntPoint mLastScreenPoint;
nsIntPoint mLastClientPoint;
}; };
#define NS_FORWARD_TO_NSDOMUIEVENT \ #define NS_FORWARD_TO_NSDOMUIEVENT \

View File

@@ -137,6 +137,8 @@
#include "mozilla/LookAndFeel.h" #include "mozilla/LookAndFeel.h"
#include "sampler.h" #include "sampler.h"
#include "nsIDOMClientRect.h"
#ifdef XP_MACOSX #ifdef XP_MACOSX
#import <ApplicationServices/ApplicationServices.h> #import <ApplicationServices/ApplicationServices.h>
#endif #endif
@@ -159,6 +161,15 @@ bool nsEventStateManager::sNormalLMouseEventInProcess = false;
nsEventStateManager* nsEventStateManager::sActiveESM = nsnull; nsEventStateManager* nsEventStateManager::sActiveESM = nsnull;
nsIDocument* nsEventStateManager::sMouseOverDocument = nsnull; nsIDocument* nsEventStateManager::sMouseOverDocument = nsnull;
nsWeakFrame nsEventStateManager::sLastDragOverFrame = nsnull; nsWeakFrame nsEventStateManager::sLastDragOverFrame = nsnull;
nsIntPoint nsEventStateManager::sLastRefPoint = nsIntPoint(0,0);
nsIntPoint nsEventStateManager::sLastScreenOffset = nsIntPoint(0,0);
nsIntPoint nsEventStateManager::sLastScreenPoint = nsIntPoint(0,0);
nsIntPoint nsEventStateManager::sLastClientPoint = nsIntPoint(0,0);
bool nsEventStateManager::sIsPointerLocked = false;
// Reference to the pointer locked element.
nsWeakPtr nsEventStateManager::sPointerLockedElement;
// Reference to the document which requested pointer lock.
nsWeakPtr nsEventStateManager::sPointerLockedDoc;
nsCOMPtr<nsIContent> nsEventStateManager::sDragOverContent = nsnull; nsCOMPtr<nsIContent> nsEventStateManager::sDragOverContent = nsnull;
static PRUint32 gMouseOrKeyboardEventCounter = 0; static PRUint32 gMouseOrKeyboardEventCounter = 0;
@@ -772,6 +783,7 @@ nsMouseWheelTransaction::LimitToOnePageScroll(PRInt32 aScrollLines,
nsEventStateManager::nsEventStateManager() nsEventStateManager::nsEventStateManager()
: mLockCursor(0), : mLockCursor(0),
mPreLockPoint(0,0),
mCurrentTarget(nsnull), mCurrentTarget(nsnull),
mLastMouseOverFrame(nsnull), mLastMouseOverFrame(nsnull),
// init d&d gesture state machine variables // init d&d gesture state machine variables
@@ -1046,6 +1058,23 @@ nsEventStateManager::PreHandleEvent(nsPresContext* aPresContext,
NS_ASSERTION(mCurrentTarget, "mCurrentTarget is null. this should not happen. see bug #13007"); NS_ASSERTION(mCurrentTarget, "mCurrentTarget is null. this should not happen. see bug #13007");
if (!mCurrentTarget) return NS_ERROR_NULL_POINTER; if (!mCurrentTarget) return NS_ERROR_NULL_POINTER;
} }
#ifdef DEBUG
if (NS_IS_DRAG_EVENT(aEvent) && sIsPointerLocked) {
NS_ASSERTION(sIsPointerLocked,
"sIsPointerLocked is true. Drag events should be suppressed when the pointer is locked.");
}
#endif
// Store last known screenPoint and clientPoint so pointer lock
// can use these values as constants.
if (NS_IS_TRUSTED_EVENT(aEvent) &&
(NS_IS_MOUSE_EVENT_STRUCT(aEvent) &&
IsMouseEventReal(aEvent)) ||
aEvent->eventStructType == NS_MOUSE_SCROLL_EVENT) {
if (!sIsPointerLocked) {
sLastScreenPoint = nsDOMUIEvent::CalculateScreenPoint(aPresContext, aEvent);
sLastClientPoint = nsDOMUIEvent::CalculateClientPoint(aPresContext, aEvent, nsnull);
}
}
// Do not take account NS_MOUSE_ENTER/EXIT so that loading a page // Do not take account NS_MOUSE_ENTER/EXIT so that loading a page
// when user is not active doesn't change the state to active. // when user is not active doesn't change the state to active.
@@ -3779,6 +3808,25 @@ nsEventStateManager::DispatchMouseEvent(nsGUIEvent* aEvent, PRUint32 aMessage,
nsIContent* aTargetContent, nsIContent* aTargetContent,
nsIContent* aRelatedContent) nsIContent* aRelatedContent)
{ {
// http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html#methods
// "[When the mouse is locked on an element...e]vents that require the concept
// of a mouse cursor must not be dispatched (for example: mouseover, mouseout).
if (sIsPointerLocked &&
(aMessage == NS_MOUSELEAVE ||
aMessage == NS_MOUSEENTER ||
aMessage == NS_MOUSE_ENTER_SYNTH ||
aMessage == NS_MOUSE_EXIT_SYNTH)) {
mCurrentTargetContent = nsnull;
nsCOMPtr<Element> pointerLockedElement =
do_QueryReferent(nsEventStateManager::sPointerLockedElement);
if (!pointerLockedElement) {
NS_WARNING("Should have pointer locked element, but didn't.");
return nsnull;
}
nsCOMPtr<nsIContent> content = do_QueryInterface(pointerLockedElement);
return mPresContext->GetPrimaryFrameFor(content);
}
SAMPLE_LABEL("Input", "DispatchMouseEvent"); SAMPLE_LABEL("Input", "DispatchMouseEvent");
nsEventStatus status = nsEventStatus_eIgnore; nsEventStatus status = nsEventStatus_eIgnore;
nsMouseEvent event(NS_IS_TRUSTED_EVENT(aEvent), aMessage, aEvent->widget, nsMouseEvent event(NS_IS_TRUSTED_EVENT(aEvent), aMessage, aEvent->widget,
@@ -3989,6 +4037,26 @@ nsEventStateManager::GenerateMouseEnterExit(nsGUIEvent* aEvent)
switch(aEvent->message) { switch(aEvent->message) {
case NS_MOUSE_MOVE: case NS_MOUSE_MOVE:
{ {
if (sIsPointerLocked && aEvent->widget) {
// Perform mouse lock by recentering the mouse directly, then remembering the deltas.
nsIntRect bounds;
aEvent->widget->GetScreenBounds(bounds);
aEvent->lastRefPoint = GetMouseCoords(bounds);
// refPoint should not be the centre on mousemove
if (aEvent->refPoint.x == aEvent->lastRefPoint.x &&
aEvent->refPoint.y == aEvent->lastRefPoint.y) {
aEvent->refPoint = sLastRefPoint;
} else {
aEvent->widget->SynthesizeNativeMouseMove(aEvent->lastRefPoint);
}
} else {
aEvent->lastRefPoint = nsIntPoint(sLastRefPoint.x, sLastRefPoint.y);
}
// Update the last known refPoint with the current refPoint.
sLastRefPoint = nsIntPoint(aEvent->refPoint.x, aEvent->refPoint.y);
// Get the target content target (mousemove target == mouseover target) // Get the target content target (mousemove target == mouseover target)
nsCOMPtr<nsIContent> targetElement = GetEventTargetContent(aEvent); nsCOMPtr<nsIContent> targetElement = GetEventTargetContent(aEvent);
if (!targetElement) { if (!targetElement) {
@@ -4024,6 +4092,79 @@ nsEventStateManager::GenerateMouseEnterExit(nsGUIEvent* aEvent)
mCurrentTargetContent = targetBeforeEvent; mCurrentTargetContent = targetBeforeEvent;
} }
void
nsEventStateManager::SetPointerLock(nsIWidget* aWidget,
nsIContent* aElement)
{
// NOTE: aElement will be nsnull when unlocking.
sIsPointerLocked = !!aElement;
if (!aWidget) {
return;
}
// Reset mouse wheel transaction
nsMouseWheelTransaction::EndTransaction();
// Deal with DnD events
nsCOMPtr<nsIDragService> dragService =
do_GetService("@mozilla.org/widget/dragservice;1");
if (sIsPointerLocked) {
// Store the last known ref point so we can reposition the pointer after unlock.
mPreLockPoint = sLastRefPoint + sLastScreenOffset;
nsIntRect bounds;
aWidget->GetScreenBounds(bounds);
sLastRefPoint = GetMouseCoords(bounds);
aWidget->SynthesizeNativeMouseMove(sLastRefPoint);
// Retarget all events to this element via capture.
nsIPresShell::SetCapturingContent(aElement, CAPTURE_POINTERLOCK);
// Suppress DnD
if (dragService) {
dragService->Suppress();
}
} else {
// Unlocking, so return pointer to the original position
aWidget->SynthesizeNativeMouseMove(sLastScreenPoint);
// Don't retarget events to this element any more.
nsIPresShell::SetCapturingContent(nsnull, CAPTURE_POINTERLOCK);
// Unsuppress DnD
if (dragService) {
dragService->Unsuppress();
}
}
}
nsIntPoint
nsEventStateManager::GetMouseCoords(nsIntRect aBounds)
{
NS_ASSERTION(sIsPointerLocked, "GetMouseCoords when not pointer locked!");
nsCOMPtr<nsIDocument> pointerLockedDoc =
do_QueryReferent(nsEventStateManager::sPointerLockedDoc);
if (!pointerLockedDoc) {
NS_WARNING("GetMouseCoords(): No Document");
return nsIntPoint(0, 0);
}
nsCOMPtr<nsPIDOMWindow> domWin = pointerLockedDoc->GetInnerWindow();
if (!domWin) {
NS_WARNING("GetMouseCoords(): No Window");
return nsIntPoint(0, 0);
}
int innerHeight;
domWin->GetInnerHeight(&innerHeight);
return nsIntPoint((aBounds.width / 2) + aBounds.x,
(innerHeight / 2) + (aBounds.y + (aBounds.height - innerHeight)));
}
void void
nsEventStateManager::GenerateDragDropEnterExit(nsPresContext* aPresContext, nsEventStateManager::GenerateDragDropEnterExit(nsPresContext* aPresContext,
nsGUIEvent* aEvent) nsGUIEvent* aEvent)

View File

@@ -228,6 +228,12 @@ public:
static bool IsRemoteTarget(nsIContent* aTarget); static bool IsRemoteTarget(nsIContent* aTarget);
static nsIntPoint sLastScreenPoint;
static nsIntPoint sLastClientPoint;
static bool sIsPointerLocked;
static nsWeakPtr sPointerLockedElement;
static nsWeakPtr sPointerLockedDoc;
protected: protected:
friend class MouseEnterLeaveDispatcher; friend class MouseEnterLeaveDispatcher;
@@ -480,11 +486,16 @@ private:
PRInt32 mLockCursor; PRInt32 mLockCursor;
// Point when mouse was locked, used to reposition after unlocking.
nsIntPoint mPreLockPoint;
nsWeakFrame mCurrentTarget; nsWeakFrame mCurrentTarget;
nsCOMPtr<nsIContent> mCurrentTargetContent; nsCOMPtr<nsIContent> mCurrentTargetContent;
nsWeakFrame mLastMouseOverFrame; nsWeakFrame mLastMouseOverFrame;
nsCOMPtr<nsIContent> mLastMouseOverElement; nsCOMPtr<nsIContent> mLastMouseOverElement;
static nsWeakFrame sLastDragOverFrame; static nsWeakFrame sLastDragOverFrame;
static nsIntPoint sLastRefPoint;
static nsIntPoint sLastScreenOffset;
// member variables for the d&d gesture state machine // member variables for the d&d gesture state machine
nsIntPoint mGestureDownPoint; // screen coordinates nsIntPoint mGestureDownPoint; // screen coordinates
@@ -556,6 +567,9 @@ public:
nsGUIEvent* inMouseDownEvent ) ; nsGUIEvent* inMouseDownEvent ) ;
void KillClickHoldTimer ( ) ; void KillClickHoldTimer ( ) ;
void FireContextClick ( ) ; void FireContextClick ( ) ;
void SetPointerLock(nsIWidget* aWidget, nsIContent* aElement) ;
nsIntPoint GetMouseCoords(nsIntRect aBounds);
static void sClickHoldCallback ( nsITimer* aTimer, void* aESM ) ; static void sClickHoldCallback ( nsITimer* aTimer, void* aESM ) ;
}; };

View File

@@ -48,6 +48,8 @@ var gTestWindows = [
var testWindow = null; var testWindow = null;
var gTestIndex = 0; var gTestIndex = 0;
// TODO: if ever we remove these checks for XP and Lion, we should do the same
// in dom/tests/mochitest/pointerlock/test_pointerlock-api.html, which uses the same pattern.
const isWinXP = navigator.userAgent.indexOf("Windows NT 5.1") != -1; const isWinXP = navigator.userAgent.indexOf("Windows NT 5.1") != -1;
const isOSXLion = navigator.userAgent.indexOf("Mac OS X 10.7") != -1; const isOSXLion = navigator.userAgent.indexOf("Mac OS X 10.7") != -1;

View File

@@ -66,7 +66,7 @@ interface nsIDOMLocation;
* http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html * http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
*/ */
[scriptable, uuid(ac4942fe-1679-4000-aaa7-41dee590a120)] [scriptable, uuid(FDB92F4F-C6B4-4509-A29D-A309981E28AC)]
interface nsIDOMDocument : nsIDOMNode interface nsIDOMDocument : nsIDOMNode
{ {
readonly attribute nsIDOMDocumentType doctype; readonly attribute nsIDOMDocumentType doctype;
@@ -396,6 +396,21 @@ interface nsIDOMDocument : nsIDOMNode
*/ */
readonly attribute boolean mozFullScreenEnabled; readonly attribute boolean mozFullScreenEnabled;
/**
* The element to which the mouse pointer is locked, if any, as per the
* DOM pointer lock api.
*
* @see <http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>
*/
readonly attribute nsIDOMElement mozPointerLockElement;
/**
* Exit pointer is lock if locked, as per the DOM pointer lock api.
*
* @see <http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>
*/
void mozExitPointerLock();
/** /**
* Inline event handler for readystatechange events. * Inline event handler for readystatechange events.
*/ */

View File

@@ -49,7 +49,7 @@
* http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-element * http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-element
*/ */
[scriptable, uuid(295e05d9-9174-48ae-bc59-d7e6a8757726)] [scriptable, uuid(69D44CE2-B544-49A8-BB5F-87804B971EE4)]
interface nsIDOMElement : nsIDOMNode interface nsIDOMElement : nsIDOMNode
{ {
readonly attribute DOMString tagName; readonly attribute DOMString tagName;
@@ -228,4 +228,12 @@ interface nsIDOMElement : nsIDOMNode
* @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI> * @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
*/ */
void mozRequestFullScreen(); void mozRequestFullScreen();
/**
* Requests that this element be made the pointer-locked element, as per the DOM
* pointer lock api.
*
* @see <http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>
*/
void mozRequestPointerLock();
}; };

View File

@@ -38,7 +38,7 @@
#include "nsIDOMDocument.idl" #include "nsIDOMDocument.idl"
[scriptable, uuid(2ba0cbad-d03e-424d-a47f-560541192bc3)] [scriptable, uuid(18C55EFC-560B-4BDD-9776-A8D239EF7052)]
interface nsIDOMXMLDocument : nsIDOMDocument interface nsIDOMXMLDocument : nsIDOMDocument
{ {
// DOM Level 3 Load & Save, DocumentLS // DOM Level 3 Load & Save, DocumentLS

View File

@@ -82,6 +82,8 @@ interface nsIInlineEventHandlers : nsISupports
// [implicit_jscontext] attribute jsval onmousewheel; // [implicit_jscontext] attribute jsval onmousewheel;
[implicit_jscontext] attribute jsval onmozfullscreenchange; [implicit_jscontext] attribute jsval onmozfullscreenchange;
[implicit_jscontext] attribute jsval onmozfullscreenerror; [implicit_jscontext] attribute jsval onmozfullscreenerror;
[implicit_jscontext] attribute jsval onmozpointerlockchange;
[implicit_jscontext] attribute jsval onmozpointerlockerror;
[implicit_jscontext] attribute jsval onpause; [implicit_jscontext] attribute jsval onpause;
[implicit_jscontext] attribute jsval onplay; [implicit_jscontext] attribute jsval onplay;
[implicit_jscontext] attribute jsval onplaying; [implicit_jscontext] attribute jsval onplaying;

View File

@@ -48,12 +48,15 @@
* http://www.w3.org/TR/DOM-Level-2-Events/ * http://www.w3.org/TR/DOM-Level-2-Events/
*/ */
[scriptable, uuid(7f57aa45-6792-4d8b-ba5b-201533cf0b2f)] [scriptable, uuid(53E29996-F851-4032-B896-8AAFBD0BDF25)]
interface nsIDOMMouseEvent : nsIDOMUIEvent interface nsIDOMMouseEvent : nsIDOMUIEvent
{ {
readonly attribute long screenX; readonly attribute long screenX;
readonly attribute long screenY; readonly attribute long screenY;
readonly attribute long mozMovementX;
readonly attribute long mozMovementY;
readonly attribute long clientX; readonly attribute long clientX;
readonly attribute long clientY; readonly attribute long clientY;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(8ca68d9c-1701-47e0-87d4-ddf9d36609a2)] [scriptable, uuid(68F49F8F-5FFD-44EB-A59F-D2B3F4817299)]
interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement
{ {
attribute DOMString href; attribute DOMString href;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(27b49244-7752-43d4-8f2c-e22f26ebea0e)] [scriptable, uuid(F3D34247-A6E9-416A-AE37-761E26A3881E)]
interface nsIDOMHTMLAppletElement : nsIDOMHTMLElement interface nsIDOMHTMLAppletElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(eaf79702-058c-4a02-b5e5-5606b3d60255)] [scriptable, uuid(D3043539-158A-43EC-B845-175B5726AEB7)]
interface nsIDOMHTMLAreaElement : nsIDOMHTMLElement interface nsIDOMHTMLAreaElement : nsIDOMHTMLElement
{ {
attribute DOMString alt; attribute DOMString alt;

View File

@@ -52,7 +52,7 @@
* @status UNDER_DEVELOPMENT * @status UNDER_DEVELOPMENT
*/ */
[scriptable, uuid(ecf4ed75-83b0-4a96-af11-d6cefab59dc0)] [scriptable, uuid(D5844B73-30E2-46D5-894C-108967E05C80)]
interface nsIDOMHTMLAudioElement : nsIDOMHTMLMediaElement interface nsIDOMHTMLAudioElement : nsIDOMHTMLMediaElement
{ {
// Setup the audio stream for writing // Setup the audio stream for writing

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(b0cde271-9773-43dd-a5c4-22159bd6addb)] [scriptable, uuid(11D1C93A-9538-4BE3-8E90-372E25AB9D61)]
interface nsIDOMHTMLBRElement : nsIDOMHTMLElement interface nsIDOMHTMLBRElement : nsIDOMHTMLElement
{ {
attribute DOMString clear; attribute DOMString clear;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(66a5612b-66e4-4455-b805-6df735889e8d)] [scriptable, uuid(CC18F6D7-560F-485E-BC37-23354B2384F4)]
interface nsIDOMHTMLBaseElement : nsIDOMHTMLElement interface nsIDOMHTMLBaseElement : nsIDOMHTMLElement
{ {
attribute DOMString href; attribute DOMString href;

View File

@@ -54,7 +54,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(9b4bd03e-cc71-4fab-b0b8-51156c666cb4)] [scriptable, uuid(D8F00C8B-D317-4DF2-A9BF-4A1E6F19F945)]
interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement
{ {
attribute DOMString aLink; attribute DOMString aLink;

View File

@@ -52,7 +52,7 @@
interface nsIDOMValidityState; interface nsIDOMValidityState;
[scriptable, uuid(6b78685d-1ef4-4d89-9d6b-823c3dac361f)] [scriptable, uuid(8E40D4D7-C204-4192-802A-0B5602E9C669)]
interface nsIDOMHTMLButtonElement : nsIDOMHTMLElement interface nsIDOMHTMLButtonElement : nsIDOMHTMLElement
{ {
attribute boolean autofocus; attribute boolean autofocus;

View File

@@ -56,7 +56,7 @@ interface nsIDOMFile;
interface nsIVariant; interface nsIVariant;
interface nsIInputStreamCallback; interface nsIInputStreamCallback;
[scriptable, uuid(21296a59-25d8-45fb-8c27-290044c88922)] [scriptable, uuid(5929542B-C68E-48AB-84F9-D9642DA39720)]
interface nsIDOMHTMLCanvasElement : nsIDOMHTMLElement interface nsIDOMHTMLCanvasElement : nsIDOMHTMLElement
{ {
attribute unsigned long width; attribute unsigned long width;

View File

@@ -46,7 +46,7 @@
* @status UNDER_DEVELOPMENT * @status UNDER_DEVELOPMENT
*/ */
[scriptable, uuid(2ee6f391-342a-42b9-a9f6-f0f7e6d1701b)] [scriptable, uuid(A6963C8F-6475-4631-B7E0-41DD7DC8F388)]
interface nsIDOMHTMLCommandElement : nsIDOMHTMLElement interface nsIDOMHTMLCommandElement : nsIDOMHTMLElement
{ {
attribute DOMString type; attribute DOMString type;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(0344a153-f2c7-4d0c-9b4c-b7616db89728)] [scriptable, uuid(957E223E-217A-4BBF-B6D8-D723ACFB9168)]
interface nsIDOMHTMLDListElement : nsIDOMHTMLElement interface nsIDOMHTMLDListElement : nsIDOMHTMLElement
{ {
attribute boolean compact; attribute boolean compact;

View File

@@ -49,7 +49,7 @@
interface nsIDOMHTMLCollection; interface nsIDOMHTMLCollection;
[scriptable, uuid(a652777e-9ad9-4afe-861d-172f888c2f46)] [scriptable, uuid(EEB039A1-FD4E-41A3-805A-B367BA235DC2)]
interface nsIDOMHTMLDataListElement : nsIDOMHTMLElement interface nsIDOMHTMLDataListElement : nsIDOMHTMLElement
{ {
readonly attribute nsIDOMHTMLCollection options; readonly attribute nsIDOMHTMLCollection options;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(c60c67d6-ef9a-40ce-8608-9c837da7fbbc)] [scriptable, uuid(2C83A5C4-67AB-4DC5-A133-CFDAF260963C)]
interface nsIDOMHTMLDirectoryElement : nsIDOMHTMLElement interface nsIDOMHTMLDirectoryElement : nsIDOMHTMLElement
{ {
attribute boolean compact; attribute boolean compact;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(32b88969-3c24-4c4b-be73-13b29a73cc81)] [scriptable, uuid(A9651DAE-DBD8-4CBE-B42B-A20124C2FE6D)]
interface nsIDOMHTMLDivElement : nsIDOMHTMLElement interface nsIDOMHTMLDivElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -47,7 +47,7 @@
*/ */
interface nsISelection; interface nsISelection;
[scriptable, uuid(3dae5807-3615-4567-913f-c3956a2aa251)] [scriptable, uuid(1B93973F-28CC-4F33-8E7B-B89C63AA9200)]
interface nsIDOMHTMLDocument : nsIDOMDocument interface nsIDOMHTMLDocument : nsIDOMDocument
{ {
readonly attribute DOMString URL; readonly attribute DOMString URL;

View File

@@ -53,7 +53,7 @@ interface nsIDOMHTMLMenuElement;
* with changes from the work-in-progress WHATWG HTML specification: * with changes from the work-in-progress WHATWG HTML specification:
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(b5d80fa5-91bc-4b3b-b8bc-1becb563ae15)] [scriptable, uuid(5C8B21BC-EF6E-4599-A26F-FACC05B4ADBE)]
interface nsIDOMHTMLElement : nsIDOMElement interface nsIDOMHTMLElement : nsIDOMElement
{ {
// metadata attributes // metadata attributes

View File

@@ -47,7 +47,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/#the-embed-element * http://www.whatwg.org/specs/web-apps/current-work/#the-embed-element
*/ */
[scriptable, uuid(e4c2af44-3a99-47d7-b9b2-4ccc5c832618)] [scriptable, uuid(BF234467-1F2E-4A6A-A5AA-74EC86299150)]
interface nsIDOMHTMLEmbedElement : nsIDOMHTMLElement interface nsIDOMHTMLEmbedElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -52,7 +52,7 @@
interface nsIDOMValidityState; interface nsIDOMValidityState;
[scriptable, uuid(7b26c8d8-f802-4b04-b114-b44201000faf)] [scriptable, uuid(AB2F9E30-1217-4172-9A95-262480FEC534)]
interface nsIDOMHTMLFieldSetElement : nsIDOMHTMLElement interface nsIDOMHTMLFieldSetElement : nsIDOMHTMLElement
{ {
attribute boolean disabled; attribute boolean disabled;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(833bb94c-5069-4d79-8228-d658d90cf970)] [scriptable, uuid(EFF9CEAC-BE69-4A94-9DD4-0C023DEF00B3)]
interface nsIDOMHTMLFontElement : nsIDOMHTMLElement interface nsIDOMHTMLFontElement : nsIDOMHTMLElement
{ {
attribute DOMString color; attribute DOMString color;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(13a92ac0-7b39-4a5b-8c0d-e75064646c62)] [scriptable, uuid(59C0DC07-D784-410B-8B5E-C26BAF7CB8A6)]
interface nsIDOMHTMLFormElement : nsIDOMHTMLElement interface nsIDOMHTMLFormElement : nsIDOMHTMLElement
{ {
attribute DOMString acceptCharset; attribute DOMString acceptCharset;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(1169be36-b8b6-4a8e-9456-274409fce393)] [scriptable, uuid(2AA7855A-0667-47C3-AF1E-9101002816C1)]
interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement
{ {
attribute DOMString frameBorder; attribute DOMString frameBorder;

View File

@@ -54,7 +54,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(1c2925dc-8374-4ed8-8981-a38445b6e4ed)] [scriptable, uuid(B4D06FF4-877A-4FA3-9EFB-A75D2C843520)]
interface nsIDOMHTMLFrameSetElement : nsIDOMHTMLElement interface nsIDOMHTMLFrameSetElement : nsIDOMHTMLElement
{ {
attribute DOMString cols; attribute DOMString cols;

View File

@@ -51,7 +51,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(cc836228-8f6e-4a8d-a973-3931e4660ed2)] [scriptable, uuid(739078CD-3251-44C9-B5F9-128C0AF23707)]
interface nsIDOMHTMLHRElement : nsIDOMHTMLElement interface nsIDOMHTMLHRElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(8d2107f9-d045-40eb-915b-9de87a950ce7)] [scriptable, uuid(8B38545F-7FA5-47D5-A902-C8EA8E78FB0D)]
interface nsIDOMHTMLHeadElement : nsIDOMHTMLElement interface nsIDOMHTMLHeadElement : nsIDOMHTMLElement
{ {
}; };

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(ee1169f0-67d8-4f2a-af10-016ba3bf9794)] [scriptable, uuid(B302D445-7B7B-4B6D-9C6D-AEC30CE4F2E0)]
interface nsIDOMHTMLHeadingElement : nsIDOMHTMLElement interface nsIDOMHTMLHeadingElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(f44f6721-1cb3-4a98-b458-2a1a29c25e2f)] [scriptable, uuid(73706343-BA89-4C80-932E-E636E5E8D8E2)]
interface nsIDOMHTMLHtmlElement : nsIDOMHTMLElement interface nsIDOMHTMLHtmlElement : nsIDOMHTMLElement
{ {
attribute DOMString version; attribute DOMString version;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(0ead5a5c-e4d3-4e4d-88b8-7c9dc9d2665c)] [scriptable, uuid(97E4F0E1-BD27-40EC-9287-5634DAF15B73)]
interface nsIDOMHTMLIFrameElement : nsIDOMHTMLElement interface nsIDOMHTMLIFrameElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(cb711ec9-17e8-4259-9045-ca9ad128f62e)] [scriptable, uuid(AACA79C6-FC1D-4AC6-B358-C5CF9595A797)]
interface nsIDOMHTMLImageElement : nsIDOMHTMLElement interface nsIDOMHTMLImageElement : nsIDOMHTMLElement
{ {
attribute DOMString alt; attribute DOMString alt;

View File

@@ -54,7 +54,7 @@ interface nsIDOMValidityState;
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(0c8e11b5-94f3-405a-aa1b-c5e7eec4ba4d)] [scriptable, uuid(05FEDF7E-3050-4143-AB97-B994F3CC9329)]
interface nsIDOMHTMLInputElement : nsIDOMHTMLElement interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
{ {
attribute DOMString accept; attribute DOMString accept;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(f4949a2d-ca29-47a8-88f3-c83570f9e3d4)] [scriptable, uuid(C233D9D0-F0ED-4322-B3DB-C075711B816C)]
interface nsIDOMHTMLLIElement : nsIDOMHTMLElement interface nsIDOMHTMLLIElement : nsIDOMHTMLElement
{ {
attribute DOMString type; attribute DOMString type;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(4e5d92a3-8f9b-438d-98d8-42a1526369be)] [scriptable, uuid(479F4997-6551-4F8F-AEE5-5FF6F176B0ED)]
interface nsIDOMHTMLLabelElement : nsIDOMHTMLElement interface nsIDOMHTMLLabelElement : nsIDOMHTMLElement
{ {
readonly attribute nsIDOMHTMLFormElement form; readonly attribute nsIDOMHTMLFormElement form;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(1fbae5ab-036e-4941-8b09-754ab8f217cc)] [scriptable, uuid(457A1606-1FDA-4C2B-869E-050C58D9C32E)]
interface nsIDOMHTMLLegendElement : nsIDOMHTMLElement interface nsIDOMHTMLLegendElement : nsIDOMHTMLElement
{ {
readonly attribute nsIDOMHTMLFormElement form; readonly attribute nsIDOMHTMLFormElement form;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(36c22a1c-d53d-4e59-bb84-c8e538ba9621)] [scriptable, uuid(59AE3529-170A-41E4-8D7A-241DCA6B5760)]
interface nsIDOMHTMLLinkElement : nsIDOMHTMLElement interface nsIDOMHTMLLinkElement : nsIDOMHTMLElement
{ {
attribute boolean disabled; attribute boolean disabled;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(39ed3fe6-1ff6-4d1d-bf77-7a10a35bfccc)] [scriptable, uuid(34CD4620-62BA-4264-8D29-E5007F2641A6)]
interface nsIDOMHTMLMapElement : nsIDOMHTMLElement interface nsIDOMHTMLMapElement : nsIDOMHTMLElement
{ {
readonly attribute nsIDOMHTMLCollection areas; readonly attribute nsIDOMHTMLCollection areas;

View File

@@ -57,7 +57,7 @@
#endif #endif
%} %}
[scriptable, uuid(60ea8009-022b-4e65-a452-054b0483182e)] [scriptable, uuid(02FB205D-68B5-4722-982B-1D12238FBF72)]
interface nsIDOMHTMLMediaElement : nsIDOMHTMLElement interface nsIDOMHTMLMediaElement : nsIDOMHTMLElement
{ {
// error state // error state

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(be2d054e-e9cd-45bd-b075-58783cdca8a4)] [scriptable, uuid(8A3975C9-729A-45A5-AB20-DD2B47EE9508)]
interface nsIDOMHTMLMenuElement : nsIDOMHTMLElement interface nsIDOMHTMLMenuElement : nsIDOMHTMLElement
{ {
attribute boolean compact; attribute boolean compact;

View File

@@ -43,7 +43,7 @@
* @status UNDER_DEVELOPMENT * @status UNDER_DEVELOPMENT
*/ */
[scriptable, uuid(74ffab29-3a81-4099-8f38-55b1ad3a6988)] [scriptable, uuid(685E02FF-8148-4414-A0D6-319E817F3B56)]
interface nsIDOMHTMLMenuItemElement : nsIDOMHTMLCommandElement interface nsIDOMHTMLMenuItemElement : nsIDOMHTMLCommandElement
{ {
}; };

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(75f9f39c-7389-4acb-9100-cda379151b12)] [scriptable, uuid(AA3B1280-669C-43ED-8815-B60B395A8D66)]
interface nsIDOMHTMLMetaElement : nsIDOMHTMLElement interface nsIDOMHTMLMetaElement : nsIDOMHTMLElement
{ {
attribute DOMString content; attribute DOMString content;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(34cc420e-ac88-44ac-817f-6c6bf39e5dc1)] [scriptable, uuid(4564C9EF-795B-4080-AE48-C4527855390C)]
interface nsIDOMHTMLModElement : nsIDOMHTMLElement interface nsIDOMHTMLModElement : nsIDOMHTMLElement
{ {
attribute DOMString cite; attribute DOMString cite;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(bdae649e-9cfd-4010-b9f6-5ff29c75aeaa)] [scriptable, uuid(64155DCA-83CA-4FFE-8B64-A7F82F29586F)]
interface nsIDOMHTMLOListElement : nsIDOMHTMLElement interface nsIDOMHTMLOListElement : nsIDOMHTMLElement
{ {
attribute boolean compact; attribute boolean compact;

View File

@@ -52,7 +52,7 @@
interface nsIDOMValidityState; interface nsIDOMValidityState;
[scriptable, uuid(b85a1d53-77b8-4550-98ae-d9c4339f2ef9)] [scriptable, uuid(A70595DD-68A5-41F5-AB52-73A47D98BD78)]
interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement
{ {
readonly attribute nsIDOMHTMLFormElement form; readonly attribute nsIDOMHTMLFormElement form;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(466575ed-ea87-459e-931e-978877db9d41)] [scriptable, uuid(BEDB0D8D-030E-409A-B3B5-28DC0E0D9C34)]
interface nsIDOMHTMLOptGroupElement : nsIDOMHTMLElement interface nsIDOMHTMLOptGroupElement : nsIDOMHTMLElement
{ {
attribute boolean disabled; attribute boolean disabled;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(f3cbd120-a456-41bf-807e-1aa648c02363)] [scriptable, uuid(68A5D794-39BF-4B00-AEFE-754B9E8F7EC6)]
interface nsIDOMHTMLOptionElement : nsIDOMHTMLElement interface nsIDOMHTMLOptionElement : nsIDOMHTMLElement
{ {
attribute boolean disabled; attribute boolean disabled;

View File

@@ -50,7 +50,7 @@
interface nsIDOMDOMSettableTokenList; interface nsIDOMDOMSettableTokenList;
interface nsIDOMValidityState; interface nsIDOMValidityState;
[scriptable, uuid(b13de107-dd83-4b1b-8970-c25a0890e799)] [scriptable, uuid(01542000-CD00-4E8A-841C-9BAAD6BA0368)]
interface nsIDOMHTMLOutputElement : nsIDOMHTMLElement interface nsIDOMHTMLOutputElement : nsIDOMHTMLElement
{ {
readonly attribute nsIDOMDOMSettableTokenList htmlFor; readonly attribute nsIDOMDOMSettableTokenList htmlFor;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(c3f56887-058b-4143-ac75-de01fbd088c7)] [scriptable, uuid(32840748-F8A8-414C-B0DE-DD947E5B0BD0)]
interface nsIDOMHTMLParagraphElement : nsIDOMHTMLElement interface nsIDOMHTMLParagraphElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(9e2e501c-28a0-420c-9a4d-476db717ea41)] [scriptable, uuid(1FBEC0F8-C7CF-4DC8-84BE-247985A65E07)]
interface nsIDOMHTMLParamElement : nsIDOMHTMLElement interface nsIDOMHTMLParamElement : nsIDOMHTMLElement
{ {
attribute DOMString name; attribute DOMString name;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(75825309-f449-451f-a252-c3ac83c857af)] [scriptable, uuid(FDAF779F-BCCA-4653-91AE-CD4D23E4CC69)]
interface nsIDOMHTMLPreElement : nsIDOMHTMLElement interface nsIDOMHTMLPreElement : nsIDOMHTMLElement
{ {
attribute long width; attribute long width;

View File

@@ -47,7 +47,7 @@
* @status UNDER_DEVELOPMENT * @status UNDER_DEVELOPMENT
*/ */
[scriptable, uuid(6312474b-9c6c-4eb4-8408-2a1754799e30)] [scriptable, uuid(842AEE33-8381-4DA4-A347-9E70C797BC3E)]
interface nsIDOMHTMLProgressElement : nsIDOMHTMLElement interface nsIDOMHTMLProgressElement : nsIDOMHTMLElement
{ {
attribute double value; attribute double value;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(e6a8a758-079c-4411-a3e5-b9c47f3e92b1)] [scriptable, uuid(38409533-9A85-4542-B734-BB2012966480)]
interface nsIDOMHTMLQuoteElement : nsIDOMHTMLElement interface nsIDOMHTMLQuoteElement : nsIDOMHTMLElement
{ {
attribute DOMString cite; attribute DOMString cite;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(2a9a1a1b-d4cf-4594-a71c-f47ebd790f0d)] [scriptable, uuid(E2F548F6-9955-4820-A9E6-3A9FD43C7111)]
interface nsIDOMHTMLScriptElement : nsIDOMHTMLElement interface nsIDOMHTMLScriptElement : nsIDOMHTMLElement
{ {
attribute DOMString src; attribute DOMString src;

View File

@@ -53,7 +53,7 @@
interface nsIDOMValidityState; interface nsIDOMValidityState;
[scriptable, uuid(828961d4-cca1-4024-aaf1-dc0e0d1e6d98)] [scriptable, uuid(2A50D295-8DB8-4223-AE0D-070C6EB6C76E)]
interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement
{ {
attribute boolean autofocus; attribute boolean autofocus;

View File

@@ -48,7 +48,7 @@
* @status UNDER_DEVELOPMENT * @status UNDER_DEVELOPMENT
*/ */
[scriptable, uuid(cff81c92-fefa-4d0f-8d07-a4d98fabb6b6)] [scriptable, uuid(4BF58085-9986-47B5-BB03-62BAA0451497)]
interface nsIDOMHTMLSourceElement : nsIDOMHTMLElement interface nsIDOMHTMLSourceElement : nsIDOMHTMLElement
{ {
attribute DOMString src; attribute DOMString src;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(6687fa89-8141-421c-bd76-70f9b89bccc9)] [scriptable, uuid(830D9170-F8EB-4749-B721-16D60D6B0F1B)]
interface nsIDOMHTMLStyleElement : nsIDOMHTMLElement interface nsIDOMHTMLStyleElement : nsIDOMHTMLElement
{ {
attribute boolean disabled; attribute boolean disabled;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(77d7863a-1a8d-4c25-9b3a-33ef760c78e5)] [scriptable, uuid(526C4DC4-25CD-46DE-A9B2-1501D624F7DF)]
interface nsIDOMHTMLTableCaptionElement : nsIDOMHTMLElement interface nsIDOMHTMLTableCaptionElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(89cc7b76-0c34-42c1-93b8-1db28d54ce67)] [scriptable, uuid(8434C7E8-5E4E-4AB5-9192-3F1C00815920)]
interface nsIDOMHTMLTableCellElement : nsIDOMHTMLElement interface nsIDOMHTMLTableCellElement : nsIDOMHTMLElement
{ {
readonly attribute long cellIndex; readonly attribute long cellIndex;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(f8656d47-dea5-4f00-bc63-a6a9c12e2a14)] [scriptable, uuid(8F98865C-1600-4282-A553-838D87CC9F1F)]
interface nsIDOMHTMLTableColElement : nsIDOMHTMLElement interface nsIDOMHTMLTableColElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(f9710237-bd89-4411-a67a-cf972430e3cc)] [scriptable, uuid(AE50DE74-BC26-402E-85DC-A980F506B655)]
interface nsIDOMHTMLTableElement : nsIDOMHTMLElement interface nsIDOMHTMLTableElement : nsIDOMHTMLElement
{ {
// Modified in DOM Level 2: // Modified in DOM Level 2:

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(365b26ba-b077-4a98-8a0f-9691ac6677f1)] [scriptable, uuid(0AC4A382-4F97-4143-A3B3-DE0A54978C67)]
interface nsIDOMHTMLTableRowElement : nsIDOMHTMLElement interface nsIDOMHTMLTableRowElement : nsIDOMHTMLElement
{ {
// Modified in DOM Level 2: // Modified in DOM Level 2:

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(3c402173-8315-43ed-9e2c-130b159d7c8f)] [scriptable, uuid(006D2482-0B89-401B-9A16-EDE4D9971F02)]
interface nsIDOMHTMLTableSectionElement : nsIDOMHTMLElement interface nsIDOMHTMLTableSectionElement : nsIDOMHTMLElement
{ {
attribute DOMString align; attribute DOMString align;

View File

@@ -53,7 +53,7 @@ interface nsIDOMValidityState;
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(81efc7a5-ea76-494c-a3ce-02556afba337)] [scriptable, uuid(2A395065-2D92-48C1-AC00-643DE9CA681B)]
interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement
{ {
attribute boolean autofocus; attribute boolean autofocus;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(1c03280b-324b-4c83-bfdf-76738cdc70c1)] [scriptable, uuid(DB0440CC-FB98-4FB0-84E8-6ADD4764A48F)]
interface nsIDOMHTMLTitleElement : nsIDOMHTMLElement interface nsIDOMHTMLTitleElement : nsIDOMHTMLElement
{ {
attribute DOMString text; attribute DOMString text;

View File

@@ -50,7 +50,7 @@
* http://www.whatwg.org/specs/web-apps/current-work/ * http://www.whatwg.org/specs/web-apps/current-work/
*/ */
[scriptable, uuid(dfe7d584-6330-44de-a46f-a0e9d55fa9f4)] [scriptable, uuid(7DFD92D6-4DC3-4C52-8384-BA35E0AE4B8B)]
interface nsIDOMHTMLUListElement : nsIDOMHTMLElement interface nsIDOMHTMLUListElement : nsIDOMHTMLElement
{ {
attribute boolean compact; attribute boolean compact;

View File

@@ -43,7 +43,7 @@
* *
* @see <http://www.whatwg.org/html/#htmlunknownelement> * @see <http://www.whatwg.org/html/#htmlunknownelement>
*/ */
[scriptable, uuid(d74ee527-8397-4a09-b161-f9bcb0382924)] [scriptable, uuid(74ACC5C9-A18D-4AEC-AEFC-A719EF69499C)]
interface nsIDOMHTMLUnknownElement : nsIDOMHTMLElement interface nsIDOMHTMLUnknownElement : nsIDOMHTMLElement
{ {
}; };

View File

@@ -48,7 +48,7 @@
* @status UNDER_DEVELOPMENT * @status UNDER_DEVELOPMENT
*/ */
[scriptable, uuid(9904233c-1345-440d-aa0f-1d3dd4457d83)] [scriptable, uuid(E3763903-928B-47C4-AC3B-C47EB43884CA)]
interface nsIDOMHTMLVideoElement : nsIDOMHTMLMediaElement interface nsIDOMHTMLVideoElement : nsIDOMHTMLMediaElement
{ {
attribute long width; attribute long width;

View File

@@ -44,7 +44,7 @@
interface nsIDOMSVGAnimatedString; interface nsIDOMSVGAnimatedString;
[scriptable, uuid(bc060816-4cab-4552-af1f-39e15e6f4f59)] [scriptable, uuid(DBC9B56C-3DE3-4475-A934-EE88D3BCB03C)]
interface nsIDOMSVGAElement interface nsIDOMSVGAElement
: nsIDOMSVGElement : nsIDOMSVGElement
/* /*

View File

@@ -35,7 +35,7 @@
#include "nsIDOMSVGTextPositionElem.idl" #include "nsIDOMSVGTextPositionElem.idl"
[scriptable, uuid(289aa3c3-9724-48a3-81cc-a0bc7c1f1fea)] [scriptable, uuid(D7274F91-0FC7-42F1-AD56-3C58AF2B0113)]
interface nsIDOMSVGAltGlyphElement : nsIDOMSVGTextPositioningElement interface nsIDOMSVGAltGlyphElement : nsIDOMSVGTextPositioningElement
/* /*
The SVG DOM makes use of multiple interface inheritance. The SVG DOM makes use of multiple interface inheritance.

View File

@@ -37,5 +37,5 @@
#include "nsIDOMSVGAnimationElement.idl" #include "nsIDOMSVGAnimationElement.idl"
[scriptable, uuid(a662ffce-086f-4c5b-886b-78acb654db10)] [scriptable, uuid(11E98EA0-C8D2-4471-88B0-A3E6708021E4)]
interface nsIDOMSVGAnimateElement : nsIDOMSVGAnimationElement {}; interface nsIDOMSVGAnimateElement : nsIDOMSVGAnimationElement {};

View File

@@ -37,5 +37,5 @@
#include "nsIDOMSVGAnimationElement.idl" #include "nsIDOMSVGAnimationElement.idl"
[scriptable, uuid(3d1d0c0d-9d5b-4e30-9fc8-97ec7e49ec18)] [scriptable, uuid(964CDA18-C400-4D1E-B113-2000B4BF777E)]
interface nsIDOMSVGAnimateMotionElement : nsIDOMSVGAnimationElement { }; interface nsIDOMSVGAnimateMotionElement : nsIDOMSVGAnimationElement { };

View File

@@ -37,5 +37,5 @@
#include "nsIDOMSVGAnimationElement.idl" #include "nsIDOMSVGAnimationElement.idl"
[scriptable, uuid(1c7be1dc-a799-4837-865f-4c0bd1e51255)] [scriptable, uuid(EF6A356E-AA64-49EB-931B-5D9EFC62FC97)]
interface nsIDOMSVGAnimateTransformElement : nsIDOMSVGAnimationElement {}; interface nsIDOMSVGAnimateTransformElement : nsIDOMSVGAnimationElement {};

View File

@@ -37,7 +37,7 @@
#include "nsIDOMSVGElement.idl" #include "nsIDOMSVGElement.idl"
[scriptable, uuid(2dfaf726-a479-4a9d-8e16-cd5d07696eea)] [scriptable, uuid(26BF6187-A720-47AA-B453-DEFB98FF433C)]
interface nsIDOMSVGAnimationElement interface nsIDOMSVGAnimationElement
: nsIDOMSVGElement : nsIDOMSVGElement
/* /*

View File

@@ -40,7 +40,7 @@
interface nsIDOMSVGAnimatedLength; interface nsIDOMSVGAnimatedLength;
[scriptable, uuid(79314559-4561-4259-9839-f9b8df90e050)] [scriptable, uuid(150C9D2F-66D1-4EC4-A351-4F53534FA314)]
interface nsIDOMSVGCircleElement interface nsIDOMSVGCircleElement
: nsIDOMSVGElement : nsIDOMSVGElement
/* /*

View File

@@ -47,7 +47,7 @@
interface nsIDOMSVGAnimatedEnumeration; interface nsIDOMSVGAnimatedEnumeration;
[scriptable, uuid(77909883-71d3-46a4-87df-baab182eea6c)] [scriptable, uuid(5A4D77E5-D887-4050-A9F7-0D690AD35500)]
interface nsIDOMSVGClipPathElement interface nsIDOMSVGClipPathElement
: nsIDOMSVGElement : nsIDOMSVGElement
/* /*

View File

@@ -38,7 +38,7 @@
#include "nsIDOMSVGElement.idl" #include "nsIDOMSVGElement.idl"
[scriptable, uuid(50a7b30c-fbad-4f60-baca-a6e018e66a06)] [scriptable, uuid(3F8D6B9C-CF03-45A6-B8A5-57ECBB7655DA)]
interface nsIDOMSVGDefsElement interface nsIDOMSVGDefsElement
: nsIDOMSVGElement : nsIDOMSVGElement
/* /*

View File

@@ -38,7 +38,7 @@
#include "nsIDOMSVGElement.idl" #include "nsIDOMSVGElement.idl"
[scriptable, uuid(18c4a5f0-9f12-4f7a-bc14-91d575238a34)] [scriptable, uuid(ED14BA6A-090D-4096-A225-08BD56678FE6)]
interface nsIDOMSVGDescElement interface nsIDOMSVGDescElement
: nsIDOMSVGElement : nsIDOMSVGElement
/* /*

View File

@@ -39,7 +39,7 @@
interface nsIDOMSVGSVGElement; interface nsIDOMSVGSVGElement;
[scriptable, uuid(b3c5a715-ccee-48e4-8d2b-dcf7fa6ccb7c)] [scriptable, uuid(4AEBF9E7-F275-4147-AA90-601626476132)]
interface nsIDOMSVGDocument : nsIDOMDocument interface nsIDOMSVGDocument : nsIDOMDocument
{ {
readonly attribute DOMString domain; readonly attribute DOMString domain;

View File

@@ -40,7 +40,7 @@
interface nsIDOMSVGSVGElement; interface nsIDOMSVGSVGElement;
[scriptable, uuid(0eb0952f-05a9-44e8-ab48-66bed5641ebf)] [scriptable, uuid(9B16734D-DBFD-4465-8EAF-354694934A1D)]
interface nsIDOMSVGElement : nsIDOMElement interface nsIDOMSVGElement : nsIDOMElement
{ {
attribute DOMString id; attribute DOMString id;

View File

@@ -40,7 +40,7 @@
interface nsIDOMSVGAnimatedLength; interface nsIDOMSVGAnimatedLength;
[scriptable, uuid(a19b7c99-3b3f-4860-aa94-d66789afa021)] [scriptable, uuid(C03C3C5F-7510-4392-BA7A-DADC0AB92E28)]
interface nsIDOMSVGEllipseElement interface nsIDOMSVGEllipseElement
: nsIDOMSVGElement : nsIDOMSVGElement
/* /*

View File

@@ -40,7 +40,7 @@ interface nsIDOMSVGAnimatedLength;
interface nsIDOMSVGAnimatedEnumeration; interface nsIDOMSVGAnimatedEnumeration;
interface nsIDOMSVGAnimatedInteger; interface nsIDOMSVGAnimatedInteger;
[scriptable, uuid(34bf1f97-ec77-48b4-9f3b-c61ef957ebf7)] [scriptable, uuid(974C7633-0258-4BE7-B1AE-E0ED1964C87F)]
interface nsIDOMSVGFilterElement interface nsIDOMSVGFilterElement
: nsIDOMSVGElement : nsIDOMSVGElement
/* /*

View File

@@ -45,7 +45,7 @@ interface nsIDOMSVGAnimatedNumberList;
interface nsIDOMSVGAnimatedInteger; interface nsIDOMSVGAnimatedInteger;
interface nsIDOMSVGAnimatedBoolean; interface nsIDOMSVGAnimatedBoolean;
[scriptable, uuid(f96cedb9-568c-43d0-b07f-565d5116ae34)] [scriptable, uuid(117CFA4C-B0EB-4C0F-A590-F77FBF42E76D)]
interface nsIDOMSVGFilterPrimitiveStandardAttributes : nsIDOMSVGElement interface nsIDOMSVGFilterPrimitiveStandardAttributes : nsIDOMSVGElement
{ {
readonly attribute nsIDOMSVGAnimatedLength x; readonly attribute nsIDOMSVGAnimatedLength x;
@@ -55,7 +55,7 @@ interface nsIDOMSVGFilterPrimitiveStandardAttributes : nsIDOMSVGElement
readonly attribute nsIDOMSVGAnimatedString result; readonly attribute nsIDOMSVGAnimatedString result;
}; };
[scriptable, uuid(215023bc-e4d6-473d-b0fd-db96727b9e0d)] [scriptable, uuid(02DB0A51-087B-4EA4-ABC4-3DCAB65BFE83)]
interface nsIDOMSVGFEBlendElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEBlendElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
const unsigned short SVG_MODE_UNKNOWN = 0; const unsigned short SVG_MODE_UNKNOWN = 0;
@@ -70,7 +70,7 @@ interface nsIDOMSVGFEBlendElement : nsIDOMSVGFilterPrimitiveStandardAttributes
readonly attribute nsIDOMSVGAnimatedEnumeration mode; readonly attribute nsIDOMSVGAnimatedEnumeration mode;
}; };
[scriptable, uuid(92205955-4d55-4097-9b93-b38d7e5a72e4)] [scriptable, uuid(BB966D00-CF60-4696-9954-43525401E209)]
interface nsIDOMSVGFEColorMatrixElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEColorMatrixElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
// Color Matrix Types // Color Matrix Types
@@ -85,13 +85,13 @@ interface nsIDOMSVGFEColorMatrixElement : nsIDOMSVGFilterPrimitiveStandardAttrib
readonly attribute nsIDOMSVGAnimatedNumberList values; readonly attribute nsIDOMSVGAnimatedNumberList values;
}; };
[scriptable, uuid(69612612-c893-4d2c-902d-5a4887ebfe0a)] [scriptable, uuid(539000B3-2272-4F1A-BF24-23340DD408AF)]
interface nsIDOMSVGFEComponentTransferElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEComponentTransferElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
readonly attribute nsIDOMSVGAnimatedString in1; readonly attribute nsIDOMSVGAnimatedString in1;
}; };
[scriptable, uuid(1b758c80-c6f2-4f57-a8cf-964c98c8d0f0)] [scriptable, uuid(75FAB13E-9D34-4653-B992-BF7DF78BA379)]
interface nsIDOMSVGComponentTransferFunctionElement : nsIDOMSVGElement interface nsIDOMSVGComponentTransferFunctionElement : nsIDOMSVGElement
{ {
// Component Transfer Types // Component Transfer Types
@@ -111,7 +111,7 @@ interface nsIDOMSVGComponentTransferFunctionElement : nsIDOMSVGElement
readonly attribute nsIDOMSVGAnimatedNumber offset; readonly attribute nsIDOMSVGAnimatedNumber offset;
}; };
[scriptable, uuid(71142479-68eb-44a3-9964-19faa09c4720)] [scriptable, uuid(32887E8E-A5DE-4FBB-84F2-842743FEE02B)]
interface nsIDOMSVGFECompositeElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFECompositeElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
// Operator Types // Operator Types
@@ -135,27 +135,27 @@ interface nsIDOMSVGFECompositeElement : nsIDOMSVGFilterPrimitiveStandardAttribut
}; };
[scriptable, uuid(4f358571-3dcb-4ac5-990b-19e3fd355d43)] [scriptable, uuid(B0FDBC88-ACE2-4EA1-A37B-A3D49A49C014)]
interface nsIDOMSVGFEFuncRElement : nsIDOMSVGComponentTransferFunctionElement interface nsIDOMSVGFEFuncRElement : nsIDOMSVGComponentTransferFunctionElement
{ {
}; };
[scriptable, uuid(a2b6baf7-4f8a-4b3a-86e9-6e232ad25889)] [scriptable, uuid(7F03F95A-5C78-4872-9CF6-856F66C76F8B)]
interface nsIDOMSVGFEFuncGElement : nsIDOMSVGComponentTransferFunctionElement interface nsIDOMSVGFEFuncGElement : nsIDOMSVGComponentTransferFunctionElement
{ {
}; };
[scriptable, uuid(b6d6522d-6721-453b-99f9-a08349d84dd0)] [scriptable, uuid(1AE3374C-1F60-4DD0-BC08-3B16FF9A63B0)]
interface nsIDOMSVGFEFuncBElement : nsIDOMSVGComponentTransferFunctionElement interface nsIDOMSVGFEFuncBElement : nsIDOMSVGComponentTransferFunctionElement
{ {
}; };
[scriptable, uuid(70c084fc-d823-43b3-b4f1-476387b40079)] [scriptable, uuid(EF68B840-E84F-45B6-89A6-B716D6A0BFEC)]
interface nsIDOMSVGFEFuncAElement : nsIDOMSVGComponentTransferFunctionElement interface nsIDOMSVGFEFuncAElement : nsIDOMSVGComponentTransferFunctionElement
{ {
}; };
[scriptable, uuid(bd19cfb2-5259-4551-abf5-3f9a9967ccf0)] [scriptable, uuid(32741F93-2AC4-4173-96AE-B1E65634C1EF)]
interface nsIDOMSVGFEGaussianBlurElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEGaussianBlurElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
readonly attribute nsIDOMSVGAnimatedString in1; readonly attribute nsIDOMSVGAnimatedString in1;
@@ -165,35 +165,35 @@ interface nsIDOMSVGFEGaussianBlurElement : nsIDOMSVGFilterPrimitiveStandardAttri
void setStdDeviation ( in float stdDeviationX, in float stdDeviationY ); void setStdDeviation ( in float stdDeviationX, in float stdDeviationY );
}; };
[scriptable, uuid(ebb57b0d-e198-4f10-b5a9-4ab5b0729c85)] [scriptable, uuid(F698E5A2-DA0E-4D6F-9F45-C57D6464ECF1)]
interface nsIDOMSVGFEMergeElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEMergeElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
}; };
[scriptable, uuid(5b701f2f-b636-4bbb-8d2a-c74fa79b0280)] [scriptable, uuid(517828DE-69F7-4FAB-915E-862E4F77493D)]
interface nsIDOMSVGFEMergeNodeElement : nsIDOMSVGElement { interface nsIDOMSVGFEMergeNodeElement : nsIDOMSVGElement {
readonly attribute nsIDOMSVGAnimatedString in1; readonly attribute nsIDOMSVGAnimatedString in1;
}; };
[scriptable, uuid(15746ca6-8b27-4cc1-bd84-3422d3aea18c)] [scriptable, uuid(0BAE928A-92FE-4C5F-A8CB-DAED171FA6A2)]
interface nsIDOMSVGFEOffsetElement : nsIDOMSVGFilterPrimitiveStandardAttributes { interface nsIDOMSVGFEOffsetElement : nsIDOMSVGFilterPrimitiveStandardAttributes {
readonly attribute nsIDOMSVGAnimatedString in1; readonly attribute nsIDOMSVGAnimatedString in1;
readonly attribute nsIDOMSVGAnimatedNumber dx; readonly attribute nsIDOMSVGAnimatedNumber dx;
readonly attribute nsIDOMSVGAnimatedNumber dy; readonly attribute nsIDOMSVGAnimatedNumber dy;
}; };
[scriptable, uuid(436ca74a-eba8-4a50-8947-c180eb612a34)] [scriptable, uuid(F1635489-F34F-4554-8284-C848500FE0DD)]
interface nsIDOMSVGFEFloodElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEFloodElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
}; };
[scriptable, uuid(4cf173d3-6b67-4e2c-8050-61412e6e9d7c)] [scriptable, uuid(C587EFE9-0A22-44E6-9964-B68DA564804A)]
interface nsIDOMSVGFETileElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFETileElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
readonly attribute nsIDOMSVGAnimatedString in1; readonly attribute nsIDOMSVGAnimatedString in1;
}; };
[scriptable, uuid(9235e6a7-ba2c-4a41-9e80-20735159014b)] [scriptable, uuid(15BB448A-B589-4769-AA92-7C680A919F76)]
interface nsIDOMSVGFETurbulenceElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFETurbulenceElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
// Turbulence Types // Turbulence Types
@@ -213,7 +213,7 @@ interface nsIDOMSVGFETurbulenceElement : nsIDOMSVGFilterPrimitiveStandardAttribu
readonly attribute nsIDOMSVGAnimatedEnumeration type; readonly attribute nsIDOMSVGAnimatedEnumeration type;
}; };
[scriptable, uuid(b994b0e3-cff1-4550-bfb2-f5de7679acb9)] [scriptable, uuid(645DEF2E-C176-47CC-A2C4-C9CC49D0AFC8)]
interface nsIDOMSVGFEMorphologyElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEMorphologyElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
// Operator Types // Operator Types
@@ -229,7 +229,7 @@ interface nsIDOMSVGFEMorphologyElement : nsIDOMSVGFilterPrimitiveStandardAttribu
void setRadius ( in float rx, in float ry ); void setRadius ( in float rx, in float ry );
}; };
[scriptable, uuid(b64766fa-c393-4985-a775-deedb5b07ed2)] [scriptable, uuid(42A1FB88-DCD7-4211-9DD7-431460708D12)]
interface nsIDOMSVGFEConvolveMatrixElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEConvolveMatrixElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
// Edge Mode Values // Edge Mode Values
@@ -252,7 +252,7 @@ interface nsIDOMSVGFEConvolveMatrixElement : nsIDOMSVGFilterPrimitiveStandardAtt
readonly attribute nsIDOMSVGAnimatedBoolean preserveAlpha; readonly attribute nsIDOMSVGAnimatedBoolean preserveAlpha;
}; };
[scriptable, uuid(47343967-4da5-4309-a3a4-c37ffab05b1f)] [scriptable, uuid(43662657-4DA9-4B64-8891-033B08DBD11B)]
interface nsIDOMSVGFEDiffuseLightingElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEDiffuseLightingElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
readonly attribute nsIDOMSVGAnimatedString in1; readonly attribute nsIDOMSVGAnimatedString in1;
@@ -262,7 +262,7 @@ interface nsIDOMSVGFEDiffuseLightingElement : nsIDOMSVGFilterPrimitiveStandardA
readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY; readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY;
}; };
[scriptable, uuid(b647355f-1be8-40da-9c3b-05dce4c0eaa4)] [scriptable, uuid(473A96B5-E644-4BAC-93B8-8C923F6568F7)]
interface nsIDOMSVGFESpecularLightingElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFESpecularLightingElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
readonly attribute nsIDOMSVGAnimatedString in1; readonly attribute nsIDOMSVGAnimatedString in1;
@@ -273,20 +273,20 @@ interface nsIDOMSVGFESpecularLightingElement : nsIDOMSVGFilterPrimitiveStandardA
readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY; readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY;
}; };
[scriptable, uuid(1073827f-77e5-4096-81c5-6ebffefe258b)] [scriptable, uuid(3C166FDD-A486-4089-9247-DEAC33001BD3)]
interface nsIDOMSVGFEDistantLightElement : nsIDOMSVGElement { interface nsIDOMSVGFEDistantLightElement : nsIDOMSVGElement {
readonly attribute nsIDOMSVGAnimatedNumber azimuth; readonly attribute nsIDOMSVGAnimatedNumber azimuth;
readonly attribute nsIDOMSVGAnimatedNumber elevation; readonly attribute nsIDOMSVGAnimatedNumber elevation;
}; };
[scriptable, uuid(d75d49ad-4265-4774-aa5c-02e4cdbfa2b1)] [scriptable, uuid(88C14474-3B95-454C-A62E-7FBE05DBD4A9)]
interface nsIDOMSVGFEPointLightElement : nsIDOMSVGElement { interface nsIDOMSVGFEPointLightElement : nsIDOMSVGElement {
readonly attribute nsIDOMSVGAnimatedNumber x; readonly attribute nsIDOMSVGAnimatedNumber x;
readonly attribute nsIDOMSVGAnimatedNumber y; readonly attribute nsIDOMSVGAnimatedNumber y;
readonly attribute nsIDOMSVGAnimatedNumber z; readonly attribute nsIDOMSVGAnimatedNumber z;
}; };
[scriptable, uuid(8cbaa2ea-159d-4b28-a963-8e42979eae84)] [scriptable, uuid(CDF0A4CD-99A0-4B8D-9E17-9EA7513A34B9)]
interface nsIDOMSVGFESpotLightElement : nsIDOMSVGElement { interface nsIDOMSVGFESpotLightElement : nsIDOMSVGElement {
readonly attribute nsIDOMSVGAnimatedNumber x; readonly attribute nsIDOMSVGAnimatedNumber x;
readonly attribute nsIDOMSVGAnimatedNumber y; readonly attribute nsIDOMSVGAnimatedNumber y;
@@ -298,7 +298,7 @@ interface nsIDOMSVGFESpotLightElement : nsIDOMSVGElement {
readonly attribute nsIDOMSVGAnimatedNumber limitingConeAngle; readonly attribute nsIDOMSVGAnimatedNumber limitingConeAngle;
}; };
[scriptable, uuid(f46d36a1-5ea5-4152-9d73-2dd967c3a709)] [scriptable, uuid(6457A423-0686-486F-AB12-846B9542DFCF)]
interface nsIDOMSVGFEImageElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEImageElement : nsIDOMSVGFilterPrimitiveStandardAttributes
/* /*
nsIDOMSVGURIReference, nsIDOMSVGURIReference,
@@ -308,7 +308,7 @@ interface nsIDOMSVGFEImageElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
}; };
[scriptable, uuid(84db9e0e-ea0b-4906-8929-d97b4fd637c3)] [scriptable, uuid(9B82CB0B-004D-4F26-BF3C-4E2BD4E1E82C)]
interface nsIDOMSVGFEDisplacementMapElement : nsIDOMSVGFilterPrimitiveStandardAttributes interface nsIDOMSVGFEDisplacementMapElement : nsIDOMSVGFilterPrimitiveStandardAttributes
{ {
// Channel Selectors // Channel Selectors

View File

@@ -40,7 +40,7 @@
interface nsIDOMSVGAnimatedLength; interface nsIDOMSVGAnimatedLength;
[scriptable, uuid(aa51c975-0450-4deb-9c15-a0b8c01ca4e2)] [scriptable, uuid(4F9EB1B8-5949-4BD4-8843-35EFA8384929)]
interface nsIDOMSVGForeignObjectElement interface nsIDOMSVGForeignObjectElement
: nsIDOMSVGElement : nsIDOMSVGElement
/* /*

Some files were not shown because too many files have changed in this diff Show More