diff options
author | mtomasz@chromium.org <mtomasz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-28 12:12:31 +0000 |
---|---|---|
committer | mtomasz@chromium.org <mtomasz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-28 12:12:31 +0000 |
commit | 243c2111f4feaa6d4acf092d6562b6ef4b177624 (patch) | |
tree | 33e4fc1a5d751a15b2efc696fe85d1fa184f94c2 /chrome/chrome_browser_chromeos.gypi | |
parent | 3f507a20e675735678b5dc9ba2929e2bb49e7bbe (diff) | |
download | chromium_src-243c2111f4feaa6d4acf092d6562b6ef4b177624.zip chromium_src-243c2111f4feaa6d4acf092d6562b6ef4b177624.tar.gz chromium_src-243c2111f4feaa6d4acf092d6562b6ef4b177624.tar.bz2 |
[fsp] Refactor handling operations.
This CL reorganizes code before adding the read directory implementation.
First of all, operations are now extracted to separate classes, to avoid huge
file_system_provider.cc. Such operation classes are now arguments for the
RequestManager which replaces the former pair of [success, error] callbacks.
Such operation classes are now easy to test, because of ability to cut out
the EventRouter by using Operation::SetDispatchEventImplForTests.
Finally, a RequestValue class has been introduced, which replaces former
base::DictionaryValue. The former solution was not good, since we already
parse the base::Value in api function implementations (using generated from
IDL parsers). So, passing a raw base::Value and later parsing is again is an
overkill.
The RequestValue class is a trivial wrapper for all kinds of IDL values, which
can be passed through the RequestManager to Operation classes.
TEST=unit_tests, browser_tests: *FileSystemProvider*
BUG=248427
Review URL: https://codereview.chromium.org/257493004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266516 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/chrome_browser_chromeos.gypi')
-rw-r--r-- | chrome/chrome_browser_chromeos.gypi | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/chrome_browser_chromeos.gypi b/chrome/chrome_browser_chromeos.gypi index 58dec31..2ba4b6a 100644 --- a/chrome/chrome_browser_chromeos.gypi +++ b/chrome/chrome_browser_chromeos.gypi @@ -379,6 +379,10 @@ 'browser/chromeos/file_system_provider/mount_path_util.cc', 'browser/chromeos/file_system_provider/mount_path_util.h', 'browser/chromeos/file_system_provider/observer.h', + 'browser/chromeos/file_system_provider/operations/operation.cc', + 'browser/chromeos/file_system_provider/operations/operation.h', + 'browser/chromeos/file_system_provider/operations/unmount.cc', + 'browser/chromeos/file_system_provider/operations/unmount.h', 'browser/chromeos/file_system_provider/provided_file_system.cc', 'browser/chromeos/file_system_provider/provided_file_system.h', 'browser/chromeos/file_system_provider/provided_file_system_info.cc', @@ -386,6 +390,8 @@ 'browser/chromeos/file_system_provider/provided_file_system_interface.h', 'browser/chromeos/file_system_provider/request_manager.cc', 'browser/chromeos/file_system_provider/request_manager.h', + 'browser/chromeos/file_system_provider/request_value.cc', + 'browser/chromeos/file_system_provider/request_value.h', 'browser/chromeos/file_system_provider/service.cc', 'browser/chromeos/file_system_provider/service.h', 'browser/chromeos/file_system_provider/service_factory.cc', |