Reviewers: MarkM,

Description:
Per <https://code.google.com/p/google-caja/issues/detail?id=1836>:
In SES, some problems are marked canRepair: false, not because no
possible repair exists, but because we no longer expect to see that
problem and so the repair code is not worth keeping around (r5524).

Add a comment explaining in each case why no repair is present, as a
best guess based on the history of each problem record.

Please review this at https://codereview.appspot.com/13242047/

Affected files:
  M     src/com/google/caja/ses/repairES5.js


Index: src/com/google/caja/ses/repairES5.js
===================================================================
--- src/com/google/caja/ses/repairES5.js        (revision 5579)
+++ src/com/google/caja/ses/repairES5.js        (working copy)
@@ -3500,7 +3500,7 @@
       test: test_GLOBAL_LEAKS_FROM_GLOBAL_FUNCTION_CALLS,
       repair: void 0,
       preSeverity: severities.NOT_ISOLATED,
-      canRepair: false,
+      canRepair: false,  // Not repairable
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=64250'],
       sections: ['10.2.1.2', '10.2.1.2.6'],
       tests: ['10.4.3-1-8gs']
@@ -3509,7 +3509,7 @@
       id: 'GLOBAL_LEAKS_FROM_ANON_FUNCTION_CALLS',
       description: 'Global object leaks from anonymous function calls',
       test: test_GLOBAL_LEAKS_FROM_ANON_FUNCTION_CALLS,
-      repair: void 0,
+      repair: void 0,  // Not repairable
       preSeverity: severities.NOT_ISOLATED,
       canRepair: false,
       urls: [],
@@ -3522,7 +3522,7 @@
       test: test_GLOBAL_LEAKS_FROM_STRICT_THIS,
       repair: void 0,
       preSeverity: severities.NOT_ISOLATED,
-      canRepair: false,
+      canRepair: false,  // Not repairable
       urls: [],
       sections: ['10.4.3'],
       tests: ['10.4.3-1-8gs', '10.4.3-1-8-s']
@@ -3533,7 +3533,7 @@
       test: test_GLOBAL_LEAKS_FROM_BUILTINS,
       repair: void 0,
       preSeverity: severities.NOT_ISOLATED,
-      canRepair: false,
+      canRepair: false,  // Not attempting a repair
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=51097',
              'https://bugs.webkit.org/show_bug.cgi?id=58338',
              'https://code.google.com/p/v8/issues/detail?id=1437',
@@ -3548,7 +3548,7 @@
       test: test_GLOBAL_LEAKS_FROM_GLOBALLY_CALLED_BUILTINS,
       repair: void 0,
       preSeverity: severities.NOT_ISOLATED,
-      canRepair: false,
+      canRepair: false,  // Not attempting a repair
       urls: [],
       sections: ['10.2.1.2', '10.2.1.2.6', '15.2.4.4'],
       tests: ['S15.2.4.4_A15']
@@ -3559,7 +3559,7 @@
       test: test_MISSING_FREEZE_ETC,
       repair: void 0,
       preSeverity: severities.NOT_OCAP_SAFE,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=55736'],
       sections: ['15.2.3.9'],
       tests: ['15.2.3.9-0-1']
@@ -3570,7 +3570,7 @@
       test: test_FUNCTION_PROTOTYPE_DESCRIPTOR_LIES,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=1530',
              'https://code.google.com/p/v8/issues/detail?id=1570'],
       sections: ['15.2.3.3', '15.2.3.6', '15.3.5.2'],
@@ -3582,7 +3582,7 @@
       test: test_MISSING_CALLEE_DESCRIPTOR,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=55537'],
       sections: ['15.2.3.4'],
       tests: ['S15.2.3.4_A1_T1']
@@ -3593,7 +3593,7 @@
       test: test_STRICT_DELETE_RETURNS_FALSE,
       repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // Not repairable without rewriting
       urls: ['https://connect.microsoft.com/IE/feedback/details/' +
                '685432/strict-delete-sometimes-returns-false-' +
                'rather-than-throwing'],
