| OLD | NEW |
| 1 /* | 1 /* |
| 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) | 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) |
| 3 Copyright (C) 2001 Dirk Mueller <mueller@kde.org> | 3 Copyright (C) 2001 Dirk Mueller <mueller@kde.org> |
| 4 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) | 4 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 5 Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. | 5 Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. |
| 6 | 6 |
| 7 This library is free software; you can redistribute it and/or | 7 This library is free software; you can redistribute it and/or |
| 8 modify it under the terms of the GNU Library General Public | 8 modify it under the terms of the GNU Library General Public |
| 9 License as published by the Free Software Foundation; either | 9 License as published by the Free Software Foundation; either |
| 10 version 2 of the License, or (at your option) any later version. | 10 version 2 of the License, or (at your option) any later version. |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 Resource::Type type = resource.getType(); | 95 Resource::Type type = resource.getType(); |
| 96 return type == Resource::MainResource || type == Resource::Raw || type == Re
source::TextTrack || type == Resource::Media || type == Resource::Manifest || ty
pe == Resource::ImportResource; | 96 return type == Resource::MainResource || type == Resource::Raw || type == Re
source::TextTrack || type == Resource::Media || type == Resource::Manifest || ty
pe == Resource::ImportResource; |
| 97 } | 97 } |
| 98 #endif | 98 #endif |
| 99 inline RawResource* toRawResource(Resource* resource) | 99 inline RawResource* toRawResource(Resource* resource) |
| 100 { | 100 { |
| 101 ASSERT_WITH_SECURITY_IMPLICATION(!resource || isRawResource(*resource)); | 101 ASSERT_WITH_SECURITY_IMPLICATION(!resource || isRawResource(*resource)); |
| 102 return static_cast<RawResource*>(resource); | 102 return static_cast<RawResource*>(resource); |
| 103 } | 103 } |
| 104 | 104 |
| 105 class CORE_EXPORT RawResourceClient : public GarbageCollectedMixin, public Resou
rceClient { | 105 class CORE_EXPORT RawResourceClient : public ResourceClient { |
| 106 public: | 106 public: |
| 107 static bool isExpectedType(ResourceClient* client) { return client->getResou
rceClientType() == RawResourceType; } | 107 static bool isExpectedType(ResourceClient* client) { return client->getResou
rceClientType() == RawResourceType; } |
| 108 ResourceClientType getResourceClientType() const final { return RawResourceT
ype; } | 108 ResourceClientType getResourceClientType() const final { return RawResourceT
ype; } |
| 109 | 109 |
| 110 // The order of the callbacks is as follows: | 110 // The order of the callbacks is as follows: |
| 111 // [Case 1] A successful load: | 111 // [Case 1] A successful load: |
| 112 // 0+ redirectReceived() and/or dataSent() | 112 // 0+ redirectReceived() and/or dataSent() |
| 113 // 1 responseReceived() | 113 // 1 responseReceived() |
| 114 // 0-1 setSerializedCachedMetadata() | 114 // 0-1 setSerializedCachedMetadata() |
| 115 // 0+ dataReceived() or dataDownloaded(), but never both | 115 // 0+ dataReceived() or dataDownloaded(), but never both |
| 116 // 1 notifyFinished() with errorOccurred() = false | 116 // 1 notifyFinished() with errorOccurred() = false |
| 117 // [Case 2] When redirect is blocked: | 117 // [Case 2] When redirect is blocked: |
| 118 // 0+ redirectReceived() and/or dataSent() | 118 // 0+ redirectReceived() and/or dataSent() |
| 119 // 1 redirectBlocked() | 119 // 1 redirectBlocked() |
| 120 // 1 notifyFinished() with errorOccurred() = true | 120 // 1 notifyFinished() with errorOccurred() = true |
| 121 // [Case 3] Other failures: | 121 // [Case 3] Other failures: |
| 122 // notifyFinished() with errorOccurred() = true is called at any time | 122 // notifyFinished() with errorOccurred() = true is called at any time |
| 123 // (unless notifyFinished() is already called). | 123 // (unless notifyFinished() is already called). |
| 124 // In all cases: | 124 // In all cases: |
| 125 // No callbacks are made after notifyFinished() or | 125 // No callbacks are made after notifyFinished() or |
| 126 // removeClient() is called. | 126 // removeClient() is called. |
| 127 virtual void dataSent(Resource*, unsigned long long /* bytesSent */, unsigne
d long long /* totalBytesToBeSent */) { } | 127 virtual void dataSent(Resource*, unsigned long long /* bytesSent */, unsigne
d long long /* totalBytesToBeSent */) { } |
| 128 virtual void responseReceived(Resource*, const ResourceResponse&, std::uniqu
e_ptr<WebDataConsumerHandle>) { } | 128 virtual void responseReceived(Resource*, const ResourceResponse&, std::uniqu
e_ptr<WebDataConsumerHandle>) { } |
| 129 virtual void setSerializedCachedMetadata(Resource*, const char*, size_t) { } | 129 virtual void setSerializedCachedMetadata(Resource*, const char*, size_t) { } |
| 130 virtual void dataReceived(Resource*, const char* /* data */, size_t /* lengt
h */) { } | 130 virtual void dataReceived(Resource*, const char* /* data */, size_t /* lengt
h */) { } |
| 131 virtual void redirectReceived(Resource*, ResourceRequest&, const ResourceRes
ponse&) { } | 131 virtual void redirectReceived(Resource*, ResourceRequest&, const ResourceRes
ponse&) { } |
| 132 virtual void redirectBlocked() {} | 132 virtual void redirectBlocked() {} |
| 133 virtual void dataDownloaded(Resource*, int) { } | 133 virtual void dataDownloaded(Resource*, int) { } |
| 134 virtual void didReceiveResourceTiming(Resource*, const ResourceTimingInfo&)
{ } | 134 virtual void didReceiveResourceTiming(Resource*, const ResourceTimingInfo&)
{ } |
| 135 | |
| 136 DEFINE_INLINE_VIRTUAL_TRACE() {} | |
| 137 }; | 135 }; |
| 138 | 136 |
| 139 // Checks the sequence of callbacks of RawResourceClient. | 137 // Checks the sequence of callbacks of RawResourceClient. |
| 140 // This can be used only when a RawResourceClient is added as a client to | 138 // This can be used only when a RawResourceClient is added as a client to |
| 141 // at most one RawResource. | 139 // at most one RawResource. |
| 142 class CORE_EXPORT RawResourceClientStateChecker final { | 140 class CORE_EXPORT RawResourceClientStateChecker final { |
| 143 public: | 141 public: |
| 144 RawResourceClientStateChecker(); | 142 RawResourceClientStateChecker(); |
| 145 ~RawResourceClientStateChecker(); | 143 ~RawResourceClientStateChecker(); |
| 146 | 144 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 169 DataReceived, | 167 DataReceived, |
| 170 DataDownloaded, | 168 DataDownloaded, |
| 171 NotifyFinished | 169 NotifyFinished |
| 172 }; | 170 }; |
| 173 State m_state; | 171 State m_state; |
| 174 }; | 172 }; |
| 175 | 173 |
| 176 } // namespace blink | 174 } // namespace blink |
| 177 | 175 |
| 178 #endif // RawResource_h | 176 #endif // RawResource_h |
| OLD | NEW |