Oilpan: Prepare to move SQLError to oilpan heap.
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
Showing
Please register or sign in to comment