diff options
author | cjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-06 21:59:25 +0000 |
---|---|---|
committer | cjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-06 21:59:25 +0000 |
commit | e16968e9b7cd172eced5d5f00b0a8dc7b0976568 (patch) | |
tree | dcdf429e69d3cf46690c1f0b0b89dd3c9b90bd14 /chrome/browser/extensions/api/messaging/message_service.cc | |
parent | 434105998ef26d7edee4e14f7d035c9046b912c0 (diff) | |
download | chromium_src-e16968e9b7cd172eced5d5f00b0a8dc7b0976568.zip chromium_src-e16968e9b7cd172eced5d5f00b0a8dc7b0976568.tar.gz chromium_src-e16968e9b7cd172eced5d5f00b0a8dc7b0976568.tar.bz2 |
Re-work the thread restrictions on the DOM distiller database
In the current implementation, DomDistillerDatabase cannot be
deleted on the main thread, instead the user must call ::Destroy(),
and then let the database delete itself on its task runner. This is
awkward and sort of leaks implementation details out of that class.
Second, currently the parts of DomDistillerDatabase on each thread
are doing some ad hoc method of checking their thread restrictions.
Using ThreadChecker is better, though it loses some flexibility
from checking TaskRunner::RunsTasksOnCurrentThread (maybe there
should be something like a TaskRunnerChecker for that).
Now:
1. no functions are called on DomDistillerDatabase off of the main
thread
2. DomDistillerDatabase::LevelDB enforces that function calls and
destructor all run on the same thread
3. DomDistillerDatabase can be deleted on the main thread
Review URL: https://codereview.chromium.org/56193004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233386 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/api/messaging/message_service.cc')
0 files changed, 0 insertions, 0 deletions