• Sorin Jianu's avatar
    Only make the Windows COM server an AppServer singleton. · b38e4db9
    Sorin Jianu authored
    Making all App instances singletons appears to have been
    a mistake. Singletons in Chromium are typically leaky
    singletons, and thus, destructors for App instance don't
    run, breaking expectations and creating confusion.
    
    This CL makes all the App instances normal ref counted
    class instances, execept for the Windows COM server, which
    remains a singleton because of a design quirk: coclass
    instances created by COM need a way to refer the COM
    App server class (to talk to the update service, for example).
    We could not find a way to pass the App instance to
    coclasses, and so, the need for the singleton.
    
    TBR: waffles@chromium.org
    Bug: 1064498
    Change-Id: I2872aa1821fcf27b74f22236483cfc11ea7c3059
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2252462Reviewed-by: default avatarSorin Jianu <sorin@chromium.org>
    Commit-Queue: Sorin Jianu <sorin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#780057}
    b38e4db9
install_app.cc 29.5 KB