v8::Null(isolate) crashes if we pass a NULL isolate. Thus we are planning to replace v8::Null()s in a following way: - Implement V8Bindings::v8Null(isolate). v8Null(isolate) does the NULL check. If isolate is NULL, v8Null(isolate) calls v8::Null(). Otherwise, v8Null(isolate) calls v8::Null(isolate). - In V8 bindings, we replace v8::Null() with v8::Null(isolate) for a non-optional 'isolate' parameter. (e.g. void foo(..., Isolate* isolate) { v8::Null(); } ) - In V8 bindings, we replace v8::Null() with v8Null(isolate) for an optional 'isolate' parameter. (e.g. void foo(..., Isolate* isolate = 0) { v8::Null(); } ) However, currently we cannot do the replacement mechanically, since some code pass NULL to a non-optional 'isolate' parameter. In other words, currently "non-optional" does not guarantee that 'isolate' is not NULL. In this bug, we remove all the code that passes NULL to a non-optional 'isolate' parameter. This will enable us to achieve the replacement mechanically.
Created attachment 144428 [details] Patch
Created attachment 144429 [details] patch for landing
Created attachment 144430 [details] patch for landing
Comment on attachment 144430 [details] patch for landing Clearing flags on attachment: 144430 Committed r118722: <http://trac.webkit.org/changeset/118722>