summaryrefslogtreecommitdiff
path: root/Source/WebCore/dom/SpaceSplitString.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/dom/SpaceSplitString.h')
-rw-r--r--Source/WebCore/dom/SpaceSplitString.h30
1 files changed, 12 insertions, 18 deletions
diff --git a/Source/WebCore/dom/SpaceSplitString.h b/Source/WebCore/dom/SpaceSplitString.h
index 2f0e0d35a..26fc99224 100644
--- a/Source/WebCore/dom/SpaceSplitString.h
+++ b/Source/WebCore/dom/SpaceSplitString.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007, 2008, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2007-2014 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -18,12 +18,9 @@
*
*/
-#ifndef SpaceSplitString_h
-#define SpaceSplitString_h
+#pragma once
-#include <wtf/Assertions.h>
#include <wtf/MainThread.h>
-#include <wtf/Noncopyable.h>
#include <wtf/text/AtomicString.h>
namespace WebCore {
@@ -32,7 +29,7 @@ class SpaceSplitStringData {
WTF_MAKE_NONCOPYABLE(SpaceSplitStringData);
WTF_MAKE_FAST_ALLOCATED;
public:
- static PassRefPtr<SpaceSplitStringData> create(const AtomicString&);
+ static RefPtr<SpaceSplitStringData> create(const AtomicString&);
bool contains(const AtomicString& string)
{
@@ -51,26 +48,26 @@ public:
unsigned size() const { return m_size; }
static ptrdiff_t sizeMemoryOffset() { return OBJECT_OFFSETOF(SpaceSplitStringData, m_size); }
- const AtomicString& operator[](size_t i)
+ const AtomicString& operator[](unsigned i)
{
RELEASE_ASSERT(i < m_size);
return tokenArrayStart()[i];
}
- inline void ref()
+ void ref()
{
ASSERT(isMainThread());
ASSERT(m_refCount);
++m_refCount;
}
- inline void deref()
+ void deref()
{
ASSERT(isMainThread());
ASSERT(m_refCount);
unsigned tempRefCount = m_refCount - 1;
if (!tempRefCount) {
- SpaceSplitStringData::destroy(this);
+ destroy(this);
return;
}
m_refCount = tempRefCount;
@@ -79,7 +76,7 @@ public:
static ptrdiff_t tokensMemoryOffset() { return sizeof(SpaceSplitStringData); }
private:
- static PassRefPtr<SpaceSplitStringData> create(const AtomicString&, unsigned tokenCount);
+ static Ref<SpaceSplitStringData> create(const AtomicString&, unsigned tokenCount);
SpaceSplitStringData(const AtomicString& string, unsigned size)
: m_keyString(string)
, m_refCount(1)
@@ -89,7 +86,7 @@ private:
ASSERT_WITH_MESSAGE(m_size, "SpaceSplitStringData should never be empty by definition. There is no difference between empty and null.");
}
- inline ~SpaceSplitStringData() { }
+ ~SpaceSplitStringData() { }
static void destroy(SpaceSplitStringData*);
AtomicString* tokenArrayStart() { return reinterpret_cast<AtomicString*>(this + 1); }
@@ -107,14 +104,14 @@ public:
bool operator!=(const SpaceSplitString& other) const { return m_data != other.m_data; }
void set(const AtomicString&, bool shouldFoldCase);
- void clear() { m_data.clear(); }
+ void clear() { m_data = nullptr; }
bool contains(const AtomicString& string) const { return m_data && m_data->contains(string); }
bool containsAll(const SpaceSplitString& names) const { return !names.m_data || (m_data && m_data->containsAll(*names.m_data)); }
- size_t size() const { return m_data ? m_data->size() : 0; }
+ unsigned size() const { return m_data ? m_data->size() : 0; }
bool isEmpty() const { return !m_data; }
- const AtomicString& operator[](size_t i) const
+ const AtomicString& operator[](unsigned i) const
{
ASSERT_WITH_SECURITY_IMPLICATION(m_data);
return (*m_data)[i];
@@ -128,10 +125,7 @@ public:
}
private:
-
RefPtr<SpaceSplitStringData> m_data;
};
} // namespace WebCore
-
-#endif // SpaceSplitString_h