@@ -3623,7 +3623,7 @@
       test: test_REGEXP_TEST_EXEC_UNSAFE,
       repair: void 0,
       preSeverity: severities.NOT_OCAP_SAFE,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=1393',
              'https://code.google.com/p/chromium/issues/detail?id=75740',
              'https://bugzilla.mozilla.org/show_bug.cgi?id=635017',
@@ -3637,7 +3637,7 @@
       test: test_MISSING_BIND,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=26382',
              'https://bugs.webkit.org/show_bug.cgi?id=42371'],
       sections: ['15.3.4.5'],
@@ -3649,7 +3649,7 @@
       test: test_BIND_CALLS_APPLY,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=892',
              'https://code.google.com/p/v8/issues/detail?id=828'],
       sections: ['15.3.4.5.1'],
@@ -3659,9 +3659,9 @@
       id: 'BIND_CANT_CURRY_NEW',
       description: 'Function.prototype.bind does not curry construction',
       test: test_BIND_CANT_CURRY_NEW,
-      repair: void 0, // JS-based repair essentially impossible
+      repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // JS-based repair essentially impossible
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=26382#c29'],
       sections: ['15.3.4.5.2'],
       tests: ['S15.3.4.5_A5']
@@ -3694,7 +3694,7 @@
       test: test_NEED_TO_WRAP_FOREACH,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=1447'],
       sections: ['15.4.4.18'],
       tests: ['S15.4.4.18_A1', 'S15.4.4.18_A2']
@@ -3729,7 +3729,7 @@
       test: test_FORM_GETTERS_DISAPPEAR,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/chromium/issues/detail?id=94666',
              'https://code.google.com/p/v8/issues/detail?id=1651',
              'https://code.google.com/p/google-caja/issues/detail?id=1401'],
@@ -3742,7 +3742,7 @@
       test: test_ACCESSORS_INHERIT_AS_OWN,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://bugzilla.mozilla.org/show_bug.cgi?id=637994'],
       sections: ['8.6.1', '15.2.3.6'],
       tests: ['S15.2.3.6_A2']
@@ -3753,7 +3753,7 @@
       test: test_SORT_LEAKS_GLOBAL,
       repair: void 0,
       preSeverity: severities.NOT_ISOLATED,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=1360'],
       sections: ['15.4.4.11'],
       tests: ['S15.4.4.11_A8']
@@ -3764,7 +3764,7 @@
       test: test_REPLACE_LEAKS_GLOBAL,
       repair: void 0,
       preSeverity: severities.NOT_ISOLATED,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=1360',
              'https://connect.microsoft.com/IE/feedback/details/' +
                '685928/bad-this-binding-for-callback-in-string-' +
@@ -3778,7 +3778,7 @@
       test: test_CANT_GOPD_CALLER,
       repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://connect.microsoft.com/IE/feedback/details/' +
                '685436/getownpropertydescriptor-on-strict-caller-throws'],
       sections: ['15.2.3.3', '13.2', '13.2.3'],
@@ -3790,7 +3790,7 @@
       test: test_CANT_HASOWNPROPERTY_CALLER,
       repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=63398#c3'],
       sections: ['15.2.4.5', '13.2', '13.2.3'],
       tests: ['S13.2_A7_T1']
@@ -3860,7 +3860,7 @@
       test: test_BUILTIN_LEAKS_ARGUMENTS,
       repair: void 0,
       preSeverity: severities.NOT_OCAP_SAFE,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=1643',
              'https://code.google.com/p/v8/issues/detail?id=1548',
              'https://bugzilla.mozilla.org/show_bug.cgi?id=591846',
