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

Issue 1955042: Add the Cajita taming API to ES5/3. (Closed)

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

Description

Removes the unneeded caching of primordials. Fixes lots of taming/caching bugs: - Adds in the cajita taming API as used by domita. - Fixes wrapping of recursive functions. - Tames the call property of function instances. - Whitelists the prototype property of function instances. - Tames RegExp instances. - Begin using get/set for methods that domita depends on - Makes "this" at the global scope refer to IMPORTS___ Makes globals properties of IMPORTS___. Fixes renderer so it puts parens around the constructor: new IMPORTS___.v___('RegExp').new___() treats IMPORTS___.v___ as the constructor, which isn't what we want. Fixes the rendering of new expr when expr contains operations with higher precedence than new.

Patch Set 1 #

Patch Set 2 : Add the Cajita taming API to ES5/3. #

Patch Set 3 : Add the Cajita taming API to ES5/3. #

Patch Set 4 : Add the Cajita taming API to ES5/3. #

Patch Set 5 : Add the Cajita taming API to ES5/3. #

Patch Set 6 : Add the Cajita taming API to ES5/3. #

Patch Set 7 : Add the Cajita taming API to ES5/3. #

Patch Set 8 : Add the Cajita taming API to ES5/3. #

Total comments: 31

Patch Set 9 : Add the Cajita taming API to ES5/3. #

Total comments: 44

Patch Set 10 : Add the Cajita taming API to ES5/3. #

Total comments: 3

Patch Set 11 : Add the Cajita taming API to ES5/3. #

Total comments: 6

Patch Set 12 : Add the Cajita taming API to ES5/3. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+919 lines, -727 lines) Patch
M src/com/google/caja/es53.js View 1 2 3 4 5 6 7 8 9 10 11 133 chunks +759 lines, -533 lines 0 comments Download
M src/com/google/caja/parser/quasiliteral/ES53Rewriter.java View 2 3 4 5 6 7 8 9 10 11 18 chunks +159 lines, -193 lines 0 comments Download
M src/com/google/caja/parser/quasiliteral/RewriterMessageType.java View 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 10
metaweta
13 years, 8 months ago (2010-08-12 17:55:39 UTC) #1
MarkM
Posting what I've got so far. I'm going sequentially and have not yet dived into ...
13 years, 8 months ago (2010-08-14 01:39:18 UTC) #2
MarkM
Comments only on your latest delta. http://codereview.appspot.com/1955042/diff/13005/6006 File src/com/google/caja/es53.js (right): http://codereview.appspot.com/1955042/diff/13005/6006#newcode3745 src/com/google/caja/es53.js:3745: Date.prototype.DefineOwnProperty___('now', { Why ...
13 years, 8 months ago (2010-08-14 02:45:15 UTC) #3
MarkM
Still not done with new/old taming methods. In the meantime... http://codereview.appspot.com/1955042/diff/14001/15001 File src/com/google/caja/es53.js (right): http://codereview.appspot.com/1955042/diff/14001/15001#newcode3785 ...
13 years, 8 months ago (2010-08-14 03:23:29 UTC) #4
MarkM
http://codereview.appspot.com/1955042/diff/14001/15001 File src/com/google/caja/es53.js (right): http://codereview.appspot.com/1955042/diff/14001/15001#newcode4158 src/com/google/caja/es53.js:4158: * In order for this fault handler to get ...
13 years, 8 months ago (2010-08-15 00:28:07 UTC) #5
metaweta
http://codereview.appspot.com/1955042/diff/13005/6006 File src/com/google/caja/es53.js (left): http://codereview.appspot.com/1955042/diff/13005/6006#oldcode1743 src/com/google/caja/es53.js:1743: function readImport(module_imports, name, opt_permitsUsed) { On 2010/08/14 01:39:18, MarkM ...
13 years, 8 months ago (2010-08-16 23:15:27 UTC) #6
MarkM
http://codereview.appspot.com/1955042/diff/22001/23001 File src/com/google/caja/es53.js (right): http://codereview.appspot.com/1955042/diff/22001/23001#newcode3882 src/com/google/caja/es53.js:3882: set: markFunc(function (V) { exec = asFirstClass(V); }), Another ...
13 years, 8 months ago (2010-08-17 07:04:20 UTC) #7
MarkM
LGTM modulo comments (including verbal) http://codereview.appspot.com/1955042/diff/26001/27001 File src/com/google/caja/es53.js (right): http://codereview.appspot.com/1955042/diff/26001/27001#newcode2698 src/com/google/caja/es53.js:2698: Object.defineProperties(obj, opt_Properties); Just call ...
13 years, 8 months ago (2010-08-18 19:13:29 UTC) #8
MarkM
The remaining (verbal) issue is that virtualize should use configurable: false, and the configurability check ...
13 years, 8 months ago (2010-08-18 19:15:00 UTC) #9
metaweta
13 years, 8 months ago (2010-08-20 22:37:02 UTC) #10
> The remaining (verbal) issue is that virtualize should
> use configurable: false, and the configurability check
> in DefineOwnProperty should be restored.

Done.

http://codereview.appspot.com/1955042/diff/26001/27001
File src/com/google/caja/es53.js (right):

http://codereview.appspot.com/1955042/diff/26001/27001#newcode2698
src/com/google/caja/es53.js:2698: Object.defineProperties(obj, opt_Properties);
On 2010/08/18 19:13:29, MarkM wrote:
> Just call a local named function so we don't need to virtualize

Done.

http://codereview.appspot.com/1955042/diff/26001/27001#newcode3153
src/com/google/caja/es53.js:3153: function guardedVirtualize(obj, name,
opt_attrs) {
On 2010/08/18 19:13:29, MarkM wrote:
> opt_attrs?

Done.

http://codereview.appspot.com/1955042/diff/26001/27001#newcode4280
src/com/google/caja/es53.js:4280: if (guestHasOwnProperty(imports, name)) {
On 2010/08/18 19:13:29, MarkM wrote:
> strike "Own" perhaps. Please check ES5 spec.

I think the relevant clause is 10.2.1.2.1; done.
Sign in to reply to this message.

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