# Pointer Lock IDL tests

    interface EventTarget {
    };

    interface Node : EventTarget {
    };

    interface Element : Node {
    };

    interface Document : Node {
    };

    interface Event {
    };

    interface MouseEvent : Event {
    };

    partial interface Element {
        void requestPointerLock ();
    };

    partial interface Document {
                    attribute EventHandler onpointerlockchange;
                    attribute EventHandler onpointerlockerror;
        readonly    attribute Element?     pointerLockElement;
        void exitPointerLock ();
    };

    partial interface MouseEvent {
        readonly    attribute long movementX;
        readonly    attribute long movementY;
    };

    partial dictionary MouseEventInit {
            long movementX = 0;
            long movementY = 0;
    };