Limit the time spent on a single iteration of PhishingDOMFeatureExtractor.

With this change, the feature extractor will keep track of how long it has been
working, and if it exceeds a predefined time limit, it will pause and post a
task to continue extraction.  This will allow other MessageLoop tasks to run on
the render thread.  There is also a total time limit, after which the extractor
will give up altogether -- this is a sanity check in case of a bug or an
especially large page.  Also includes some UMA histograms so that we can see
how well this performs in practice.

TEST=PhishingDOMFeatureExtractorTest.Continuation
BUG=none

Review URL: http://codereview.chromium.org/3130039

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57243 0039d316-1c4b-4281-b951-d872f2087c98
5 files changed