• tkent@chromium.org's avatar
    Revert of DatabaseBackend objects should be destructed in the originator... · 9293bf20
    tkent@chromium.org authored
    Revert of DatabaseBackend objects should be destructed in the originator thread (https://codereview.chromium.org/183883005/)
    
    Reason for revert:
    Unnecessary change
    
    
    Original issue's description:
    > DatabaseBackend objects should be destructed in the originator thread.
    > 
    > Before this CL, it was possible that DatabaseThread held the last
    > references of DatabaseBackend objects and it was released in the
    > database thread.
    > We must destruct objects in the originator thread in Oilpan.
    > 
    > Implementation:
    > DatabaseThread::recordDatabaseClosed doesn't remove a RefPtr<
    > DatabaseBackend>, and we release RefPtr<DatabaseBackend> objects
    > in ~DatabaseThread, which is executed in the main/worker thread.
    > Note that there are no ways to close a database explicitly, and
    > DatabaseBackend objects are never destructed before their
    > DatabaseContext is stopped. DatabaseThread::recordDatabaseClosed
    > is actually unnecessary.
    > 
    > DatabaseThread doesn't know DatabaseBackend open status any longer.
    > We remove DatabaseThread::isDatabaseOpen, and its existing
    > callsites use DatabaseBackend::open() instead.
    > 
    > 
    > BUG=347902
    > TEST=none; no visible behavior changes hopefully.
    > R=michaeln@chromium.org
    > 
    > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168362
    
    TBR=michaeln@chromium.org,oilpan-reviews@chromium.org
    NOTREECHECKS=true
    NOTRY=true
    BUG=347902
    
    Review URL: https://codereview.chromium.org/178103007
    
    git-svn-id: svn://svn.chromium.org/blink/trunk@168431 bbb929c8-8fbe-4397-9dbb-9b2b20218538
    9293bf20
DatabaseThread.h 3.41 KB