Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(282)

Issue 9864044: Make ERRORS_HAVE_INVISIBLE_PROPERTIES repairable. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 10 months ago by kpreid2
Modified:
12 years, 9 months ago
Reviewers:
MarkM
CC:
google-caja-discuss_googlegroups.com
Base URL:
http://google-caja.googlecode.com/svn/trunk/
Visibility:
Public.

Description

In <https://bugzilla.mozilla.org/show_bug.cgi?id=724768#c12> we now have a specific list of the invisible properties on Error and a statement that no other objects have this problem, so we can safely repair the known problem. This makes Firefox 21 OK for SES as no-known-exploit. @r5432

Patch Set 1 #

Patch Set 2 : Make ERRORS_HAVE_INVISIBLE_PROPERTIES repairable. #

Total comments: 5

Patch Set 3 : Make ERRORS_HAVE_INVISIBLE_PROPERTIES repairable. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -13 lines) Patch
M src/com/google/caja/ses/repairES5.js View 1 2 6 chunks +54 lines, -13 lines 0 comments Download

Messages

Total messages: 8
kpreid2
12 years, 10 months ago (2013-05-29 18:48:35 UTC) #1
kpreid2
In <https://bugzilla.mozilla.org/show_bug.cgi?id=724768#c12> we now have a specific list of the invisible properties on Error and ...
12 years, 10 months ago (2013-05-29 18:51:02 UTC) #2
kpreid2
I haven't thought too hard about whether this is perfect, because I'd first like to ...
12 years, 10 months ago (2013-05-29 18:52:00 UTC) #3
MarkM
Will review for real, probably this evening. Just wanted to say quickly here: I'm happy ...
12 years, 10 months ago (2013-05-29 20:11:19 UTC) #4
MarkM
LGTM https://codereview.appspot.com/9864044/diff/3001/src/com/google/caja/ses/repairES5.js File src/com/google/caja/ses/repairES5.js (right): https://codereview.appspot.com/9864044/diff/3001/src/com/google/caja/ses/repairES5.js#newcode3059 src/com/google/caja/ses/repairES5.js:3059: // the forEach binds this to the error ...
12 years, 10 months ago (2013-05-30 16:44:11 UTC) #5
kpreid2
Please rereview as I didn't do exactly what you said. https://codereview.appspot.com/9864044/diff/3001/src/com/google/caja/ses/repairES5.js File src/com/google/caja/ses/repairES5.js (right): https://codereview.appspot.com/9864044/diff/3001/src/com/google/caja/ses/repairES5.js#newcode3059 ...
12 years, 9 months ago (2013-05-31 20:52:47 UTC) #6
kpreid2
In <https://bugzilla.mozilla.org/show_bug.cgi?id=724768#c12> we now have a specific list of the invisible properties on Error and ...
12 years, 9 months ago (2013-05-31 20:53:23 UTC) #7
MarkM
12 years, 9 months ago (2013-05-31 21:44:51 UTC) #8
LGTM

https://codereview.appspot.com/9864044/diff/3001/src/com/google/caja/ses/repa...
File src/com/google/caja/ses/repairES5.js (right):

https://codereview.appspot.com/9864044/diff/3001/src/com/google/caja/ses/repa...
src/com/google/caja/ses/repairES5.js:3066: // Note: not adequate for cross-frame
use, but we currently don't care
On 2013/05/31 20:52:47, kpreid2 wrote:
> How so? ES6 is not allowing setting [[Class]], is it? Or will there ways to
have
> user-defined objects for which Object.prototype.toString varies?

On ES6, Object.prototype.toString, instead of accessing the internal [[Class]]
property (which is going away anyway), will instead access a unique-symbol-named
property. Thus, any object can have any Object.prototype.toString.call(obj)
result. We will then need to revisit *all* the places where we're using
Object.prototype.toString as a brand check.

So yes, it is not worth abstracting this further until we abstract all such
brand checks.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b