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

Issue 91140043: Repair Object.create() & numeric properties bug in IE. (Closed)

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

Description

The bug in Internet Explorer described at http://webreflection.blogspot.co.uk/2014/04/all-ie-objects-are-broken.html is now known as NUMERIC_PROPERTIES_INVISIBLE and repaired fully by SES. This issue does not affect security of previous versions of Caja as we do not depend on correct answers from reflection on existing objects; we are repairing it solely to provide a more correct SES environment. @r5681

Patch Set 1 #

Total comments: 2

Patch Set 2 : Repair Object.create() & numeric properties bug in IE. #

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

Messages

Total messages: 11
kpreid_google
11 years, 10 months ago (2014-05-05 21:10:47 UTC) #1
MarkM
https://codereview.appspot.com/91140043/diff/1/src/com/google/caja/ses/repairES5.js File src/com/google/caja/ses/repairES5.js (right): https://codereview.appspot.com/91140043/diff/1/src/com/google/caja/ses/repairES5.js#newcode4387 src/com/google/caja/ses/repairES5.js:4387: canRepair: false, Shouldn't this be canRepair: true, ?
11 years, 10 months ago (2014-05-05 21:28:41 UTC) #2
kpreid_google
The bug in Internet Explorer described at http://webreflection.blogspot.co.uk/2014/04/all-ie-objects-are-broken.html is now known as NUMERIC_PROPERTIES_INVISIBLE and repaired ...
11 years, 10 months ago (2014-05-05 21:33:16 UTC) #3
kpreid_google
https://codereview.appspot.com/91140043/diff/1/src/com/google/caja/ses/repairES5.js File src/com/google/caja/ses/repairES5.js (right): https://codereview.appspot.com/91140043/diff/1/src/com/google/caja/ses/repairES5.js#newcode4387 src/com/google/caja/ses/repairES5.js:4387: canRepair: false, On 2014/05/05 21:28:40, MarkM wrote: > Shouldn't ...
11 years, 10 months ago (2014-05-05 21:34:18 UTC) #4
MarkM
LGTM
11 years, 10 months ago (2014-05-05 21:39:25 UTC) #5
andrea.giammarchi
On 2014/05/05 21:39:25, MarkM wrote: > LGTM I don't think it's wise to use `x` ...
11 years, 10 months ago (2014-05-06 00:13:46 UTC) #6
andrea.giammarchi
On 2014/05/06 00:13:46, andrea.giammarchi wrote: > On 2014/05/05 21:39:25, MarkM wrote: > > LGTM > ...
11 years, 10 months ago (2014-05-06 00:15:32 UTC) #7
kpreid_google
On Mon, May 5, 2014 at 5:13 PM, <andrea.giammarchi@gmail.com> wrote: > I don't think it's ...
11 years, 10 months ago (2014-05-06 00:17:38 UTC) #8
andrea.giammarchi
no problem last reminder is that apparently that operation flags forever the "object shape" resulting ...
11 years, 10 months ago (2014-05-06 00:23:15 UTC) #9
kpreid_google
On Mon, May 5, 2014 at 5:23 PM, Andrea Giammarchi < andrea.giammarchi@gmail.com> wrote: > last ...
11 years, 10 months ago (2014-05-06 00:35:28 UTC) #10
andrea.giammarchi
11 years, 10 months ago (2014-05-06 00:50:26 UTC) #11
I would personally just `delete Object.defineProperty(o, '0',
confgureZero)[0]` as suggested already and let IE solve this (hopefully)
ASAP.

Take care


On Mon, May 5, 2014 at 5:35 PM, Kevin Reid <kpreid@google.com> wrote:

> On Mon, May 5, 2014 at 5:23 PM, Andrea Giammarchi <
> andrea.giammarchi@gmail.com> wrote:
>
>> last reminder is that apparently that operation flags forever the "object
>> shape" resulting in slower objects during their lifecycle ... although I
>> don't have many more details on this, it was rather a hint from @jdalton
>>
>
> Yep, that's not-a-surprise. We consider the correctness more important in
> this case; though it would be nice to have a refinement that avoided
> slowing down the typical case.
>
> The main problem with the obvious tricks is that we can't just, for
> example, look at 'props' to see if it defines any non-numeric properties,
> because it might be some more or less magical object that gives different
> answers at different times. Though come to think of it we could do our own
> iteration and use defineProperty instead of defineProperties — but that's
> getting hairy.
>
Sign in to reply to this message.

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