Delete GenericChangeProcessor synchronously when possible.
ShareChangeProcessor is responsible for deleting GenericChangeProcessor. Because ShareChangeProcessor's dtor may be invoked by either the UI thread or the model type thread, it must take care to ensure GenericChangeProcessor is destroyed on the model type thread. For some model types, the model type thread *is* the UI thread. In this case it's preferable to destroy the GenericChangeProcessor directly in ShareChangeProcessor's dtor. Why does it matter? It matters because we want to ensure a model type's GenericChangeProcessor and its resources have been destroyed before the model type completes its KeyedService::Shutdown method. BUG=425781 Review URL: https://codereview.chromium.org/671603005 Cr-Commit-Position: refs/heads/master@{#300720}
Showing
Please register or sign in to comment