DescriptionThis exercises the cause of, and detects the symptom of,
<https://code.google.com/p/google-caja/issues/detail?id=1789>, and so
should catch future occurrences of similar bugs in unrelated objects.
* Define a new type of invocation, PLAIN_CALL, which means exactly f()
as opposed to Function.prototype.apply.call(f, undefined, []), which
does not trigger the bug. In order to do varargs calls without using
apply, we create and evaluate code containing a call with the needed
number of arguments.
* Perform at least one PLAIN_CALL on all functions whose toString is
"[native code]".
* Consider encountering the taming or guest frame's feral "window"
object to be a problem.
* Explicitly mark Function as expected to throw in ES5/3 (needed because
the new plain-call support invokes it despite being G.none in
functionArgs).
@r5574
Patch Set 1 #
Total comments: 4
Patch Set 2 : Scan with "plain" function calls and check for window leaks. #
Total comments: 3
Patch Set 3 : Scan with "plain" function calls and check for window leaks. #Patch Set 4 : Scan with "plain" function calls and check for window leaks. #
MessagesTotal messages: 11
|
||||||||||||||||||||||||||||