- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Mon, 24 Dec 2012 12:31:33 -0800
- To: public-webapps@w3.org
On 12/24/12 11:01 AM, Florian Bösch wrote:
> - vendorRequestPointerLock is on the prototype to HTMLElement which you
> cannot modify in Firefox
You mean applying HTMLElement.prototype.mozRequestPointerLock to
particular elements throws (which is not the same thing at all)?
That's fixed as of 3 days ago in Firefox nightlies, for what it's worth.
> one cannot override and wrap the HTMLElement prototypes
> addEventListener.
This will take another few weeks to fix, but it's being fixed.
> Even if one could, one would not want to allocate an
> object for every event in JS userspace (GCing being hurtful to realtime
> applications)
Events already allocate a new object or ten, for what it's worth.
> - vendorpointerlockchange events can likewise only be abstracted by
> overriding HTMLElement's prototype which is a nogo.
Is this the same issue as above or something different?
> - document.mozPointerLockElement cannot be shimmed at all obviously (you
> cannot listen to document property changes)
It can be shimmed in Firefox, for sure. Like so works fine, in a
current nightly (but not in realease, where Document is not on WebIDL
bindings yet):
var desc = Object.getOwnPropertyDescriptor(Document.prototype,
"mozPointerLockElement");
Object.defineProperty(Document.prototype, "pointerLockElement", desc);
This should also work in IE9/10, for attributes they implement.
> Is it really necessary to attach those prefixes everywhere and pollute
> our code with them?
That's a separate question. I personally think prefixing has been
over-used; this might be an instance of that over-use.
-Boris
Received on Monday, 24 December 2012 20:32:03 UTC