Refactor RecursiveOperationDelegate to support PostProcessDirectory.
This is refactoring CL as follows:
1) RecursiveOperationDelegate assumes the root is a file at first, and if the
ProcessFile is failed, actually starts recursive operation. This is what
CopyOrMoveOperationDelegate does.
2) Introduces PostProcessDirectory, which makes RecursiveOperationDelegate
simpler (done in a following CL), and is useful to implement timestamp
preserving.
3) Adds unittests for the RecursiveOperationDelegate. For the testing, exports
RecursiveOperationDelegate.
BUG=282107
TEST=Ran content_unittests and unit_tests
Review URL: https://chromiumcodereview.appspot.com/
23950012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223988 0039d316-1c4b-4281-b951-d872f2087c98