- From: Domenic Denicola <domenic@domenicdenicola.com>
- Date: Thu, 17 Oct 2013 20:45:50 +0000
- To: "Mark S. Miller" <erights@google.com>, James Graham <james@hoppipolla.co.uk>
- CC: "public-script-coord@w3.org" <public-script-coord@w3.org>
I think some example code helps this discussion. From what I can tell, Mark is concerned about code like this: ```js if (rect instanceof DOMRectReadOnly) { // ok, it's read only, so only its creator can write it untrustedCode.doSomethingWithRect(rect); // I can assume that rect has not change. } ``` This code assumes that being an instance of DOMRectReadOnly means that only its creator can write it, which is what the contract implied by "read only" means. It assumes `untrustedCode.doSomethingWithRect` won't be able to modify `rect`, and thus it can assume on the next line it isn't changed. However, under the proposed inheritance hierarchy, where a mutable DOMRect inherits from DOMRectReadOnly, this code could have its assumptions violated, if `rect` was a DOMRect. This seems bad?
Received on Thursday, 17 October 2013 20:46:22 UTC