OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 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 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * | 10 * |
(...skipping 12 matching lines...) Expand all Loading... | |
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 */ | 27 */ |
28 | 28 |
29 #include "config.h" | 29 #include "config.h" |
30 #include "modules/indexeddb/WebIDBCallbacksImpl.h" | 30 #include "modules/indexeddb/WebIDBCallbacksImpl.h" |
31 | 31 |
32 #include "core/dom/DOMError.h" | 32 #include "core/dom/DOMError.h" |
33 #include "core/inspector/InspectorInstrumentation.h" | |
33 #include "modules/indexeddb/IDBMetadata.h" | 34 #include "modules/indexeddb/IDBMetadata.h" |
34 #include "modules/indexeddb/IDBRequest.h" | 35 #include "modules/indexeddb/IDBRequest.h" |
35 #include "platform/SharedBuffer.h" | 36 #include "platform/SharedBuffer.h" |
36 #include "public/platform/WebBlobInfo.h" | 37 #include "public/platform/WebBlobInfo.h" |
37 #include "public/platform/WebData.h" | 38 #include "public/platform/WebData.h" |
38 #include "public/platform/WebIDBCursor.h" | 39 #include "public/platform/WebIDBCursor.h" |
39 #include "public/platform/WebIDBDatabase.h" | 40 #include "public/platform/WebIDBDatabase.h" |
40 #include "public/platform/WebIDBDatabaseError.h" | 41 #include "public/platform/WebIDBDatabaseError.h" |
41 #include "public/platform/WebIDBKey.h" | 42 #include "public/platform/WebIDBKey.h" |
42 | 43 |
(...skipping 12 matching lines...) Expand all Loading... | |
55 | 56 |
56 // static | 57 // static |
57 PassOwnPtr<WebIDBCallbacksImpl> WebIDBCallbacksImpl::create(IDBRequest* request) | 58 PassOwnPtr<WebIDBCallbacksImpl> WebIDBCallbacksImpl::create(IDBRequest* request) |
58 { | 59 { |
59 return adoptPtr(new WebIDBCallbacksImpl(request)); | 60 return adoptPtr(new WebIDBCallbacksImpl(request)); |
60 } | 61 } |
61 | 62 |
62 WebIDBCallbacksImpl::WebIDBCallbacksImpl(IDBRequest* request) | 63 WebIDBCallbacksImpl::WebIDBCallbacksImpl(IDBRequest* request) |
63 : m_request(request) | 64 : m_request(request) |
64 { | 65 { |
66 m_asyncOperationId = InspectorInstrumentation::traceAsyncOperationStarting(m _request->executionContext(), "IndexedDB"); | |
cmumford
2014/08/07 15:11:24
Elsewhere (like in FileSystemCallbacks.cpp) a chec
aandrey
2014/08/07 15:35:40
Not necessary, the NULL check is done at https://c
| |
65 } | 67 } |
66 | 68 |
67 WebIDBCallbacksImpl::~WebIDBCallbacksImpl() | 69 WebIDBCallbacksImpl::~WebIDBCallbacksImpl() |
68 { | 70 { |
71 InspectorInstrumentation::traceAsyncOperationCompleted(m_request->executionC ontext(), m_asyncOperationId); | |
cmumford
2014/08/07 15:11:24
Same NULL ptr check question as constructor.
| |
69 } | 72 } |
70 | 73 |
71 static PassOwnPtr<Vector<WebBlobInfo> > ConvertBlobInfo(const WebVector<WebBlobI nfo>& webBlobInfo) | 74 static PassOwnPtr<Vector<WebBlobInfo> > ConvertBlobInfo(const WebVector<WebBlobI nfo>& webBlobInfo) |
72 { | 75 { |
73 OwnPtr<Vector<WebBlobInfo> > blobInfo = adoptPtr(new Vector<WebBlobInfo>(web BlobInfo.size())); | 76 OwnPtr<Vector<WebBlobInfo> > blobInfo = adoptPtr(new Vector<WebBlobInfo>(web BlobInfo.size())); |
74 for (size_t i = 0; i < webBlobInfo.size(); ++i) | 77 for (size_t i = 0; i < webBlobInfo.size(); ++i) |
75 (*blobInfo)[i] = webBlobInfo[i]; | 78 (*blobInfo)[i] = webBlobInfo[i]; |
76 return blobInfo.release(); | 79 return blobInfo.release(); |
77 } | 80 } |
78 | 81 |
79 void WebIDBCallbacksImpl::onError(const WebIDBDatabaseError& error) | 82 void WebIDBCallbacksImpl::onError(const WebIDBDatabaseError& error) |
80 { | 83 { |
84 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
81 m_request->onError(error); | 85 m_request->onError(error); |
86 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
82 } | 87 } |
83 | 88 |
84 void WebIDBCallbacksImpl::onSuccess(const WebVector<blink::WebString>& webString List) | 89 void WebIDBCallbacksImpl::onSuccess(const WebVector<blink::WebString>& webString List) |
85 { | 90 { |
86 Vector<String> stringList; | 91 Vector<String> stringList; |
87 for (size_t i = 0; i < webStringList.size(); ++i) | 92 for (size_t i = 0; i < webStringList.size(); ++i) |
88 stringList.append(webStringList[i]); | 93 stringList.append(webStringList[i]); |
94 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
89 m_request->onSuccess(stringList); | 95 m_request->onSuccess(stringList); |
96 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
90 } | 97 } |
91 | 98 |
92 void WebIDBCallbacksImpl::onSuccess(WebIDBCursor* cursor, const WebIDBKey& key, const WebIDBKey& primaryKey, const WebData& value, const WebVector<WebBlobInfo>& webBlobInfo) | 99 void WebIDBCallbacksImpl::onSuccess(WebIDBCursor* cursor, const WebIDBKey& key, const WebIDBKey& primaryKey, const WebData& value, const WebVector<WebBlobInfo>& webBlobInfo) |
93 { | 100 { |
101 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
94 m_request->onSuccess(adoptPtr(cursor), key, primaryKey, value, ConvertBlobIn fo(webBlobInfo)); | 102 m_request->onSuccess(adoptPtr(cursor), key, primaryKey, value, ConvertBlobIn fo(webBlobInfo)); |
103 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
95 } | 104 } |
96 | 105 |
97 void WebIDBCallbacksImpl::onSuccess(WebIDBDatabase* backend, const WebIDBMetadat a& metadata) | 106 void WebIDBCallbacksImpl::onSuccess(WebIDBDatabase* backend, const WebIDBMetadat a& metadata) |
98 { | 107 { |
108 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
99 m_request->onSuccess(adoptPtr(backend), metadata); | 109 m_request->onSuccess(adoptPtr(backend), metadata); |
110 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
100 } | 111 } |
101 | 112 |
102 void WebIDBCallbacksImpl::onSuccess(const WebIDBKey& key) | 113 void WebIDBCallbacksImpl::onSuccess(const WebIDBKey& key) |
103 { | 114 { |
115 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
104 m_request->onSuccess(key); | 116 m_request->onSuccess(key); |
117 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
105 } | 118 } |
106 | 119 |
107 void WebIDBCallbacksImpl::onSuccess(const WebData& value, const WebVector<WebBlo bInfo>& webBlobInfo) | 120 void WebIDBCallbacksImpl::onSuccess(const WebData& value, const WebVector<WebBlo bInfo>& webBlobInfo) |
108 { | 121 { |
122 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
109 m_request->onSuccess(value, ConvertBlobInfo(webBlobInfo)); | 123 m_request->onSuccess(value, ConvertBlobInfo(webBlobInfo)); |
124 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
110 } | 125 } |
111 | 126 |
112 void WebIDBCallbacksImpl::onSuccess(const WebData& value, const WebVector<WebBlo bInfo>& webBlobInfo, const WebIDBKey& key, const WebIDBKeyPath& keyPath) | 127 void WebIDBCallbacksImpl::onSuccess(const WebData& value, const WebVector<WebBlo bInfo>& webBlobInfo, const WebIDBKey& key, const WebIDBKeyPath& keyPath) |
113 { | 128 { |
129 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
114 m_request->onSuccess(value, ConvertBlobInfo(webBlobInfo), key, keyPath); | 130 m_request->onSuccess(value, ConvertBlobInfo(webBlobInfo), key, keyPath); |
131 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
115 } | 132 } |
116 | 133 |
117 void WebIDBCallbacksImpl::onSuccess(long long value) | 134 void WebIDBCallbacksImpl::onSuccess(long long value) |
118 { | 135 { |
136 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
119 m_request->onSuccess(value); | 137 m_request->onSuccess(value); |
138 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
120 } | 139 } |
121 | 140 |
122 void WebIDBCallbacksImpl::onSuccess() | 141 void WebIDBCallbacksImpl::onSuccess() |
123 { | 142 { |
143 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
124 m_request->onSuccess(); | 144 m_request->onSuccess(); |
145 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
125 } | 146 } |
126 | 147 |
127 void WebIDBCallbacksImpl::onSuccess(const WebIDBKey& key, const WebIDBKey& prima ryKey, const WebData& value, const WebVector<WebBlobInfo>& webBlobInfo) | 148 void WebIDBCallbacksImpl::onSuccess(const WebIDBKey& key, const WebIDBKey& prima ryKey, const WebData& value, const WebVector<WebBlobInfo>& webBlobInfo) |
128 { | 149 { |
150 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
129 m_request->onSuccess(key, primaryKey, value, ConvertBlobInfo(webBlobInfo)); | 151 m_request->onSuccess(key, primaryKey, value, ConvertBlobInfo(webBlobInfo)); |
152 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
130 } | 153 } |
131 | 154 |
132 void WebIDBCallbacksImpl::onBlocked(long long oldVersion) | 155 void WebIDBCallbacksImpl::onBlocked(long long oldVersion) |
133 { | 156 { |
157 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
134 m_request->onBlocked(oldVersion); | 158 m_request->onBlocked(oldVersion); |
159 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
135 } | 160 } |
136 | 161 |
137 void WebIDBCallbacksImpl::onUpgradeNeeded(long long oldVersion, WebIDBDatabase* database, const WebIDBMetadata& metadata, unsigned short dataLoss, blink::WebStr ing dataLossMessage) | 162 void WebIDBCallbacksImpl::onUpgradeNeeded(long long oldVersion, WebIDBDatabase* database, const WebIDBMetadata& metadata, unsigned short dataLoss, blink::WebStr ing dataLossMessage) |
138 { | 163 { |
164 InspectorInstrumentationCookie cookie = InspectorInstrumentation::traceAsync CallbackStarting(m_request->executionContext(), m_asyncOperationId); | |
139 m_request->onUpgradeNeeded(oldVersion, adoptPtr(database), metadata, static_ cast<blink::WebIDBDataLoss>(dataLoss), dataLossMessage); | 165 m_request->onUpgradeNeeded(oldVersion, adoptPtr(database), metadata, static_ cast<blink::WebIDBDataLoss>(dataLoss), dataLossMessage); |
166 InspectorInstrumentation::traceAsyncCallbackCompleted(cookie); | |
140 } | 167 } |
141 | 168 |
142 } // namespace blink | 169 } // namespace blink |
OLD | NEW |