@@ -3875,7 +3875,7 @@
       test: test_BOUND_FUNCTION_LEAKS_CALLER,
       repair: void 0,
       preSeverity: severities.NOT_OCAP_SAFE,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=893',
              'https://bugs.webkit.org/show_bug.cgi?id=63398'],
       sections: ['15.3.4.5'],
@@ -3887,7 +3887,7 @@
       test: test_BOUND_FUNCTION_LEAKS_ARGUMENTS,
       repair: void 0,
       preSeverity: severities.NOT_OCAP_SAFE,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=893',
              'https://bugs.webkit.org/show_bug.cgi?id=63398'],
       sections: ['15.3.4.5'],
@@ -3899,7 +3899,7 @@
       test: test_DELETED_BUILTINS_IN_OWN_NAMES,
       repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=70207'],
       sections: ['15.2.3.4'],
       tests: []
@@ -3910,7 +3910,7 @@
       test: test_GETOWNPROPDESC_OF_ITS_OWN_CALLER_FAILS,
       repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // Long-dead bug, not worth keeping old repair around
       urls: ['https://code.google.com/p/v8/issues/detail?id=1769'],
       sections: ['13.2', '15.2.3.3'],
       tests: []
@@ -3933,7 +3933,7 @@
       test: test_PROTO_NOT_FROZEN,
       repair: void 0,
       preSeverity: severities.NOT_OCAP_SAFE,
-      canRepair: false,
+      canRepair: false,  // Not attempting a repair
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=65832',
              'https://bugs.webkit.org/show_bug.cgi?id=78438'],
       sections: ['8.6.2'],
@@ -3945,7 +3945,7 @@
       test: test_PROTO_REDEFINABLE,
       repair: void 0,
       preSeverity: severities.NOT_OCAP_SAFE,
-      canRepair: false,
+      canRepair: false,  // Not attempting a repair
       urls: ['https://bugs.webkit.org/show_bug.cgi?id=65832'],
       sections: ['8.6.2'],
       tests: ['S8.6.2_A8']
@@ -3967,7 +3967,7 @@
       test: test_STRICT_EVAL_LEAKS_GLOBAL_VARS,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // Not attempting a repair
       urls: ['https://code.google.com/p/v8/issues/detail?id=1624'],
       sections: ['10.4.2.1'],
       tests: ['S10.4.2.1_A1']
@@ -3978,7 +3978,7 @@
       test: test_STRICT_EVAL_LEAKS_GLOBAL_FUNCS,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // Not attempting a repair
       urls: ['https://code.google.com/p/v8/issues/detail?id=1624'],
       sections: ['10.4.2.1'],
       tests: ['S10.4.2.1_A1']
@@ -3989,7 +3989,7 @@
       test: test_EVAL_BREAKS_MASKING,
       repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // Not attempting a repair
       urls: ['https://code.google.com/p/v8/issues/detail?id=2396'],
       sections: ['10.2'],
       tests: [] // TODO(jasvir): Add to test262
@@ -4011,7 +4011,7 @@
       test: test_STRICT_E4X_LITERALS_ALLOWED,
       repair: void 0,
       preSeverity: severities.NOT_ISOLATED,
-      canRepair: false,
+      canRepair: false,  // Not repairable without rewriting
       urls: ['https://bugzilla.mozilla.org/show_bug.cgi?id=695577',
              'https://bugzilla.mozilla.org/show_bug.cgi?id=695579'],
       sections: [],
@@ -4023,7 +4023,8 @@
       test: test_ASSIGN_CAN_OVERRIDE_FROZEN,
       repair: repair_ASSIGN_CAN_OVERRIDE_FROZEN,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+ canRepair: false, // We actually prefer the override behavior, and the
