OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 30 matching lines...) Expand all Loading... | |
41 namespace WTF { template <typename T> class PassOwnPtr; } | 41 namespace WTF { template <typename T> class PassOwnPtr; } |
42 #endif | 42 #endif |
43 | 43 |
44 namespace blink { | 44 namespace blink { |
45 | 45 |
46 class BlobData; | 46 class BlobData; |
47 | 47 |
48 class WebBlobData : public WebNonCopyable { | 48 class WebBlobData : public WebNonCopyable { |
49 public: | 49 public: |
50 struct Item { | 50 struct Item { |
51 enum { TypeData, TypeFile, TypeBlob, TypeFileSystemURL } type; | 51 enum Type { TypeData, TypeFile, TypeBlob, TypeFileSystemURL } type; |
jochen (gone - plz use gerrit)
2015/06/03 10:43:30
why this change?
dmurph
2015/06/03 17:54:30
I would like to be able to reference this enum val
| |
52 WebThreadSafeData data; | 52 WebThreadSafeData data; |
53 WebString blobUUID; | 53 WebString blobUUID; |
54 WebString filePath; | 54 WebString filePath; |
55 WebURL fileSystemURL; | 55 WebURL fileSystemURL; |
56 long long offset; | 56 long long offset; |
57 long long length; // -1 means go to the end of the file/blob. | 57 long long length; // -1 means go to the end of the file/blob. |
58 double expectedModificationTime; // 0.0 means that the time is not set. | 58 double expectedModificationTime; // 0.0 means that the time is not set. |
59 }; | 59 }; |
60 | 60 |
61 BLINK_PLATFORM_EXPORT WebBlobData(); | 61 BLINK_PLATFORM_EXPORT WebBlobData(); |
62 BLINK_PLATFORM_EXPORT ~WebBlobData(); | 62 BLINK_PLATFORM_EXPORT ~WebBlobData(); |
63 | 63 |
64 bool isNull() const { return !m_private.get(); } | 64 bool isNull() const { return !m_private.get(); } |
65 | 65 |
66 // Returns the number of items. | 66 // Returns the number of items. |
67 BLINK_PLATFORM_EXPORT size_t itemCount() const; | 67 BLINK_PLATFORM_EXPORT size_t itemCount() const; |
68 | 68 |
69 // Retrieves the values of the item at the given index. Returns false if | 69 // Retrieves the values of the item at the given index. Returns false if |
70 // index is out of bounds. | 70 // index is out of bounds. |
71 // This call is single use only per index. The memory ownership is | |
72 // transfered to the result in the case of memory items. A second call with | |
73 // the same index will result in null data. | |
74 // TODO(dmurph): change the name to 'takeItemAt' | |
71 BLINK_PLATFORM_EXPORT bool itemAt(size_t index, Item& result) const; | 75 BLINK_PLATFORM_EXPORT bool itemAt(size_t index, Item& result) const; |
72 | 76 |
73 BLINK_PLATFORM_EXPORT WebString contentType() const; | 77 BLINK_PLATFORM_EXPORT WebString contentType() const; |
74 | 78 |
75 #if INSIDE_BLINK | 79 #if INSIDE_BLINK |
76 BLINK_PLATFORM_EXPORT WebBlobData(const WTF::PassOwnPtr<BlobData>&); | 80 BLINK_PLATFORM_EXPORT WebBlobData(const WTF::PassOwnPtr<BlobData>&); |
77 BLINK_PLATFORM_EXPORT WebBlobData& operator=(const WTF::PassOwnPtr<BlobData> &); | 81 BLINK_PLATFORM_EXPORT WebBlobData& operator=(const WTF::PassOwnPtr<BlobData> &); |
78 BLINK_PLATFORM_EXPORT operator WTF::PassOwnPtr<BlobData>(); | 82 BLINK_PLATFORM_EXPORT operator WTF::PassOwnPtr<BlobData>(); |
79 #endif | 83 #endif |
80 | 84 |
81 private: | 85 private: |
82 WebPrivateOwnPtr<BlobData> m_private; | 86 WebPrivateOwnPtr<BlobData> m_private; |
83 }; | 87 }; |
84 | 88 |
85 } // namespace blink | 89 } // namespace blink |
86 | 90 |
87 #endif // WebBlobData_h | 91 #endif // WebBlobData_h |
OLD | NEW |