12010-09-17 Eric Uhrhane <ericu@chromium.org>
2
3 Reviewed by NOBODY (OOPS!).
4
5 Add Chromium implementation for FileWriter
6 https://bugs.webkit.org/show_bug.cgi?id=44361
7
8 No new tests; the implementation's not yet far enough along for that.
9
10 This makes a chain of contruction-and-linking-up for various sorts of
11 FileWriter interfaces to call through to Chromium, and for various
12 sorts of FileWriterClients to call back, with object ownership always
13 pointing towards the Chromium API. That is, the DOM object owns an
14 AsyncFileWriter, which owns its implementation object, and the reverse
15 (client) direction is raw pointers.
16
17 File metadata is looked up before the FileWriter is returned, so that
18 we know the file exists and can cache its length.
19
20 The WebKit/chromium interface here is modeled after that of the
21 FileSystem.
22
23 * public/WebFileInfo.h:
24 (WebKit::WebFileInfo::WebFileInfo):
25 * src/AsyncFileSystemChromium.cpp:
26 (WebCore::FileWriterHelperCallbacks::FileWriterHelperCallbacks):
27 (WebCore::FileWriterHelperCallbacks::didSucceed):
28 (WebCore::FileWriterHelperCallbacks::didReadMetadata):
29 (WebCore::FileWriterHelperCallbacks::didReadDirectory):
30 (WebCore::FileWriterHelperCallbacks::didOpenFileSystem):
31 (WebCore::FileWriterHelperCallbacks::didCreateFileWriter):
32 (WebCore::FileWriterHelperCallbacks::didFail):
33 (WebCore::AsyncFileSystemChromium::createWriter):
34 * src/AsyncFileSystemChromium.h:
35 * src/AsyncFileWriterChromium.cpp:
36 (WebCore::AsyncFileWriterChromium::setWebFileWriter):
37 (WebCore::AsyncFileWriterChromium::write):
38 (WebCore::AsyncFileWriterChromium::didFail):
39 * src/AsyncFileWriterChromium.h:
40 * src/WebFileSystemCallbacksImpl.h:
41