• tkent@chromium.org's avatar
    Oilpan: Prepare to move SQLError to oilpan heap. · f8333079
    tkent@chromium.org authored
    Without this CL, a SQLError object can be constructed in a database thread,
    moved to main/worker thread, and referred by JavaScript object in the
    main/worker thread.
    
    We can't move object ownership over threads in Oilpan. So, we should not
    construct SQLError objects in a database thread. Unlike the SQLResultSet case
    [1], SQLError is created by multiple classes and it's hard to make sure they
    create SQLError in a context thread.
    
    So, this CL introduce SQLErrorData, which is an immutable data container. We can
    construct a SQLErrorData object in a database thread, and move it to a context
    thread, then construct a SQLError with the SQLErrorData object.
    
    Note:
    * Change the return type of AbstractSQLStatementBackend::sqlError from
    PassRefPtr<SQLError> to SQLErrorData* because the function doesn't release the
    ownership of the SQLErrorData object.
    
    [1] https://src.chromium.org/viewvc/blink?revision=169929&view=revision
    
    BUG=347902
    
    Review URL: https://codereview.chromium.org/210833005
    
    git-svn-id: svn://svn.chromium.org/blink/trunk@169989 bbb929c8-8fbe-4397-9dbb-9b2b20218538
    f8333079
ChangeVersionWrapper.h 2.51 KB