зеркало из https://github.com/mozilla/pjs.git
Bug 633602 - Implement Pointer Lock (Mouse Lock) API. r=roc,smaug
This commit is contained in:
Родитель
2b20a076f8
Коммит
d33d12de03
|
@ -784,6 +784,12 @@ public:
|
|||
*/
|
||||
static void ExitFullScreen(bool aRunAsync);
|
||||
|
||||
|
||||
virtual void RequestPointerLock(Element* aElement) = 0;
|
||||
|
||||
static void UnlockPointer();
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
// Document notification API's
|
||||
|
|
|
@ -1295,6 +1295,8 @@ private:
|
|||
NodeHasExplicitBaseURI,
|
||||
// Set if the element has some style states locked
|
||||
ElementHasLockedStyleStates,
|
||||
// Set if element has pointer locked
|
||||
ElementHasPointerLock,
|
||||
// Set if the node may have DOMMutationObserver attached to it.
|
||||
NodeMayHaveDOMMutationObserver,
|
||||
// Guard value
|
||||
|
@ -1358,6 +1360,9 @@ public:
|
|||
void SetMayHaveDOMMutationObserver()
|
||||
{ SetBoolFlag(NodeMayHaveDOMMutationObserver, true); }
|
||||
bool HasListenerManager() { return HasFlag(NODE_HAS_LISTENERMANAGER); }
|
||||
bool HasPointerLock() const { return GetBoolFlag(ElementHasPointerLock); }
|
||||
void SetPointerLock() { SetBoolFlag(ElementHasPointerLock); }
|
||||
void ClearPointerLock() { ClearBoolFlag(ElementHasPointerLock); }
|
||||
protected:
|
||||
void SetParentIsContent(bool aValue) { SetBoolFlag(ParentIsContent, aValue); }
|
||||
void SetInDocument() { SetBoolFlag(IsInDocument); }
|
||||
|
|
|
@ -8684,6 +8684,13 @@ nsDocument::ExitFullScreen()
|
|||
// dispatch to so that we dispatch in the specified order.
|
||||
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.
|
||||
ResetFullScreen(root, static_cast<void*>(&changed));
|
||||
|
||||
|
@ -8714,12 +8721,20 @@ nsDocument::RestorePreviousFullScreenState()
|
|||
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.
|
||||
nsCOMPtr<nsIDocument> fullScreenDoc(do_QueryReferent(sFullScreenDoc));
|
||||
nsIDocument* doc = fullScreenDoc;
|
||||
while (doc != this) {
|
||||
NS_ASSERTION(doc->IsFullScreenDoc(), "Should be full-screen doc");
|
||||
static_cast<nsDocument*>(doc)->ClearFullScreenStack();
|
||||
UnlockPointer();
|
||||
DispatchFullScreenChange(doc);
|
||||
doc = doc->GetParentDocument();
|
||||
}
|
||||
|
@ -8728,6 +8743,7 @@ nsDocument::RestorePreviousFullScreenState()
|
|||
NS_ASSERTION(doc == this, "Must have reached this doc.");
|
||||
while (doc != nsnull) {
|
||||
static_cast<nsDocument*>(doc)->FullScreenStackPop();
|
||||
UnlockPointer();
|
||||
DispatchFullScreenChange(doc);
|
||||
if (static_cast<nsDocument*>(doc)->mFullScreenStack.IsEmpty()) {
|
||||
// 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
|
||||
// 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
|
||||
// element, and the full-screen-ancestor styles on ancestors of the element
|
||||
|
@ -9167,6 +9198,223 @@ nsDocument::IsFullScreenEnabled(bool aCallerIsChrome, bool aLogFailure)
|
|||
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_) \
|
||||
NS_IMETHODIMP nsDocument::GetOn##name_(JSContext *cx, jsval *vp) { \
|
||||
return nsINode::GetOn##name_(cx, vp); \
|
||||
|
|
|
@ -986,6 +986,11 @@ public:
|
|||
// Returns the top element from the full-screen stack.
|
||||
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
|
||||
// synchronously.
|
||||
void UpdateVisibilityState();
|
||||
|
|
|
@ -3280,6 +3280,9 @@ nsGenericElement::UnbindFromTree(bool aDeep, bool aNullParent)
|
|||
// Fully exit full-screen.
|
||||
nsIDocument::ExitFullScreen(false);
|
||||
}
|
||||
if (HasPointerLock()) {
|
||||
nsIDocument::UnlockPointer();
|
||||
}
|
||||
if (GetParent()) {
|
||||
NS_RELEASE(mParent);
|
||||
} else {
|
||||
|
@ -6456,6 +6459,13 @@ nsINode::Contains(nsIDOMNode* aOther, bool* aReturn)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsGenericElement::MozRequestPointerLock()
|
||||
{
|
||||
OwnerDoc()->RequestPointerLock(this);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
PRUint32
|
||||
nsINode::Length() const
|
||||
{
|
||||
|
|
|
@ -593,6 +593,8 @@ GK_ATOM(mousethrough, "mousethrough")
|
|||
GK_ATOM(mouseup, "mouseup")
|
||||
GK_ATOM(mozfullscreenchange, "mozfullscreenchange")
|
||||
GK_ATOM(mozfullscreenerror, "mozfullscreenerror")
|
||||
GK_ATOM(mozpointerlockchange, "mozpointerlockchange")
|
||||
GK_ATOM(mozpointerlockerror, "mozpointerlockerror")
|
||||
GK_ATOM(moz_opaque, "moz-opaque")
|
||||
GK_ATOM(moz_action_hint, "mozactionhint")
|
||||
GK_ATOM(x_moz_errormessage, "x-moz-errormessage")
|
||||
|
@ -714,6 +716,8 @@ GK_ATOM(onmouseup, "onmouseup")
|
|||
GK_ATOM(onMozAfterPaint, "onMozAfterPaint")
|
||||
GK_ATOM(onmozfullscreenchange, "onmozfullscreenchange")
|
||||
GK_ATOM(onmozfullscreenerror, "onmozfullscreenerror")
|
||||
GK_ATOM(onmozpointerlockchange, "onmozpointerlockchange")
|
||||
GK_ATOM(onmozpointerlockerror, "onmozpointerlockerror")
|
||||
GK_ATOM(onMozMousePixelScroll, "onMozMousePixelScroll")
|
||||
GK_ATOM(onMozScrolledAreaChanged, "onMozScrolledAreaChanged")
|
||||
GK_ATOM(ononline, "ononline")
|
||||
|
|
|
@ -275,6 +275,14 @@ EVENT(mozfullscreenerror,
|
|||
NS_FULLSCREENERROR,
|
||||
EventNameType_HTML,
|
||||
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.
|
||||
// EVENT(mousewheel)
|
||||
EVENT(pause,
|
||||
|
|
|
@ -100,6 +100,8 @@ static const char* const sEventNames[] = {
|
|||
"MozBeforeResize",
|
||||
"mozfullscreenchange",
|
||||
"mozfullscreenerror",
|
||||
"mozpointerlockchange",
|
||||
"mozpointerlockerror",
|
||||
"MozSwipeGesture",
|
||||
"MozMagnifyGestureStart",
|
||||
"MozMagnifyGestureUpdate",
|
||||
|
@ -1170,6 +1172,10 @@ nsDOMEvent::GetScreenCoords(nsPresContext* aPresContext,
|
|||
nsEvent* aEvent,
|
||||
nsIntPoint aPoint)
|
||||
{
|
||||
if (nsEventStateManager::sIsPointerLocked) {
|
||||
return nsEventStateManager::sLastScreenPoint;
|
||||
}
|
||||
|
||||
if (!aEvent ||
|
||||
(aEvent->eventStructType != NS_MOUSE_EVENT &&
|
||||
aEvent->eventStructType != NS_POPUP_EVENT &&
|
||||
|
@ -1225,6 +1231,10 @@ nsDOMEvent::GetClientCoords(nsPresContext* aPresContext,
|
|||
nsIntPoint aPoint,
|
||||
nsIntPoint aDefaultPoint)
|
||||
{
|
||||
if (nsEventStateManager::sIsPointerLocked) {
|
||||
return nsEventStateManager::sLastClientPoint;
|
||||
}
|
||||
|
||||
if (!aEvent ||
|
||||
(aEvent->eventStructType != NS_MOUSE_EVENT &&
|
||||
aEvent->eventStructType != NS_POPUP_EVENT &&
|
||||
|
|
|
@ -183,6 +183,8 @@ public:
|
|||
eDOMEvents_beforeresize,
|
||||
eDOMEvents_mozfullscreenchange,
|
||||
eDOMEvents_mozfullscreenerror,
|
||||
eDOMEvents_mozpointerlockchange,
|
||||
eDOMEvents_mozpointerlockerror,
|
||||
eDOMEvents_MozSwipeGesture,
|
||||
eDOMEvents_MozMagnifyGestureStart,
|
||||
eDOMEvents_MozMagnifyGestureUpdate,
|
||||
|
|
|
@ -233,6 +233,24 @@ nsDOMMouseEvent::GetRelatedTarget(nsIDOMEventTarget** aRelatedTarget)
|
|||
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_ENSURE_ARG_POINTER(aScreenX);
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
#include "nsContentUtils.h"
|
||||
#include "nsEventStateManager.h"
|
||||
#include "nsIFrame.h"
|
||||
#include "nsLayoutUtils.h"
|
||||
#include "nsIScrollableFrame.h"
|
||||
#include "DictionaryHelpers.h"
|
||||
|
||||
|
@ -58,6 +57,9 @@ nsDOMUIEvent::nsDOMUIEvent(nsPresContext* aPresContext, nsGUIEvent* aEvent)
|
|||
static_cast<nsEvent *>(aEvent) :
|
||||
static_cast<nsEvent *>(new nsUIEvent(false, 0, 0)))
|
||||
, mClientPoint(0, 0), mLayerPoint(0, 0), mPagePoint(0, 0)
|
||||
, mIsPointerLocked(nsEventStateManager::sIsPointerLocked)
|
||||
, mLastScreenPoint(nsEventStateManager::sLastScreenPoint)
|
||||
, mLastClientPoint(nsEventStateManager::sLastClientPoint)
|
||||
{
|
||||
if (aEvent) {
|
||||
mEventIsInternal = false;
|
||||
|
@ -124,9 +126,9 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsDOMUIEvent)
|
|||
NS_INTERFACE_MAP_END_INHERITING(nsDOMEvent)
|
||||
|
||||
nsIntPoint
|
||||
nsDOMUIEvent::GetScreenPoint()
|
||||
nsDOMUIEvent::GetMovementPoint()
|
||||
{
|
||||
if (!mEvent ||
|
||||
if (!mEvent ||
|
||||
(mEvent->eventStructType != NS_MOUSE_EVENT &&
|
||||
mEvent->eventStructType != NS_POPUP_EVENT &&
|
||||
mEvent->eventStructType != NS_MOUSE_SCROLL_EVENT &&
|
||||
|
@ -136,43 +138,41 @@ nsDOMUIEvent::GetScreenPoint()
|
|||
return nsIntPoint(0, 0);
|
||||
}
|
||||
|
||||
if (!((nsGUIEvent*)mEvent)->widget ) {
|
||||
return mEvent->refPoint;
|
||||
if (!((nsGUIEvent*)mEvent)->widget) {
|
||||
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();
|
||||
nscoord factor = mPresContext->DeviceContext()->UnscaledAppUnitsPerDevPixel();
|
||||
return nsIntPoint(nsPresContext::AppUnitsToIntCSSPixels(offset.x * factor),
|
||||
nsPresContext::AppUnitsToIntCSSPixels(offset.y * factor));
|
||||
nsIntPoint lastPoint = nsIntPoint(nsPresContext::AppUnitsToIntCSSPixels(offset.x * factor),
|
||||
nsPresContext::AppUnitsToIntCSSPixels(offset.y * factor));
|
||||
|
||||
return currentPoint - lastPoint;
|
||||
}
|
||||
|
||||
nsIntPoint
|
||||
nsDOMUIEvent::GetScreenPoint()
|
||||
{
|
||||
if (mIsPointerLocked) {
|
||||
return mLastScreenPoint;
|
||||
}
|
||||
|
||||
return CalculateScreenPoint(mPresContext, mEvent);
|
||||
}
|
||||
|
||||
nsIntPoint
|
||||
nsDOMUIEvent::GetClientPoint()
|
||||
{
|
||||
if (!mEvent ||
|
||||
(mEvent->eventStructType != NS_MOUSE_EVENT &&
|
||||
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;
|
||||
if (mIsPointerLocked) {
|
||||
return mLastClientPoint;
|
||||
}
|
||||
|
||||
nsPoint pt(0, 0);
|
||||
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));
|
||||
return CalculateClientPoint(mPresContext, mEvent, &mClientPoint);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
|
||||
#include "nsIDOMUIEvent.h"
|
||||
#include "nsDOMEvent.h"
|
||||
#include "nsLayoutUtils.h"
|
||||
|
||||
class nsDOMUIEvent : public nsDOMEvent,
|
||||
public nsIDOMUIEvent
|
||||
|
@ -66,10 +67,67 @@ public:
|
|||
|
||||
virtual nsresult InitFromCtor(const nsAString& aType,
|
||||
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:
|
||||
// Internal helper functions
|
||||
nsIntPoint GetScreenPoint();
|
||||
nsIntPoint GetClientPoint();
|
||||
nsIntPoint GetMovementPoint();
|
||||
nsIntPoint GetLayerPoint();
|
||||
nsIntPoint GetPagePoint();
|
||||
|
||||
|
@ -88,6 +146,10 @@ protected:
|
|||
// Screenpoint is mEvent->refPoint.
|
||||
nsIntPoint mLayerPoint;
|
||||
nsIntPoint mPagePoint;
|
||||
nsIntPoint mMovement;
|
||||
bool mIsPointerLocked;
|
||||
nsIntPoint mLastScreenPoint;
|
||||
nsIntPoint mLastClientPoint;
|
||||
};
|
||||
|
||||
#define NS_FORWARD_TO_NSDOMUIEVENT \
|
||||
|
|
|
@ -137,6 +137,8 @@
|
|||
#include "mozilla/LookAndFeel.h"
|
||||
#include "sampler.h"
|
||||
|
||||
#include "nsIDOMClientRect.h"
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
#import <ApplicationServices/ApplicationServices.h>
|
||||
#endif
|
||||
|
@ -159,6 +161,15 @@ bool nsEventStateManager::sNormalLMouseEventInProcess = false;
|
|||
nsEventStateManager* nsEventStateManager::sActiveESM = nsnull;
|
||||
nsIDocument* nsEventStateManager::sMouseOverDocument = 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;
|
||||
|
||||
static PRUint32 gMouseOrKeyboardEventCounter = 0;
|
||||
|
@ -772,6 +783,7 @@ nsMouseWheelTransaction::LimitToOnePageScroll(PRInt32 aScrollLines,
|
|||
|
||||
nsEventStateManager::nsEventStateManager()
|
||||
: mLockCursor(0),
|
||||
mPreLockPoint(0,0),
|
||||
mCurrentTarget(nsnull),
|
||||
mLastMouseOverFrame(nsnull),
|
||||
// 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");
|
||||
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
|
||||
// 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* 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");
|
||||
nsEventStatus status = nsEventStatus_eIgnore;
|
||||
nsMouseEvent event(NS_IS_TRUSTED_EVENT(aEvent), aMessage, aEvent->widget,
|
||||
|
@ -3989,6 +4037,26 @@ nsEventStateManager::GenerateMouseEnterExit(nsGUIEvent* aEvent)
|
|||
switch(aEvent->message) {
|
||||
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)
|
||||
nsCOMPtr<nsIContent> targetElement = GetEventTargetContent(aEvent);
|
||||
if (!targetElement) {
|
||||
|
@ -4024,6 +4092,79 @@ nsEventStateManager::GenerateMouseEnterExit(nsGUIEvent* aEvent)
|
|||
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
|
||||
nsEventStateManager::GenerateDragDropEnterExit(nsPresContext* aPresContext,
|
||||
nsGUIEvent* aEvent)
|
||||
|
|
|
@ -228,6 +228,12 @@ public:
|
|||
|
||||
static bool IsRemoteTarget(nsIContent* aTarget);
|
||||
|
||||
static nsIntPoint sLastScreenPoint;
|
||||
static nsIntPoint sLastClientPoint;
|
||||
static bool sIsPointerLocked;
|
||||
static nsWeakPtr sPointerLockedElement;
|
||||
static nsWeakPtr sPointerLockedDoc;
|
||||
|
||||
protected:
|
||||
friend class MouseEnterLeaveDispatcher;
|
||||
|
||||
|
@ -480,11 +486,16 @@ private:
|
|||
|
||||
PRInt32 mLockCursor;
|
||||
|
||||
// Point when mouse was locked, used to reposition after unlocking.
|
||||
nsIntPoint mPreLockPoint;
|
||||
|
||||
nsWeakFrame mCurrentTarget;
|
||||
nsCOMPtr<nsIContent> mCurrentTargetContent;
|
||||
nsWeakFrame mLastMouseOverFrame;
|
||||
nsCOMPtr<nsIContent> mLastMouseOverElement;
|
||||
static nsWeakFrame sLastDragOverFrame;
|
||||
static nsIntPoint sLastRefPoint;
|
||||
static nsIntPoint sLastScreenOffset;
|
||||
|
||||
// member variables for the d&d gesture state machine
|
||||
nsIntPoint mGestureDownPoint; // screen coordinates
|
||||
|
@ -556,6 +567,9 @@ public:
|
|||
nsGUIEvent* inMouseDownEvent ) ;
|
||||
void KillClickHoldTimer ( ) ;
|
||||
void FireContextClick ( ) ;
|
||||
|
||||
void SetPointerLock(nsIWidget* aWidget, nsIContent* aElement) ;
|
||||
nsIntPoint GetMouseCoords(nsIntRect aBounds);
|
||||
static void sClickHoldCallback ( nsITimer* aTimer, void* aESM ) ;
|
||||
};
|
||||
|
||||
|
|
|
@ -48,6 +48,8 @@ var gTestWindows = [
|
|||
var testWindow = null;
|
||||
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 isOSXLion = navigator.userAgent.indexOf("Mac OS X 10.7") != -1;
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ interface nsIDOMLocation;
|
|||
* 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
|
||||
{
|
||||
readonly attribute nsIDOMDocumentType doctype;
|
||||
|
@ -396,6 +396,21 @@ interface nsIDOMDocument : nsIDOMNode
|
|||
*/
|
||||
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.
|
||||
*/
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
* 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
|
||||
{
|
||||
readonly attribute DOMString tagName;
|
||||
|
@ -228,4 +228,12 @@ interface nsIDOMElement : nsIDOMNode
|
|||
* @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
|
||||
*/
|
||||
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();
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
#include "nsIDOMDocument.idl"
|
||||
|
||||
[scriptable, uuid(2ba0cbad-d03e-424d-a47f-560541192bc3)]
|
||||
[scriptable, uuid(18C55EFC-560B-4BDD-9776-A8D239EF7052)]
|
||||
interface nsIDOMXMLDocument : nsIDOMDocument
|
||||
{
|
||||
// DOM Level 3 Load & Save, DocumentLS
|
||||
|
|
|
@ -82,6 +82,8 @@ interface nsIInlineEventHandlers : nsISupports
|
|||
// [implicit_jscontext] attribute jsval onmousewheel;
|
||||
[implicit_jscontext] attribute jsval onmozfullscreenchange;
|
||||
[implicit_jscontext] attribute jsval onmozfullscreenerror;
|
||||
[implicit_jscontext] attribute jsval onmozpointerlockchange;
|
||||
[implicit_jscontext] attribute jsval onmozpointerlockerror;
|
||||
[implicit_jscontext] attribute jsval onpause;
|
||||
[implicit_jscontext] attribute jsval onplay;
|
||||
[implicit_jscontext] attribute jsval onplaying;
|
||||
|
|
|
@ -48,12 +48,15 @@
|
|||
* 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
|
||||
{
|
||||
readonly attribute long screenX;
|
||||
readonly attribute long screenY;
|
||||
|
||||
readonly attribute long mozMovementX;
|
||||
readonly attribute long mozMovementY;
|
||||
|
||||
readonly attribute long clientX;
|
||||
readonly attribute long clientY;
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString href;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString alt;
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
* @status UNDER_DEVELOPMENT
|
||||
*/
|
||||
|
||||
[scriptable, uuid(ecf4ed75-83b0-4a96-af11-d6cefab59dc0)]
|
||||
[scriptable, uuid(D5844B73-30E2-46D5-894C-108967E05C80)]
|
||||
interface nsIDOMHTMLAudioElement : nsIDOMHTMLMediaElement
|
||||
{
|
||||
// Setup the audio stream for writing
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString clear;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString href;
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString aLink;
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
interface nsIDOMValidityState;
|
||||
|
||||
[scriptable, uuid(6b78685d-1ef4-4d89-9d6b-823c3dac361f)]
|
||||
[scriptable, uuid(8E40D4D7-C204-4192-802A-0B5602E9C669)]
|
||||
interface nsIDOMHTMLButtonElement : nsIDOMHTMLElement
|
||||
{
|
||||
attribute boolean autofocus;
|
||||
|
|
|
@ -56,7 +56,7 @@ interface nsIDOMFile;
|
|||
interface nsIVariant;
|
||||
interface nsIInputStreamCallback;
|
||||
|
||||
[scriptable, uuid(21296a59-25d8-45fb-8c27-290044c88922)]
|
||||
[scriptable, uuid(5929542B-C68E-48AB-84F9-D9642DA39720)]
|
||||
interface nsIDOMHTMLCanvasElement : nsIDOMHTMLElement
|
||||
{
|
||||
attribute unsigned long width;
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
* @status UNDER_DEVELOPMENT
|
||||
*/
|
||||
|
||||
[scriptable, uuid(2ee6f391-342a-42b9-a9f6-f0f7e6d1701b)]
|
||||
[scriptable, uuid(A6963C8F-6475-4631-B7E0-41DD7DC8F388)]
|
||||
interface nsIDOMHTMLCommandElement : nsIDOMHTMLElement
|
||||
{
|
||||
attribute DOMString type;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute boolean compact;
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
|
||||
interface nsIDOMHTMLCollection;
|
||||
|
||||
[scriptable, uuid(a652777e-9ad9-4afe-861d-172f888c2f46)]
|
||||
[scriptable, uuid(EEB039A1-FD4E-41A3-805A-B367BA235DC2)]
|
||||
interface nsIDOMHTMLDataListElement : nsIDOMHTMLElement
|
||||
{
|
||||
readonly attribute nsIDOMHTMLCollection options;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute boolean compact;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
*/
|
||||
interface nsISelection;
|
||||
|
||||
[scriptable, uuid(3dae5807-3615-4567-913f-c3956a2aa251)]
|
||||
[scriptable, uuid(1B93973F-28CC-4F33-8E7B-B89C63AA9200)]
|
||||
interface nsIDOMHTMLDocument : nsIDOMDocument
|
||||
{
|
||||
readonly attribute DOMString URL;
|
||||
|
|
|
@ -53,7 +53,7 @@ interface nsIDOMHTMLMenuElement;
|
|||
* with changes from the work-in-progress WHATWG HTML specification:
|
||||
* 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
|
||||
{
|
||||
// metadata attributes
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
interface nsIDOMValidityState;
|
||||
|
||||
[scriptable, uuid(7b26c8d8-f802-4b04-b114-b44201000faf)]
|
||||
[scriptable, uuid(AB2F9E30-1217-4172-9A95-262480FEC534)]
|
||||
interface nsIDOMHTMLFieldSetElement : nsIDOMHTMLElement
|
||||
{
|
||||
attribute boolean disabled;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString color;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString acceptCharset;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString frameBorder;
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString cols;
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
};
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString version;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString alt;
|
||||
|
|
|
@ -54,7 +54,7 @@ interface nsIDOMValidityState;
|
|||
* 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
|
||||
{
|
||||
attribute DOMString accept;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString type;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
readonly attribute nsIDOMHTMLFormElement form;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
readonly attribute nsIDOMHTMLFormElement form;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute boolean disabled;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
readonly attribute nsIDOMHTMLCollection areas;
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
#endif
|
||||
%}
|
||||
|
||||
[scriptable, uuid(60ea8009-022b-4e65-a452-054b0483182e)]
|
||||
[scriptable, uuid(02FB205D-68B5-4722-982B-1D12238FBF72)]
|
||||
interface nsIDOMHTMLMediaElement : nsIDOMHTMLElement
|
||||
{
|
||||
// error state
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute boolean compact;
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
* @status UNDER_DEVELOPMENT
|
||||
*/
|
||||
|
||||
[scriptable, uuid(74ffab29-3a81-4099-8f38-55b1ad3a6988)]
|
||||
[scriptable, uuid(685E02FF-8148-4414-A0D6-319E817F3B56)]
|
||||
interface nsIDOMHTMLMenuItemElement : nsIDOMHTMLCommandElement
|
||||
{
|
||||
};
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString content;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString cite;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute boolean compact;
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
interface nsIDOMValidityState;
|
||||
|
||||
[scriptable, uuid(b85a1d53-77b8-4550-98ae-d9c4339f2ef9)]
|
||||
[scriptable, uuid(A70595DD-68A5-41F5-AB52-73A47D98BD78)]
|
||||
interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement
|
||||
{
|
||||
readonly attribute nsIDOMHTMLFormElement form;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute boolean disabled;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute boolean disabled;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
interface nsIDOMDOMSettableTokenList;
|
||||
interface nsIDOMValidityState;
|
||||
|
||||
[scriptable, uuid(b13de107-dd83-4b1b-8970-c25a0890e799)]
|
||||
[scriptable, uuid(01542000-CD00-4E8A-841C-9BAAD6BA0368)]
|
||||
interface nsIDOMHTMLOutputElement : nsIDOMHTMLElement
|
||||
{
|
||||
readonly attribute nsIDOMDOMSettableTokenList htmlFor;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString name;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute long width;
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
* @status UNDER_DEVELOPMENT
|
||||
*/
|
||||
|
||||
[scriptable, uuid(6312474b-9c6c-4eb4-8408-2a1754799e30)]
|
||||
[scriptable, uuid(842AEE33-8381-4DA4-A347-9E70C797BC3E)]
|
||||
interface nsIDOMHTMLProgressElement : nsIDOMHTMLElement
|
||||
{
|
||||
attribute double value;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString cite;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString src;
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
|
||||
interface nsIDOMValidityState;
|
||||
|
||||
[scriptable, uuid(828961d4-cca1-4024-aaf1-dc0e0d1e6d98)]
|
||||
[scriptable, uuid(2A50D295-8DB8-4223-AE0D-070C6EB6C76E)]
|
||||
interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement
|
||||
{
|
||||
attribute boolean autofocus;
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
* @status UNDER_DEVELOPMENT
|
||||
*/
|
||||
|
||||
[scriptable, uuid(cff81c92-fefa-4d0f-8d07-a4d98fabb6b6)]
|
||||
[scriptable, uuid(4BF58085-9986-47B5-BB03-62BAA0451497)]
|
||||
interface nsIDOMHTMLSourceElement : nsIDOMHTMLElement
|
||||
{
|
||||
attribute DOMString src;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute boolean disabled;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
readonly attribute long cellIndex;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
// Modified in DOM Level 2:
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
// Modified in DOM Level 2:
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString align;
|
||||
|
|
|
@ -53,7 +53,7 @@ interface nsIDOMValidityState;
|
|||
* 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
|
||||
{
|
||||
attribute boolean autofocus;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute DOMString text;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
* 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
|
||||
{
|
||||
attribute boolean compact;
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
*
|
||||
* @see <http://www.whatwg.org/html/#htmlunknownelement>
|
||||
*/
|
||||
[scriptable, uuid(d74ee527-8397-4a09-b161-f9bcb0382924)]
|
||||
[scriptable, uuid(74ACC5C9-A18D-4AEC-AEFC-A719EF69499C)]
|
||||
interface nsIDOMHTMLUnknownElement : nsIDOMHTMLElement
|
||||
{
|
||||
};
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
* @status UNDER_DEVELOPMENT
|
||||
*/
|
||||
|
||||
[scriptable, uuid(9904233c-1345-440d-aa0f-1d3dd4457d83)]
|
||||
[scriptable, uuid(E3763903-928B-47C4-AC3B-C47EB43884CA)]
|
||||
interface nsIDOMHTMLVideoElement : nsIDOMHTMLMediaElement
|
||||
{
|
||||
attribute long width;
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
|
||||
interface nsIDOMSVGAnimatedString;
|
||||
|
||||
[scriptable, uuid(bc060816-4cab-4552-af1f-39e15e6f4f59)]
|
||||
[scriptable, uuid(DBC9B56C-3DE3-4475-A934-EE88D3BCB03C)]
|
||||
interface nsIDOMSVGAElement
|
||||
: nsIDOMSVGElement
|
||||
/*
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include "nsIDOMSVGTextPositionElem.idl"
|
||||
|
||||
[scriptable, uuid(289aa3c3-9724-48a3-81cc-a0bc7c1f1fea)]
|
||||
[scriptable, uuid(D7274F91-0FC7-42F1-AD56-3C58AF2B0113)]
|
||||
interface nsIDOMSVGAltGlyphElement : nsIDOMSVGTextPositioningElement
|
||||
/*
|
||||
The SVG DOM makes use of multiple interface inheritance.
|
||||
|
|
|
@ -37,5 +37,5 @@
|
|||
|
||||
#include "nsIDOMSVGAnimationElement.idl"
|
||||
|
||||
[scriptable, uuid(a662ffce-086f-4c5b-886b-78acb654db10)]
|
||||
[scriptable, uuid(11E98EA0-C8D2-4471-88B0-A3E6708021E4)]
|
||||
interface nsIDOMSVGAnimateElement : nsIDOMSVGAnimationElement {};
|
||||
|
|
|
@ -37,5 +37,5 @@
|
|||
|
||||
#include "nsIDOMSVGAnimationElement.idl"
|
||||
|
||||
[scriptable, uuid(3d1d0c0d-9d5b-4e30-9fc8-97ec7e49ec18)]
|
||||
[scriptable, uuid(964CDA18-C400-4D1E-B113-2000B4BF777E)]
|
||||
interface nsIDOMSVGAnimateMotionElement : nsIDOMSVGAnimationElement { };
|
||||
|
|
|
@ -37,5 +37,5 @@
|
|||
|
||||
#include "nsIDOMSVGAnimationElement.idl"
|
||||
|
||||
[scriptable, uuid(1c7be1dc-a799-4837-865f-4c0bd1e51255)]
|
||||
[scriptable, uuid(EF6A356E-AA64-49EB-931B-5D9EFC62FC97)]
|
||||
interface nsIDOMSVGAnimateTransformElement : nsIDOMSVGAnimationElement {};
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
#include "nsIDOMSVGElement.idl"
|
||||
|
||||
[scriptable, uuid(2dfaf726-a479-4a9d-8e16-cd5d07696eea)]
|
||||
[scriptable, uuid(26BF6187-A720-47AA-B453-DEFB98FF433C)]
|
||||
interface nsIDOMSVGAnimationElement
|
||||
: nsIDOMSVGElement
|
||||
/*
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
interface nsIDOMSVGAnimatedLength;
|
||||
|
||||
[scriptable, uuid(79314559-4561-4259-9839-f9b8df90e050)]
|
||||
[scriptable, uuid(150C9D2F-66D1-4EC4-A351-4F53534FA314)]
|
||||
interface nsIDOMSVGCircleElement
|
||||
: nsIDOMSVGElement
|
||||
/*
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
interface nsIDOMSVGAnimatedEnumeration;
|
||||
|
||||
[scriptable, uuid(77909883-71d3-46a4-87df-baab182eea6c)]
|
||||
[scriptable, uuid(5A4D77E5-D887-4050-A9F7-0D690AD35500)]
|
||||
interface nsIDOMSVGClipPathElement
|
||||
: nsIDOMSVGElement
|
||||
/*
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
#include "nsIDOMSVGElement.idl"
|
||||
|
||||
[scriptable, uuid(50a7b30c-fbad-4f60-baca-a6e018e66a06)]
|
||||
[scriptable, uuid(3F8D6B9C-CF03-45A6-B8A5-57ECBB7655DA)]
|
||||
interface nsIDOMSVGDefsElement
|
||||
: nsIDOMSVGElement
|
||||
/*
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
#include "nsIDOMSVGElement.idl"
|
||||
|
||||
[scriptable, uuid(18c4a5f0-9f12-4f7a-bc14-91d575238a34)]
|
||||
[scriptable, uuid(ED14BA6A-090D-4096-A225-08BD56678FE6)]
|
||||
interface nsIDOMSVGDescElement
|
||||
: nsIDOMSVGElement
|
||||
/*
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
interface nsIDOMSVGSVGElement;
|
||||
|
||||
[scriptable, uuid(b3c5a715-ccee-48e4-8d2b-dcf7fa6ccb7c)]
|
||||
[scriptable, uuid(4AEBF9E7-F275-4147-AA90-601626476132)]
|
||||
interface nsIDOMSVGDocument : nsIDOMDocument
|
||||
{
|
||||
readonly attribute DOMString domain;
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
interface nsIDOMSVGSVGElement;
|
||||
|
||||
[scriptable, uuid(0eb0952f-05a9-44e8-ab48-66bed5641ebf)]
|
||||
[scriptable, uuid(9B16734D-DBFD-4465-8EAF-354694934A1D)]
|
||||
interface nsIDOMSVGElement : nsIDOMElement
|
||||
{
|
||||
attribute DOMString id;
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
interface nsIDOMSVGAnimatedLength;
|
||||
|
||||
[scriptable, uuid(a19b7c99-3b3f-4860-aa94-d66789afa021)]
|
||||
[scriptable, uuid(C03C3C5F-7510-4392-BA7A-DADC0AB92E28)]
|
||||
interface nsIDOMSVGEllipseElement
|
||||
: nsIDOMSVGElement
|
||||
/*
|
||||
|
|
|
@ -40,7 +40,7 @@ interface nsIDOMSVGAnimatedLength;
|
|||
interface nsIDOMSVGAnimatedEnumeration;
|
||||
interface nsIDOMSVGAnimatedInteger;
|
||||
|
||||
[scriptable, uuid(34bf1f97-ec77-48b4-9f3b-c61ef957ebf7)]
|
||||
[scriptable, uuid(974C7633-0258-4BE7-B1AE-E0ED1964C87F)]
|
||||
interface nsIDOMSVGFilterElement
|
||||
: nsIDOMSVGElement
|
||||
/*
|
||||
|
|
|
@ -45,7 +45,7 @@ interface nsIDOMSVGAnimatedNumberList;
|
|||
interface nsIDOMSVGAnimatedInteger;
|
||||
interface nsIDOMSVGAnimatedBoolean;
|
||||
|
||||
[scriptable, uuid(f96cedb9-568c-43d0-b07f-565d5116ae34)]
|
||||
[scriptable, uuid(117CFA4C-B0EB-4C0F-A590-F77FBF42E76D)]
|
||||
interface nsIDOMSVGFilterPrimitiveStandardAttributes : nsIDOMSVGElement
|
||||
{
|
||||
readonly attribute nsIDOMSVGAnimatedLength x;
|
||||
|
@ -55,7 +55,7 @@ interface nsIDOMSVGFilterPrimitiveStandardAttributes : nsIDOMSVGElement
|
|||
readonly attribute nsIDOMSVGAnimatedString result;
|
||||
};
|
||||
|
||||
[scriptable, uuid(215023bc-e4d6-473d-b0fd-db96727b9e0d)]
|
||||
[scriptable, uuid(02DB0A51-087B-4EA4-ABC4-3DCAB65BFE83)]
|
||||
interface nsIDOMSVGFEBlendElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
const unsigned short SVG_MODE_UNKNOWN = 0;
|
||||
|
@ -70,7 +70,7 @@ interface nsIDOMSVGFEBlendElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
|||
readonly attribute nsIDOMSVGAnimatedEnumeration mode;
|
||||
};
|
||||
|
||||
[scriptable, uuid(92205955-4d55-4097-9b93-b38d7e5a72e4)]
|
||||
[scriptable, uuid(BB966D00-CF60-4696-9954-43525401E209)]
|
||||
interface nsIDOMSVGFEColorMatrixElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
// Color Matrix Types
|
||||
|
@ -85,13 +85,13 @@ interface nsIDOMSVGFEColorMatrixElement : nsIDOMSVGFilterPrimitiveStandardAttrib
|
|||
readonly attribute nsIDOMSVGAnimatedNumberList values;
|
||||
};
|
||||
|
||||
[scriptable, uuid(69612612-c893-4d2c-902d-5a4887ebfe0a)]
|
||||
[scriptable, uuid(539000B3-2272-4F1A-BF24-23340DD408AF)]
|
||||
interface nsIDOMSVGFEComponentTransferElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
readonly attribute nsIDOMSVGAnimatedString in1;
|
||||
};
|
||||
|
||||
[scriptable, uuid(1b758c80-c6f2-4f57-a8cf-964c98c8d0f0)]
|
||||
[scriptable, uuid(75FAB13E-9D34-4653-B992-BF7DF78BA379)]
|
||||
interface nsIDOMSVGComponentTransferFunctionElement : nsIDOMSVGElement
|
||||
{
|
||||
// Component Transfer Types
|
||||
|
@ -111,7 +111,7 @@ interface nsIDOMSVGComponentTransferFunctionElement : nsIDOMSVGElement
|
|||
readonly attribute nsIDOMSVGAnimatedNumber offset;
|
||||
};
|
||||
|
||||
[scriptable, uuid(71142479-68eb-44a3-9964-19faa09c4720)]
|
||||
[scriptable, uuid(32887E8E-A5DE-4FBB-84F2-842743FEE02B)]
|
||||
interface nsIDOMSVGFECompositeElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
// 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
|
||||
{
|
||||
};
|
||||
|
||||
[scriptable, uuid(a2b6baf7-4f8a-4b3a-86e9-6e232ad25889)]
|
||||
[scriptable, uuid(7F03F95A-5C78-4872-9CF6-856F66C76F8B)]
|
||||
interface nsIDOMSVGFEFuncGElement : nsIDOMSVGComponentTransferFunctionElement
|
||||
{
|
||||
};
|
||||
|
||||
[scriptable, uuid(b6d6522d-6721-453b-99f9-a08349d84dd0)]
|
||||
[scriptable, uuid(1AE3374C-1F60-4DD0-BC08-3B16FF9A63B0)]
|
||||
interface nsIDOMSVGFEFuncBElement : nsIDOMSVGComponentTransferFunctionElement
|
||||
{
|
||||
};
|
||||
|
||||
[scriptable, uuid(70c084fc-d823-43b3-b4f1-476387b40079)]
|
||||
[scriptable, uuid(EF68B840-E84F-45B6-89A6-B716D6A0BFEC)]
|
||||
interface nsIDOMSVGFEFuncAElement : nsIDOMSVGComponentTransferFunctionElement
|
||||
{
|
||||
};
|
||||
|
||||
[scriptable, uuid(bd19cfb2-5259-4551-abf5-3f9a9967ccf0)]
|
||||
[scriptable, uuid(32741F93-2AC4-4173-96AE-B1E65634C1EF)]
|
||||
interface nsIDOMSVGFEGaussianBlurElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
readonly attribute nsIDOMSVGAnimatedString in1;
|
||||
|
@ -165,35 +165,35 @@ interface nsIDOMSVGFEGaussianBlurElement : nsIDOMSVGFilterPrimitiveStandardAttri
|
|||
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
|
||||
{
|
||||
};
|
||||
|
||||
[scriptable, uuid(5b701f2f-b636-4bbb-8d2a-c74fa79b0280)]
|
||||
[scriptable, uuid(517828DE-69F7-4FAB-915E-862E4F77493D)]
|
||||
interface nsIDOMSVGFEMergeNodeElement : nsIDOMSVGElement {
|
||||
readonly attribute nsIDOMSVGAnimatedString in1;
|
||||
};
|
||||
|
||||
[scriptable, uuid(15746ca6-8b27-4cc1-bd84-3422d3aea18c)]
|
||||
[scriptable, uuid(0BAE928A-92FE-4C5F-A8CB-DAED171FA6A2)]
|
||||
interface nsIDOMSVGFEOffsetElement : nsIDOMSVGFilterPrimitiveStandardAttributes {
|
||||
readonly attribute nsIDOMSVGAnimatedString in1;
|
||||
readonly attribute nsIDOMSVGAnimatedNumber dx;
|
||||
readonly attribute nsIDOMSVGAnimatedNumber dy;
|
||||
};
|
||||
|
||||
[scriptable, uuid(436ca74a-eba8-4a50-8947-c180eb612a34)]
|
||||
[scriptable, uuid(F1635489-F34F-4554-8284-C848500FE0DD)]
|
||||
interface nsIDOMSVGFEFloodElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
};
|
||||
|
||||
[scriptable, uuid(4cf173d3-6b67-4e2c-8050-61412e6e9d7c)]
|
||||
[scriptable, uuid(C587EFE9-0A22-44E6-9964-B68DA564804A)]
|
||||
interface nsIDOMSVGFETileElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
readonly attribute nsIDOMSVGAnimatedString in1;
|
||||
};
|
||||
|
||||
[scriptable, uuid(9235e6a7-ba2c-4a41-9e80-20735159014b)]
|
||||
[scriptable, uuid(15BB448A-B589-4769-AA92-7C680A919F76)]
|
||||
interface nsIDOMSVGFETurbulenceElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
// Turbulence Types
|
||||
|
@ -213,7 +213,7 @@ interface nsIDOMSVGFETurbulenceElement : nsIDOMSVGFilterPrimitiveStandardAttribu
|
|||
readonly attribute nsIDOMSVGAnimatedEnumeration type;
|
||||
};
|
||||
|
||||
[scriptable, uuid(b994b0e3-cff1-4550-bfb2-f5de7679acb9)]
|
||||
[scriptable, uuid(645DEF2E-C176-47CC-A2C4-C9CC49D0AFC8)]
|
||||
interface nsIDOMSVGFEMorphologyElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
// Operator Types
|
||||
|
@ -229,7 +229,7 @@ interface nsIDOMSVGFEMorphologyElement : nsIDOMSVGFilterPrimitiveStandardAttribu
|
|||
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
|
||||
{
|
||||
// Edge Mode Values
|
||||
|
@ -252,7 +252,7 @@ interface nsIDOMSVGFEConvolveMatrixElement : nsIDOMSVGFilterPrimitiveStandardAtt
|
|||
readonly attribute nsIDOMSVGAnimatedBoolean preserveAlpha;
|
||||
};
|
||||
|
||||
[scriptable, uuid(47343967-4da5-4309-a3a4-c37ffab05b1f)]
|
||||
[scriptable, uuid(43662657-4DA9-4B64-8891-033B08DBD11B)]
|
||||
interface nsIDOMSVGFEDiffuseLightingElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
readonly attribute nsIDOMSVGAnimatedString in1;
|
||||
|
@ -262,7 +262,7 @@ interface nsIDOMSVGFEDiffuseLightingElement : nsIDOMSVGFilterPrimitiveStandardA
|
|||
readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY;
|
||||
};
|
||||
|
||||
[scriptable, uuid(b647355f-1be8-40da-9c3b-05dce4c0eaa4)]
|
||||
[scriptable, uuid(473A96B5-E644-4BAC-93B8-8C923F6568F7)]
|
||||
interface nsIDOMSVGFESpecularLightingElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
{
|
||||
readonly attribute nsIDOMSVGAnimatedString in1;
|
||||
|
@ -273,20 +273,20 @@ interface nsIDOMSVGFESpecularLightingElement : nsIDOMSVGFilterPrimitiveStandardA
|
|||
readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY;
|
||||
};
|
||||
|
||||
[scriptable, uuid(1073827f-77e5-4096-81c5-6ebffefe258b)]
|
||||
[scriptable, uuid(3C166FDD-A486-4089-9247-DEAC33001BD3)]
|
||||
interface nsIDOMSVGFEDistantLightElement : nsIDOMSVGElement {
|
||||
readonly attribute nsIDOMSVGAnimatedNumber azimuth;
|
||||
readonly attribute nsIDOMSVGAnimatedNumber elevation;
|
||||
};
|
||||
|
||||
[scriptable, uuid(d75d49ad-4265-4774-aa5c-02e4cdbfa2b1)]
|
||||
[scriptable, uuid(88C14474-3B95-454C-A62E-7FBE05DBD4A9)]
|
||||
interface nsIDOMSVGFEPointLightElement : nsIDOMSVGElement {
|
||||
readonly attribute nsIDOMSVGAnimatedNumber x;
|
||||
readonly attribute nsIDOMSVGAnimatedNumber y;
|
||||
readonly attribute nsIDOMSVGAnimatedNumber z;
|
||||
};
|
||||
|
||||
[scriptable, uuid(8cbaa2ea-159d-4b28-a963-8e42979eae84)]
|
||||
[scriptable, uuid(CDF0A4CD-99A0-4B8D-9E17-9EA7513A34B9)]
|
||||
interface nsIDOMSVGFESpotLightElement : nsIDOMSVGElement {
|
||||
readonly attribute nsIDOMSVGAnimatedNumber x;
|
||||
readonly attribute nsIDOMSVGAnimatedNumber y;
|
||||
|
@ -298,7 +298,7 @@ interface nsIDOMSVGFESpotLightElement : nsIDOMSVGElement {
|
|||
readonly attribute nsIDOMSVGAnimatedNumber limitingConeAngle;
|
||||
};
|
||||
|
||||
[scriptable, uuid(f46d36a1-5ea5-4152-9d73-2dd967c3a709)]
|
||||
[scriptable, uuid(6457A423-0686-486F-AB12-846B9542DFCF)]
|
||||
interface nsIDOMSVGFEImageElement : nsIDOMSVGFilterPrimitiveStandardAttributes
|
||||
/*
|
||||
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
|
||||
{
|
||||
// Channel Selectors
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
interface nsIDOMSVGAnimatedLength;
|
||||
|
||||
[scriptable, uuid(aa51c975-0450-4deb-9c15-a0b8c01ca4e2)]
|
||||
[scriptable, uuid(4F9EB1B8-5949-4BD4-8843-35EFA8384929)]
|
||||
interface nsIDOMSVGForeignObjectElement
|
||||
: nsIDOMSVGElement
|
||||
/*
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче