OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2006, 2008, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2006, 2008, 2011 Apple Inc. All rights reserved. |
3 * Copyright (C) 2009 Google Inc. All rights reserved. | 3 * Copyright (C) 2009 Google Inc. All rights reserved. |
4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) | 4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 11 matching lines...) Expand all Loading... |
22 #include "config.h" | 22 #include "config.h" |
23 #include "platform/network/FormData.h" | 23 #include "platform/network/FormData.h" |
24 | 24 |
25 #include "platform/FileMetadata.h" | 25 #include "platform/FileMetadata.h" |
26 #include "platform/network/FormDataBuilder.h" | 26 #include "platform/network/FormDataBuilder.h" |
27 #include "wtf/text/CString.h" | 27 #include "wtf/text/CString.h" |
28 #include "wtf/text/TextEncoding.h" | 28 #include "wtf/text/TextEncoding.h" |
29 | 29 |
30 namespace blink { | 30 namespace blink { |
31 | 31 |
| 32 bool FormDataElement::isSafeToSendToAnotherThread() const |
| 33 { |
| 34 return m_filename.isSafeToSendToAnotherThread() |
| 35 && m_blobUUID.isSafeToSendToAnotherThread() |
| 36 && m_fileSystemURL.isSafeToSendToAnotherThread(); |
| 37 } |
| 38 |
32 inline FormData::FormData() | 39 inline FormData::FormData() |
33 : m_identifier(0) | 40 : m_identifier(0) |
34 , m_containsPasswordData(false) | 41 , m_containsPasswordData(false) |
35 { | 42 { |
36 } | 43 } |
37 | 44 |
38 inline FormData::FormData(const FormData& data) | 45 inline FormData::FormData(const FormData& data) |
39 : RefCounted<FormData>() | 46 : RefCounted<FormData>() |
40 , m_elements(data.m_elements) | 47 , m_elements(data.m_elements) |
41 , m_identifier(data.m_identifier) | 48 , m_identifier(data.m_identifier) |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 size += e.m_optionalBlobDataHandle->size(); | 187 size += e.m_optionalBlobDataHandle->size(); |
181 break; | 188 break; |
182 case FormDataElement::encodedFileSystemURL: | 189 case FormDataElement::encodedFileSystemURL: |
183 size += e.m_fileLength - e.m_fileStart; | 190 size += e.m_fileLength - e.m_fileStart; |
184 break; | 191 break; |
185 } | 192 } |
186 } | 193 } |
187 return size; | 194 return size; |
188 } | 195 } |
189 | 196 |
| 197 bool FormData::isSafeToSendToAnotherThread() const |
| 198 { |
| 199 if (!hasOneRef()) |
| 200 return false; |
| 201 for (auto& element : m_elements) { |
| 202 if (!element.isSafeToSendToAnotherThread()) |
| 203 return false; |
| 204 } |
| 205 return true; |
| 206 } |
| 207 |
190 } // namespace blink | 208 } // namespace blink |
OLD | NEW |