• dcheng's avatar
    Refactor WindowProxy into Local and Remote subclasses. · 690c3cf2
    dcheng authored
    WindowProxy for remote frames will soon use remote contexts to avoid
    the overhead of instantiating a full v8::Context. As preparation,
    separate the logic for WindowProxy into LocalFrame and RemoteFrame
    versions to make it obvious what's used in each path.
    
    To avoid adding virtual calls to the fast path, common members such
    as the lifecycle state and the global proxy have been moved to the
    base class. When the WindowProxy is already initialized, this avoids
    the cost of any virtual calls.
    
    Future CLs will:
    - Convert RemoteWindowProxy to use v8::Context::NewRemoteContext
    - Merge LocalWindowProxyManager back into ScriptController
    - Clean up the interface for transferring global objects
    - Clean up the layering between WindowProxy and its subclasses
    
    BUG=527190
    
    Review-Url: https://codereview.chromium.org/2620313002
    Cr-Commit-Position: refs/heads/master@{#442948}
    690c3cf2
bindings.gni 12.7 KB