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
Make PushIfNeeded do what is says.

PushIfNeeded was pushing unconditionally when either the source or destination directory included a symbolic link it its path. This CL fixes that.

NOTRY=True
BUG=314578

Review URL: https://codereview.chromium.org/57633003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233387 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 233387
[Files.app] Enable the suggest an app dialog by default.

The M32 has branched. This patch enables suggest-an-apps dialog by reverting r232715.

BUG=313877
TEST=none
TBR=mtomasz@chromium.org

Review URL: https://codereview.chromium.org/59223004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233389 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 233389
Reland 232311: Embeds offline voice recognizer plugin and its manager to app-list start page.

r232311 was reverted due to a crash bug at shutdown. This is simply a
reland because the crash bug has been fixed by r233015. See also
crbug.com/314567

BUG=312365, 314567
TBR=xiyuan@chromium.org
TEST=manually

Review URL: https://codereview.chromium.org/59283003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233390 0039d316-1c4b-4281-b951-d872f2087c98
Move chrome/common/extensions/incognito_handler.h to src/extensions

Part of moving ExtensionProcessManager to src/extensions

BUG=313481
TEST=compiles
R=yoz@chromium.org
TBR=finnur@chromium.org for chrome/browser/ui/webui/extensions

Review URL: https://codereview.chromium.org/61823004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233391 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 233391