+          // 'repair' sets a flag to take advantage of it.
       urls: ['https://code.google.com/p/v8/issues/detail?id=1169',
              'https://code.google.com/p/v8/issues/detail?id=1475',
              'https://mail.mozilla.org/pipermail/es-discuss/' +
@@ -4049,7 +4050,7 @@
       // mitigateSrcGotchas.
       preSeverity: canMitigateSrcGotchas ?
         severities.SAFE_SPEC_VIOLATION : severities.NOT_OCAP_SAFE,
-      canRepair: false,
+      canRepair: false,  // Protection is based on rewriting, not repair
       urls: ['https://code.google.com/p/v8/issues/detail?id=2779'],
       sections: ['11.4.4', '8.12.4'],
       tests: [] // TODO(jasvir): Add to test262
@@ -4113,7 +4114,7 @@
       id: 'ARRAYS_DELETE_NONCONFIGURABLE',
description: 'Setting [].length can delete non-configurable elements',
       test: test_ARRAYS_DELETE_NONCONFIGURABLE,
-      repair: void 0,
+      repair: void 0,  // Not repairable
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
       canRepair: false,
       urls: ['https://bugzilla.mozilla.org/show_bug.cgi?id=590690'],
@@ -4137,7 +4138,7 @@
       test: test_ARRAYS_MODIFY_READONLY,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // Not repairable
       urls: ['https://code.google.com/p/v8/issues/detail?id=2379'],
       sections: ['15.4.5.1.3.f'],
       tests: [] // TODO(jasvir): Add to test262
@@ -4159,7 +4160,7 @@
       test: test_FREEZE_IS_FRAME_DEPENDENT,
       repair: repair_FREEZE_IS_FRAME_DEPENDENT,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,  // repair is useful but inadequate
+      canRepair: false,  // Repair is useful but inadequate
       urls: ['https://bugzilla.mozilla.org/show_bug.cgi?id=784892',
              'https://bugzilla.mozilla.org/show_bug.cgi?id=674195',
              'https://bugzilla.mozilla.org/show_bug.cgi?id=789897'],
@@ -4172,7 +4173,7 @@
       test: test_UNEXPECTED_ERROR_PROPERTIES,
       repair: void 0,
       preSeverity: severities.NEW_SYMPTOM,
-      canRepair: false,
+      canRepair: false,  // Behavior of instances is not repairable
       urls: [],
       sections: [],
       tests: []
@@ -4195,7 +4196,7 @@
       test: test_STRICT_GETTER_BOXES,
       repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // Not repairable without rewriting
       urls: ['https://bugs.ecmascript.org/show_bug.cgi?id=284',
              'https://bugs.webkit.org/show_bug.cgi?id=79843',
              'https://connect.microsoft.com/ie/feedback/details/727027',
@@ -4211,7 +4212,7 @@
       test: test_NON_STRICT_GETTER_DOESNT_BOX,
       repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // Not repairable without rewriting
       urls: ['https://bugs.ecmascript.org/show_bug.cgi?id=284',
              'https://code.google.com/p/v8/issues/detail?id=1977',
              'https://bugzilla.mozilla.org/show_bug.cgi?id=732669'],
@@ -4224,7 +4225,7 @@
       test: test_NONCONFIGURABLE_OWN_PROTO,
       repair: void 0,
       preSeverity: severities.SAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // Behavior of instances is not repairable
       urls: ['https://code.google.com/p/v8/issues/detail?id=1310',
         
'https://mail.mozilla.org/pipermail/es-discuss/2013-March/029177.html'],
sections: [], // Not spelled out in spec, according to Brendan Eich (see
@@ -4288,7 +4289,7 @@
       test: test_SYNTAX_ERRORS_ARENT_ALWAYS_EARLY,
       repair: void 0,
       preSeverity: severities.UNSAFE_SPEC_VIOLATION,
-      canRepair: false,
+      canRepair: false,  // Not repairable
       urls: ['https://code.google.com/p/v8/issues/detail?id=2728',
              'https://code.google.com/p/google-caja/issues/detail?id=1616'],
       sections: [],


--

--- You received this message because you are subscribed to the Google Groups "Google Caja Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to