Changeset 67443 in webkit


Ignore:
Timestamp:
Sep 13, 2010 9:59:23 PM (14 years ago)
Author:
kinuko@chromium.org
Message:

2010-09-13 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Adam Barth.

Make FileEntry and DirectoryEntry methods accessible via Entry instance
https://bugs.webkit.org/show_bug.cgi?id=45553

FileEntry- and DirectoryEntry- specific methods must be available on Entry object based on its internal type.

Added custom toJS/toV8 implementation to Entry interface.

No new tests; test will be added later when we have complete implementation for the API.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSEntryCustom.cpp: Added. (WebCore::toJS):
  • bindings/v8/custom/V8EntryCustom.cpp: Added. (WebCore::toV8):
  • fileapi/DirectoryEntry.h: Nits fix.
  • fileapi/DirectoryEntry.idl: Added ConvertUndefinedOrNullToString to path parameter.
  • fileapi/Entry.idl: Added CustomToJS attribute.
  • fileapi/FileEntry.cpp: (WebCore::FileEntry::createWriter): (WebCore::FileEntry::file):
  • fileapi/FileEntry.h:
  • fileapi/FileEntry.idl:
Location:
trunk/WebCore
Files:
2 added
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/CMakeLists.txt

    r67423 r67443  
    15701570if (ENABLE_FILE_SYSTEM)
    15711571    LIST(APPEND WebCore_SOURCES
     1572        bindings/js/JSEntryCustom.cpp
    15721573        fileapi/DirectoryEntry.cpp
    15731574        fileapi/DirectoryReader.cpp
  • trunk/WebCore/ChangeLog

    r67441 r67443  
     12010-09-13  Kinuko Yasuda  <kinuko@chromium.org>
     2
     3        Reviewed by Adam Barth.
     4
     5        Make FileEntry and DirectoryEntry methods accessible via Entry instance
     6        https://bugs.webkit.org/show_bug.cgi?id=45553
     7
     8        FileEntry- and DirectoryEntry- specific methods must be available on Entry object based on its internal type.
     9
     10        Added custom toJS/toV8 implementation to Entry interface.
     11
     12        No new tests; test will be added later when we have complete implementation for the API.
     13
     14        * CMakeLists.txt:
     15        * GNUmakefile.am:
     16        * WebCore.gypi:
     17        * WebCore.pro:
     18        * WebCore.vcproj/WebCore.vcproj:
     19        * WebCore.xcodeproj/project.pbxproj:
     20        * bindings/js/JSEntryCustom.cpp: Added.
     21        (WebCore::toJS):
     22        * bindings/v8/custom/V8EntryCustom.cpp: Added.
     23        (WebCore::toV8):
     24        * fileapi/DirectoryEntry.h: Nits fix.
     25        * fileapi/DirectoryEntry.idl: Added ConvertUndefinedOrNullToString to path parameter.
     26        * fileapi/Entry.idl: Added CustomToJS attribute.
     27        * fileapi/FileEntry.cpp:
     28        (WebCore::FileEntry::createWriter):
     29        (WebCore::FileEntry::file):
     30        * fileapi/FileEntry.h:
     31        * fileapi/FileEntry.idl:
     32
    1332010-09-13  Ryosuke Niwa  <rniwa@webkit.org>
    234
  • trunk/WebCore/GNUmakefile.am

    r67423 r67443  
    700700        WebCore/bindings/js/JSDOMWrapper.h \
    701701        WebCore/bindings/js/JSElementCustom.cpp \
     702        WebCore/bindings/js/JSEntryCustom.cpp \
    702703        WebCore/bindings/js/JSEventCustom.cpp \
    703704        WebCore/bindings/js/JSEventListener.cpp \
  • trunk/WebCore/WebCore.gypi

    r67423 r67443  
    582582            'bindings/js/JSDOMWrapper.h',
    583583            'bindings/js/JSElementCustom.cpp',
     584            'bindings/js/JSEntryCustom.cpp',
    584585            'bindings/js/JSEventCustom.cpp',
    585586            'bindings/js/JSEventListener.cpp',
     
    766767            'bindings/v8/custom/V8DocumentCustom.cpp',
    767768            'bindings/v8/custom/V8ElementCustom.cpp',
     769            'bindings/v8/custom/V8EntryCustom.cpp',
    768770            'bindings/v8/custom/V8EventCustom.cpp',
    769771            'bindings/v8/custom/V8EventSourceConstructor.cpp',
  • trunk/WebCore/WebCore.pro

    r67423 r67443  
    29402940
    29412941    SOURCES += \
     2942        bindings/js/JSEntryCustom.cpp \
    29422943        fileapi/DirectoryEntry.cpp \
    29432944        fileapi/DirectoryReader.cpp \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r67423 r67443  
    4668546685                                </File>
    4668646686                                <File
     46687                                        RelativePath="..\bindings\js\JSEntryCustom.cpp"
     46688                                        >
     46689                                </File>
     46690                                <File
    4668746691                                        RelativePath="..\bindings\js\JSImageConstructor.cpp"
    4668846692                                        >
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r67434 r67443  
    23852385                893C47BB1238A0A9002B3D86 /* JSFileWriterCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 893C47B91238A0A9002B3D86 /* JSFileWriterCallback.cpp */; };
    23862386                893C47BC1238A0A9002B3D86 /* JSFileWriterCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 893C47BA1238A0A9002B3D86 /* JSFileWriterCallback.h */; };
     2387                893C47CC123EEBA2002B3D86 /* JSEntryCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 893C47CA123EEBA2002B3D86 /* JSEntryCustom.cpp */; };
    23872388                89878552122CA064003AABDA /* DirectoryEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 89878539122CA064003AABDA /* DirectoryEntry.cpp */; };
    23882389                89878553122CA064003AABDA /* DirectoryEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 8987853A122CA064003AABDA /* DirectoryEntry.h */; };
     
    82898290                893C47B91238A0A9002B3D86 /* JSFileWriterCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFileWriterCallback.cpp; sourceTree = "<group>"; };
    82908291                893C47BA1238A0A9002B3D86 /* JSFileWriterCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFileWriterCallback.h; sourceTree = "<group>"; };
     8292                893C47CA123EEBA2002B3D86 /* JSEntryCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEntryCustom.cpp; sourceTree = "<group>"; };
    82918293                89878539122CA064003AABDA /* DirectoryEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectoryEntry.cpp; path = fileapi/DirectoryEntry.cpp; sourceTree = "<group>"; };
    82928294                8987853A122CA064003AABDA /* DirectoryEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryEntry.h; path = fileapi/DirectoryEntry.h; sourceTree = "<group>"; };
     
    1637516377                                652FBBBB0DE27CB60001D386 /* JSDOMWindowCustom.h */,
    1637616378                                BC2ED5540C6B9BD300920BFF /* JSElementCustom.cpp */,
     16379                                893C47CA123EEBA2002B3D86 /* JSEntryCustom.cpp */,
    1637716380                                BCEFAF4D0C317E6900FA81F6 /* JSEventCustom.cpp */,
    1637816381                                BC275B8011C5D2B400C9206C /* JSEventSourceCustom.cpp */,
     
    2303223035                                893C47BB1238A0A9002B3D86 /* JSFileWriterCallback.cpp in Sources */,
    2303323036                                93E2A306123E9DC0009FE12A /* HTMLParserIdioms.cpp in Sources */,
     23037                                893C47CC123EEBA2002B3D86 /* JSEntryCustom.cpp in Sources */,
    2303423038                        );
    2303523039                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/fileapi/DirectoryEntry.h

    r66586 r67443  
    5555
    5656    PassRefPtr<DirectoryReader> createReader();
    57     void getFile(const String& path, PassRefPtr<Flags> options = 0, PassRefPtr<EntryCallback> successCallback = 0, PassRefPtr<ErrorCallback> errorCallback = 0);
    58     void getDirectory(const String& path, PassRefPtr<Flags> options = 0, PassRefPtr<EntryCallback> successCallback = 0, PassRefPtr<ErrorCallback> errorCallback = 0);
     57    void getFile(const String& path, PassRefPtr<Flags> = 0, PassRefPtr<EntryCallback> = 0, PassRefPtr<ErrorCallback> = 0);
     58    void getDirectory(const String& path, PassRefPtr<Flags> = 0, PassRefPtr<EntryCallback> = 0, PassRefPtr<ErrorCallback> = 0);
    5959
    6060private:
  • trunk/WebCore/fileapi/DirectoryEntry.idl

    r66586 r67443  
    3636    ] DirectoryEntry : Entry {
    3737        DirectoryReader createReader();
    38         void getFile(in DOMString path, in [Optional] Flags options, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
    39         void getDirectory(in DOMString path, in [Optional] Flags options, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
     38        void getFile(in [ConvertUndefinedOrNullToNullString] DOMString path, in [Optional] Flags flags, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
     39        void getDirectory(in [ConvertUndefinedOrNullToNullString] DOMString path, in [Optional] Flags flags, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
    4040    };
    4141}
  • trunk/WebCore/fileapi/Entry.idl

    r67147 r67443  
    3131module storage {
    3232    interface [
    33         Conditional=FILE_SYSTEM
     33        Conditional=FILE_SYSTEM,
     34        CustomToJS
    3435    ] Entry {
    3536        readonly attribute boolean isFile;
     
    4041
    4142        void getMetadata(in [Optional, Callback] MetadataCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
    42         void moveTo(in Entry parent, in [Optional] DOMString name, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
    43         void copyTo(in Entry parent, in [Optional] DOMString name, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
     43        void moveTo(in Entry parent, in [Optional, ConvertUndefinedOrNullToNullString] DOMString name, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
     44        void copyTo(in Entry parent, in [Optional, ConvertUndefinedOrNullToNullString] DOMString name, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
    4445        void remove(in [Optional, Callback] VoidCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
    4546        void getParent(in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
  • trunk/WebCore/fileapi/FileEntry.cpp

    r66586 r67443  
    3434#if ENABLE(FILE_SYSTEM)
    3535
     36#include "FileCallback.h"
     37#include "FileWriterCallback.h"
     38
    3639namespace WebCore {
    3740
     
    4144}
    4245
     46#if ENABLE(FILE_WRITER)
     47void FileEntry::createWriter(PassRefPtr<FileWriterCallback>, PassRefPtr<ErrorCallback>)
     48{
     49    // FIXME: to be implemented.
     50}
     51#endif
     52
     53void FileEntry::file(PassRefPtr<FileCallback>, PassRefPtr<ErrorCallback>)
     54{
     55    // FIXME: to be implemented.
     56}
     57
    4358} // namespace
    4459
  • trunk/WebCore/fileapi/FileEntry.h

    r66586 r67443  
    3535
    3636#include "Entry.h"
     37#include "FileCallback.h"
     38#include "FileWriterCallback.h"
    3739
    3840namespace WebCore {
     
    4648        return adoptRef(new FileEntry(fileSystem, fullPath));
    4749    }
     50
     51#if ENABLE(FILE_WRITER)
     52    void createWriter(PassRefPtr<FileWriterCallback>, PassRefPtr<ErrorCallback> = 0);
     53#endif
     54    void file(PassRefPtr<FileCallback>, PassRefPtr<ErrorCallback> = 0);
     55
    4856    virtual bool isFile() const { return true; }
    4957
  • trunk/WebCore/fileapi/FileEntry.idl

    r66586 r67443  
    3535        GenerateToJS
    3636    ] FileEntry : Entry {
     37#if defined(ENABLE_FILE_WRITER) && ENABLE_FILE_WRITER
     38        void createWriter(in [Callback] FileWriterCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
     39#endif
     40        void file(in [Callback] FileCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
    3741    };
    3842}
Note: See TracChangeset for help on using the changeset viewer.