Bug 26966

Summary: [V8] Move security functions from V8Proxy to V8SecurityManager
Product: WebKit Reporter: Adam Barth <abarth>
Component: WebCore JavaScriptAssignee: Nobody <webkit-unassigned>
Status: RESOLVED LATER    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   

Description Adam Barth 2009-07-04 08:33:31 PDT
My initial impression of which functions to move are:

        static DOMWindow* retrieveWindow();
        static DOMWindow* retrieveWindow(v8::Handle<v8::Context>);
        static V8Proxy* retrieve();
        static V8Proxy* retrieve(Frame*);
        static V8Proxy* retrieve(ScriptExecutionContext*);
        static Frame* retrieveFrame();
        static Frame* retrieveFrame(v8::Handle<v8::Context>);
        static Frame* retrieveFrameForEnteredContext();
        static Frame* retrieveFrameForCurrentContext();
        static Frame* retrieveFrameForCallingContext();
        static v8::Local<v8::Context> context(Frame*);
        static v8::Local<v8::Context> currentContext();
        static bool canAccessFrame(Frame*, bool reportError);
        static bool checkNodeSecurity(Node*);
        static bool canAccessPrivate(DOMWindow*);

I think there are some more hidden elsewhere.

Also, I would hope we can cut down on the number of retrieve* functions.  How is a developer supposed to know which one to use?