diff options
Diffstat (limited to 'Source/WebKit/chromium/public/platform/WebThreadSafeData.h')
-rw-r--r-- | Source/WebKit/chromium/public/platform/WebThreadSafeData.h | 89 |
1 files changed, 19 insertions, 70 deletions
diff --git a/Source/WebKit/chromium/public/platform/WebThreadSafeData.h b/Source/WebKit/chromium/public/platform/WebThreadSafeData.h index 19af4df2b..dfb6fadcc 100644 --- a/Source/WebKit/chromium/public/platform/WebThreadSafeData.h +++ b/Source/WebKit/chromium/public/platform/WebThreadSafeData.h @@ -1,77 +1,26 @@ /* - * Copyright (C) 2010 Google Inc. All rights reserved. + * Copyright (C) 2012 Google Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: + * modification, are permitted provided that the following conditions + * are met: * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef WebThreadSafeData_h -#define WebThreadSafeData_h - -#include "WebCommon.h" -#include "WebPrivatePtr.h" - -#if !WEBKIT_IMPLEMENTATION -#include <string> -#endif - -namespace WebCore { class RawData; } - -namespace WebKit { - -// A container for raw bytes. It is inexpensive to copy a WebThreadSafeData object. -// It is safe to pass a WebThreadSafeData across threads!!! -class WebThreadSafeData { -public: - WebThreadSafeData() { } - ~WebThreadSafeData() { reset(); } - - WEBKIT_EXPORT void assign(const WebThreadSafeData&); - WEBKIT_EXPORT void reset(); - - WEBKIT_EXPORT size_t size() const; - WEBKIT_EXPORT const char* data() const; - - bool isEmpty() const { return !size(); } - -#if WEBKIT_IMPLEMENTATION - WebThreadSafeData(const WTF::PassRefPtr<WebCore::RawData>&); - WebThreadSafeData& operator=(const WTF::PassRefPtr<WebCore::RawData>&); -#else - operator std::string() const - { - size_t len = size(); - return len ? std::string(data(), len) : std::string(); - } -#endif - -private: - WebPrivatePtr<WebCore::RawData> m_private; -}; - -} // namespace WebKit - -#endif +#include "../../../../Platform/chromium/public/WebThreadSafeData.h" |