To kill V8Proxy, we can move reportUnsafeAccessTo() from V8Proxy to BindingSecurity.
Created attachment 159685 [details] Patch
Comment on attachment 159685 [details] Patch Attachment 159685 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/13543788
Comment on attachment 159685 [details] Patch Attachment 159685 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/13556093
Comment on attachment 159685 [details] Patch Attachment 159685 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/13545547
Comment on attachment 159685 [details] Patch Attachment 159685 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13550375
Comment on attachment 159685 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=159685&action=review This isn't quite right. BindingSecurity.cpp is part of the "generic bindings", which means it's shared by JavaScriptCore and V8. JavaScriptCore has a much better implementation of this function. I'd like to delete the V8 implementation and share the better JSC implementation. I'll try to get that done in the next day or two. > Source/WebCore/bindings/generic/BindingSecurity.cpp:86 > + Frame* source = firstFrame(BindingState::instance()); The proximate problem is that you can't use BindingState::instance() outside of V8 because in JavaScriptCore, BindingState is the ExecState and JavaScriptCore doesn't keep the ExecState in a static the same way that V8 does.
(In reply to comment #6) > This isn't quite right. BindingSecurity.cpp is part of the "generic bindings", which means it's shared by JavaScriptCore and V8. JavaScriptCore has a much better implementation of this function. I'd like to delete the V8 implementation and share the better JSC implementation. I'll try to get that done in the next day or two. Makes sense. Then let me wait for your fix. (I'm not in a hurry:) Marking INVALID.