[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
ossy at webkit.org
ossy at webkit.org
Sun Feb 20 23:26:43 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit 95c1bc42a84fdeb89c18e7b8a3304943b5cad14f
Author: ossy at webkit.org <ossy at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Jan 20 16:30:54 2011 +0000
Refactoring of the custom allocation framework
https://bugs.webkit.org/show_bug.cgi?id=49897
Patch by Zoltan Horvath <zoltan at webkit.org> on 2011-01-20
Reviewed by Csaba Osztrogonác.
Source/JavaScriptCore:
Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
equivalent macro implementation at the necessary places.
* wtf/FastAllocBase.h: Turn FastAllocBase's implementation into a macro.
Source/WebCore:
Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
equivalent macro implementation at the necessary places.
Source/WebKit:
Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
equivalent macro implementation at the necessary places.
Source/WebKit2:
Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
equivalent macro implementation at the necessary places.
Tools:
Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
equivalent macro implementation at the necessary places.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/JavaScriptCore/API/JSClassRef.h b/Source/JavaScriptCore/API/JSClassRef.h
index 5062093..0971700 100644
--- a/Source/JavaScriptCore/API/JSClassRef.h
+++ b/Source/JavaScriptCore/API/JSClassRef.h
@@ -34,7 +34,9 @@
#include <runtime/WeakGCPtr.h>
#include <wtf/HashMap.h>
-struct StaticValueEntry : FastAllocBase {
+struct StaticValueEntry {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
StaticValueEntry(JSObjectGetPropertyCallback _getProperty, JSObjectSetPropertyCallback _setProperty, JSPropertyAttributes _attributes)
: getProperty(_getProperty), setProperty(_setProperty), attributes(_attributes)
{
@@ -45,7 +47,9 @@ struct StaticValueEntry : FastAllocBase {
JSPropertyAttributes attributes;
};
-struct StaticFunctionEntry : FastAllocBase {
+struct StaticFunctionEntry {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
StaticFunctionEntry(JSObjectCallAsFunctionCallback _callAsFunction, JSPropertyAttributes _attributes)
: callAsFunction(_callAsFunction), attributes(_attributes)
{
@@ -62,7 +66,9 @@ struct OpaqueJSClass;
// An OpaqueJSClass (JSClass) is created without a context, so it can be used with any context, even across context groups.
// This structure holds data members that vary across context groups.
-struct OpaqueJSClassContextData : Noncopyable {
+struct OpaqueJSClassContextData {
+ WTF_MAKE_NONCOPYABLE(OpaqueJSClassContextData); WTF_MAKE_FAST_ALLOCATED;
+public:
OpaqueJSClassContextData(OpaqueJSClass*);
~OpaqueJSClassContextData();
diff --git a/Source/JavaScriptCore/API/JSObjectRef.cpp b/Source/JavaScriptCore/API/JSObjectRef.cpp
index 4198ca8..d6de426 100644
--- a/Source/JavaScriptCore/API/JSObjectRef.cpp
+++ b/Source/JavaScriptCore/API/JSObjectRef.cpp
@@ -480,7 +480,9 @@ JSObjectRef JSObjectCallAsConstructor(JSContextRef ctx, JSObjectRef object, size
return result;
}
-struct OpaqueJSPropertyNameArray : FastAllocBase {
+struct OpaqueJSPropertyNameArray {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
OpaqueJSPropertyNameArray(JSGlobalData* globalData)
: refCount(0)
, globalData(globalData)
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog
index e58e8c0..804f67a 100644
--- a/Source/JavaScriptCore/ChangeLog
+++ b/Source/JavaScriptCore/ChangeLog
@@ -1,3 +1,16 @@
+2011-01-20 Zoltan Horvath <zoltan at webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Refactoring of the custom allocation framework
+ https://bugs.webkit.org/show_bug.cgi?id=49897
+
+ Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
+ The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
+ equivalent macro implementation at the necessary places.
+
+ * wtf/FastAllocBase.h: Turn FastAllocBase's implementation into a macro.
+
2011-01-20 Mark Rowe <mrowe at apple.com>
Reviewed by Maciej Stachowiak.
diff --git a/Source/JavaScriptCore/assembler/LinkBuffer.h b/Source/JavaScriptCore/assembler/LinkBuffer.h
index e38b9d4..c5a7d5b 100644
--- a/Source/JavaScriptCore/assembler/LinkBuffer.h
+++ b/Source/JavaScriptCore/assembler/LinkBuffer.h
@@ -50,7 +50,8 @@ namespace JSC {
// * The address of a Label pointing into the code may be resolved.
// * The value referenced by a DataLabel may be set.
//
-class LinkBuffer : public Noncopyable {
+class LinkBuffer {
+ WTF_MAKE_NONCOPYABLE(LinkBuffer);
typedef MacroAssemblerCodeRef CodeRef;
typedef MacroAssemblerCodePtr CodePtr;
typedef MacroAssembler::Label Label;
diff --git a/Source/JavaScriptCore/bytecode/CodeBlock.h b/Source/JavaScriptCore/bytecode/CodeBlock.h
index 7eca72a..1cd0863 100644
--- a/Source/JavaScriptCore/bytecode/CodeBlock.h
+++ b/Source/JavaScriptCore/bytecode/CodeBlock.h
@@ -242,7 +242,8 @@ namespace JSC {
}
#endif
- class CodeBlock : public FastAllocBase {
+ class CodeBlock {
+ WTF_MAKE_FAST_ALLOCATED;
friend class JIT;
protected:
CodeBlock(ScriptExecutable* ownerExecutable, CodeType, JSGlobalObject*, PassRefPtr<SourceProvider>, unsigned sourceOffset, SymbolTable* symbolTable, bool isConstructor);
@@ -578,7 +579,9 @@ namespace JSC {
SymbolTable* m_symbolTable;
- struct RareData : FastAllocBase {
+ struct RareData {
+ WTF_MAKE_FAST_ALLOCATED;
+ public:
Vector<HandlerInfo> m_exceptionHandlers;
// Rare Constants
@@ -599,6 +602,9 @@ namespace JSC {
Vector<CallReturnOffsetToBytecodeOffset> m_callReturnIndexVector;
#endif
};
+#if PLATFORM(WIN)
+ friend void WTF::deleteOwnedPtr<RareData>(RareData*);
+#endif
OwnPtr<RareData> m_rareData;
};
diff --git a/Source/JavaScriptCore/bytecode/Instruction.h b/Source/JavaScriptCore/bytecode/Instruction.h
index c6468a5..f077cbf 100644
--- a/Source/JavaScriptCore/bytecode/Instruction.h
+++ b/Source/JavaScriptCore/bytecode/Instruction.h
@@ -54,7 +54,9 @@ namespace JSC {
class StructureChain;
// Structure used by op_get_by_id_self_list and op_get_by_id_proto_list instruction to hold data off the main opcode stream.
- struct PolymorphicAccessStructureList : FastAllocBase {
+ struct PolymorphicAccessStructureList {
+ WTF_MAKE_FAST_ALLOCATED;
+ public:
struct PolymorphicStubInfo {
bool isChain;
PolymorphicAccessStructureListStubRoutineType stubRoutine;
diff --git a/Source/JavaScriptCore/bytecode/SamplingTool.h b/Source/JavaScriptCore/bytecode/SamplingTool.h
index 8e3ed9e..9ca54da 100644
--- a/Source/JavaScriptCore/bytecode/SamplingTool.h
+++ b/Source/JavaScriptCore/bytecode/SamplingTool.h
@@ -142,7 +142,8 @@ namespace JSC {
friend class HostCallRecord;
#if ENABLE(OPCODE_SAMPLING)
- class CallRecord : public Noncopyable {
+ class CallRecord {
+ WTF_MAKE_NONCOPYABLE(CallRecord);
public:
CallRecord(SamplingTool* samplingTool)
: m_samplingTool(samplingTool)
@@ -172,7 +173,8 @@ namespace JSC {
}
};
#else
- class CallRecord : public Noncopyable {
+ class CallRecord {
+ WTF_MAKE_NONCOPYABLE(CallRecord);
public:
CallRecord(SamplingTool*)
{
diff --git a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
index 8b0cc40..de16f8e 100644
--- a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
+++ b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
@@ -40,7 +40,6 @@
#include "SymbolTable.h"
#include "Debugger.h"
#include "Nodes.h"
-#include <wtf/FastAllocBase.h>
#include <wtf/PassRefPtr.h>
#include <wtf/SegmentedVector.h>
#include <wtf/Vector.h>
@@ -85,7 +84,8 @@ namespace JSC {
RefPtr<RegisterID> propertyRegister;
};
- class BytecodeGenerator : public FastAllocBase {
+ class BytecodeGenerator {
+ WTF_MAKE_FAST_ALLOCATED;
public:
typedef DeclarationStacks::VarStack VarStack;
typedef DeclarationStacks::FunctionStack FunctionStack;
diff --git a/Source/JavaScriptCore/bytecompiler/RegisterID.h b/Source/JavaScriptCore/bytecompiler/RegisterID.h
index 3532ad8..78d49d2 100644
--- a/Source/JavaScriptCore/bytecompiler/RegisterID.h
+++ b/Source/JavaScriptCore/bytecompiler/RegisterID.h
@@ -30,12 +30,12 @@
#define RegisterID_h
#include <wtf/Assertions.h>
-#include <wtf/Noncopyable.h>
#include <wtf/VectorTraits.h>
namespace JSC {
- class RegisterID : public Noncopyable {
+ class RegisterID {
+ WTF_MAKE_NONCOPYABLE(RegisterID);
public:
RegisterID()
: m_refCount(0)
diff --git a/Source/JavaScriptCore/interpreter/CachedCall.h b/Source/JavaScriptCore/interpreter/CachedCall.h
index dfbe658..740001d 100644
--- a/Source/JavaScriptCore/interpreter/CachedCall.h
+++ b/Source/JavaScriptCore/interpreter/CachedCall.h
@@ -32,7 +32,8 @@
#include "Interpreter.h"
namespace JSC {
- class CachedCall : public Noncopyable {
+ class CachedCall {
+ WTF_MAKE_NONCOPYABLE(CachedCall); WTF_MAKE_FAST_ALLOCATED;
public:
CachedCall(CallFrame* callFrame, JSFunction* function, int argCount)
: m_valid(false)
diff --git a/Source/JavaScriptCore/interpreter/Interpreter.h b/Source/JavaScriptCore/interpreter/Interpreter.h
index 47790cf..753d90e 100644
--- a/Source/JavaScriptCore/interpreter/Interpreter.h
+++ b/Source/JavaScriptCore/interpreter/Interpreter.h
@@ -30,7 +30,6 @@
#define Interpreter_h
#include "ArgList.h"
-#include "FastAllocBase.h"
#include "JSCell.h"
#include "JSValue.h"
#include "JSObject.h"
@@ -65,7 +64,8 @@ namespace JSC {
enum { MaxLargeThreadReentryDepth = 256, MaxSmallThreadReentryDepth = 32 };
- class Interpreter : public FastAllocBase {
+ class Interpreter {
+ WTF_MAKE_FAST_ALLOCATED;
friend class JIT;
friend class CachedCall;
public:
diff --git a/Source/JavaScriptCore/interpreter/Register.h b/Source/JavaScriptCore/interpreter/Register.h
index 38d1647..3944642 100644
--- a/Source/JavaScriptCore/interpreter/Register.h
+++ b/Source/JavaScriptCore/interpreter/Register.h
@@ -31,7 +31,6 @@
#include "JSValue.h"
#include <wtf/Assertions.h>
-#include <wtf/FastAllocBase.h>
#include <wtf/VectorTraits.h>
namespace JSC {
@@ -47,7 +46,8 @@ namespace JSC {
typedef ExecState CallFrame;
- class Register : public WTF::FastAllocBase {
+ class Register {
+ WTF_MAKE_FAST_ALLOCATED;
public:
Register();
diff --git a/Source/JavaScriptCore/interpreter/RegisterFile.h b/Source/JavaScriptCore/interpreter/RegisterFile.h
index 75fd784..3498e90 100644
--- a/Source/JavaScriptCore/interpreter/RegisterFile.h
+++ b/Source/JavaScriptCore/interpreter/RegisterFile.h
@@ -89,7 +89,8 @@ namespace JSC {
class JSGlobalObject;
- class RegisterFile : public Noncopyable {
+ class RegisterFile {
+ WTF_MAKE_NONCOPYABLE(RegisterFile);
friend class JIT;
public:
enum CallFrameHeaderEntry {
diff --git a/Source/JavaScriptCore/parser/Lexer.h b/Source/JavaScriptCore/parser/Lexer.h
index dfdb22c..d4145c1 100644
--- a/Source/JavaScriptCore/parser/Lexer.h
+++ b/Source/JavaScriptCore/parser/Lexer.h
@@ -37,7 +37,8 @@ namespace JSC {
class RegExp;
- class Lexer : public Noncopyable {
+ class Lexer {
+ WTF_MAKE_NONCOPYABLE(Lexer); WTF_MAKE_FAST_ALLOCATED;
public:
// Character manipulation functions.
static bool isWhiteSpace(int character);
diff --git a/Source/JavaScriptCore/parser/Nodes.h b/Source/JavaScriptCore/parser/Nodes.h
index 54b7231..6e73c00 100644
--- a/Source/JavaScriptCore/parser/Nodes.h
+++ b/Source/JavaScriptCore/parser/Nodes.h
@@ -1376,7 +1376,9 @@ namespace JSC {
ParameterNode* m_next;
};
- struct ScopeNodeData : FastAllocBase {
+ struct ScopeNodeData {
+ WTF_MAKE_FAST_ALLOCATED;
+ public:
typedef DeclarationStacks::VarStack VarStack;
typedef DeclarationStacks::FunctionStack FunctionStack;
@@ -1472,6 +1474,7 @@ namespace JSC {
};
class FunctionParameters : public Vector<Identifier>, public RefCounted<FunctionParameters> {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<FunctionParameters> create(ParameterNode* firstParameter) { return adoptRef(new FunctionParameters(firstParameter)); }
diff --git a/Source/JavaScriptCore/parser/Parser.h b/Source/JavaScriptCore/parser/Parser.h
index b257b68..58398d1 100644
--- a/Source/JavaScriptCore/parser/Parser.h
+++ b/Source/JavaScriptCore/parser/Parser.h
@@ -45,8 +45,10 @@ namespace JSC {
template <typename T> struct ParserArenaData : ParserArenaDeletable { T data; };
- class Parser : public Noncopyable {
+ class Parser {
+ WTF_MAKE_NONCOPYABLE(Parser); WTF_MAKE_FAST_ALLOCATED;
public:
+ Parser() { }
template <class ParsedNode>
PassRefPtr<ParsedNode> parse(JSGlobalObject* lexicalGlobalObject, Debugger*, ExecState*, const SourceCode& source, FunctionParameters*, JSParserStrictness strictness, JSObject** exception);
diff --git a/Source/JavaScriptCore/parser/ParserArena.h b/Source/JavaScriptCore/parser/ParserArena.h
index 7c1809e..82fb808 100644
--- a/Source/JavaScriptCore/parser/ParserArena.h
+++ b/Source/JavaScriptCore/parser/ParserArena.h
@@ -34,7 +34,8 @@ namespace JSC {
class ParserArenaDeletable;
class ParserArenaRefCounted;
- class IdentifierArena : public FastAllocBase {
+ class IdentifierArena {
+ WTF_MAKE_FAST_ALLOCATED;
public:
ALWAYS_INLINE const Identifier& makeIdentifier(JSGlobalData*, const UChar* characters, size_t length);
const Identifier& makeNumericIdentifier(JSGlobalData*, double number);
@@ -59,7 +60,8 @@ namespace JSC {
return m_identifiers.last();
}
- class ParserArena : Noncopyable {
+ class ParserArena {
+ WTF_MAKE_NONCOPYABLE(ParserArena);
public:
ParserArena();
~ParserArena();
diff --git a/Source/JavaScriptCore/pcre/pcre_exec.cpp b/Source/JavaScriptCore/pcre/pcre_exec.cpp
index 789f80a..b7018aa 100644
--- a/Source/JavaScriptCore/pcre/pcre_exec.cpp
+++ b/Source/JavaScriptCore/pcre/pcre_exec.cpp
@@ -112,7 +112,9 @@ struct BracketChainNode {
const UChar* bracketStart;
};
-struct MatchFrame : FastAllocBase {
+struct MatchFrame {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
ReturnLocation returnLocation;
struct MatchFrame* previousFrame;
diff --git a/Source/JavaScriptCore/profiler/CallIdentifier.h b/Source/JavaScriptCore/profiler/CallIdentifier.h
index 76c1470..a9827c0 100644
--- a/Source/JavaScriptCore/profiler/CallIdentifier.h
+++ b/Source/JavaScriptCore/profiler/CallIdentifier.h
@@ -28,13 +28,14 @@
#define CallIdentifier_h
#include <runtime/UString.h>
-#include "FastAllocBase.h"
#include <wtf/text/CString.h>
#include <wtf/text/StringHash.h>
namespace JSC {
- struct CallIdentifier : public FastAllocBase {
+ struct CallIdentifier {
+ WTF_MAKE_FAST_ALLOCATED;
+ public:
UString m_name;
UString m_url;
unsigned m_lineNumber;
diff --git a/Source/JavaScriptCore/profiler/Profiler.h b/Source/JavaScriptCore/profiler/Profiler.h
index f9c2ccb..f88746d 100644
--- a/Source/JavaScriptCore/profiler/Profiler.h
+++ b/Source/JavaScriptCore/profiler/Profiler.h
@@ -44,7 +44,8 @@ namespace JSC {
class UString;
struct CallIdentifier;
- class Profiler : public FastAllocBase {
+ class Profiler {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static Profiler** enabledProfilerReference()
{
diff --git a/Source/JavaScriptCore/runtime/ArgList.h b/Source/JavaScriptCore/runtime/ArgList.h
index cd563a2..57e3c20 100644
--- a/Source/JavaScriptCore/runtime/ArgList.h
+++ b/Source/JavaScriptCore/runtime/ArgList.h
@@ -25,14 +25,14 @@
#include "CallFrame.h"
#include "Register.h"
#include <wtf/HashSet.h>
-#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
namespace JSC {
class MarkStack;
- class MarkedArgumentBuffer : public Noncopyable {
+ class MarkedArgumentBuffer {
+ WTF_MAKE_NONCOPYABLE(MarkedArgumentBuffer);
private:
static const unsigned inlineCapacity = 8;
typedef Vector<Register, inlineCapacity> VectorType;
diff --git a/Source/JavaScriptCore/runtime/Arguments.h b/Source/JavaScriptCore/runtime/Arguments.h
index 715a2ac..fe900a2 100644
--- a/Source/JavaScriptCore/runtime/Arguments.h
+++ b/Source/JavaScriptCore/runtime/Arguments.h
@@ -33,7 +33,10 @@
namespace JSC {
- struct ArgumentsData : Noncopyable {
+ struct ArgumentsData {
+ WTF_MAKE_NONCOPYABLE(ArgumentsData); WTF_MAKE_FAST_ALLOCATED;
+ public:
+ ArgumentsData() { }
JSActivation* activation;
unsigned numParameters;
diff --git a/Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h b/Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h
index 74089a5..db2d1d7 100644
--- a/Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h
+++ b/Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h
@@ -27,12 +27,12 @@
#ifndef BatchedTransitionOptimizer_h
#define BatchedTransitionOptimizer_h
-#include <wtf/Noncopyable.h>
#include "JSObject.h"
namespace JSC {
- class BatchedTransitionOptimizer : public Noncopyable {
+ class BatchedTransitionOptimizer {
+ WTF_MAKE_NONCOPYABLE(BatchedTransitionOptimizer);
public:
BatchedTransitionOptimizer(JSObject* object)
: m_object(object)
diff --git a/Source/JavaScriptCore/runtime/CommonIdentifiers.h b/Source/JavaScriptCore/runtime/CommonIdentifiers.h
index 1e22b6a..6587a8f 100644
--- a/Source/JavaScriptCore/runtime/CommonIdentifiers.h
+++ b/Source/JavaScriptCore/runtime/CommonIdentifiers.h
@@ -84,7 +84,8 @@
namespace JSC {
- class CommonIdentifiers : public Noncopyable {
+ class CommonIdentifiers {
+ WTF_MAKE_NONCOPYABLE(CommonIdentifiers); WTF_MAKE_FAST_ALLOCATED;
private:
CommonIdentifiers(JSGlobalData*);
friend class JSGlobalData;
diff --git a/Source/JavaScriptCore/runtime/Heap.h b/Source/JavaScriptCore/runtime/Heap.h
index 243bba3..3e1d886 100644
--- a/Source/JavaScriptCore/runtime/Heap.h
+++ b/Source/JavaScriptCore/runtime/Heap.h
@@ -45,7 +45,8 @@ namespace JSC {
enum OperationInProgress { NoOperation, Allocation, Collection };
- class Heap : public Noncopyable {
+ class Heap {
+ WTF_MAKE_NONCOPYABLE(Heap);
public:
void destroy();
diff --git a/Source/JavaScriptCore/runtime/JSGlobalObject.h b/Source/JavaScriptCore/runtime/JSGlobalObject.h
index a22b0aa..24bc2f8 100644
--- a/Source/JavaScriptCore/runtime/JSGlobalObject.h
+++ b/Source/JavaScriptCore/runtime/JSGlobalObject.h
@@ -465,7 +465,8 @@ namespace JSC {
return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure(), values);
}
- class DynamicGlobalObjectScope : public Noncopyable {
+ class DynamicGlobalObjectScope {
+ WTF_MAKE_NONCOPYABLE(DynamicGlobalObjectScope);
public:
DynamicGlobalObjectScope(CallFrame* callFrame, JSGlobalObject* dynamicGlobalObject);
diff --git a/Source/JavaScriptCore/runtime/JSLock.h b/Source/JavaScriptCore/runtime/JSLock.h
index 05b388c..7b07b4f 100644
--- a/Source/JavaScriptCore/runtime/JSLock.h
+++ b/Source/JavaScriptCore/runtime/JSLock.h
@@ -53,7 +53,8 @@ namespace JSC {
enum JSLockBehavior { SilenceAssertionsOnly, LockForReal };
- class JSLock : public Noncopyable {
+ class JSLock {
+ WTF_MAKE_NONCOPYABLE(JSLock);
public:
JSLock(ExecState*);
JSLock(JSGlobalData*);
@@ -89,7 +90,8 @@ namespace JSC {
JSLockBehavior m_lockBehavior;
- class DropAllLocks : public Noncopyable {
+ class DropAllLocks {
+ WTF_MAKE_NONCOPYABLE(DropAllLocks);
public:
DropAllLocks(ExecState* exec);
DropAllLocks(JSLockBehavior);
diff --git a/Source/JavaScriptCore/runtime/JSONObject.cpp b/Source/JavaScriptCore/runtime/JSONObject.cpp
index 9e63027..df4be52 100644
--- a/Source/JavaScriptCore/runtime/JSONObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSONObject.cpp
@@ -70,7 +70,8 @@ private:
mutable JSValue m_value;
};
-class Stringifier : public Noncopyable {
+class Stringifier {
+ WTF_MAKE_NONCOPYABLE(Stringifier);
public:
Stringifier(ExecState*, JSValue replacer, JSValue space);
~Stringifier();
diff --git a/Source/JavaScriptCore/runtime/Lookup.h b/Source/JavaScriptCore/runtime/Lookup.h
index 9bc81d4..0d6d98f 100644
--- a/Source/JavaScriptCore/runtime/Lookup.h
+++ b/Source/JavaScriptCore/runtime/Lookup.h
@@ -53,7 +53,8 @@ namespace JSC {
typedef PropertySlot::GetValueFunc GetFunction;
typedef void (*PutFunction)(ExecState*, JSObject* baseObject, JSValue value);
- class HashEntry : public FastAllocBase {
+ class HashEntry {
+ WTF_MAKE_FAST_ALLOCATED;
public:
void initialize(StringImpl* key, unsigned char attributes, intptr_t v1, intptr_t v2
#if ENABLE(JIT)
diff --git a/Source/JavaScriptCore/runtime/MachineStackMarker.h b/Source/JavaScriptCore/runtime/MachineStackMarker.h
index e80fe05..b186834 100644
--- a/Source/JavaScriptCore/runtime/MachineStackMarker.h
+++ b/Source/JavaScriptCore/runtime/MachineStackMarker.h
@@ -34,7 +34,8 @@ namespace JSC {
class Heap;
class MarkStack;
- class MachineStackMarker : public Noncopyable {
+ class MachineStackMarker {
+ WTF_MAKE_NONCOPYABLE(MachineStackMarker);
public:
MachineStackMarker(Heap*);
~MachineStackMarker();
diff --git a/Source/JavaScriptCore/runtime/MarkStack.h b/Source/JavaScriptCore/runtime/MarkStack.h
index 7bccadf..f54cfa6 100644
--- a/Source/JavaScriptCore/runtime/MarkStack.h
+++ b/Source/JavaScriptCore/runtime/MarkStack.h
@@ -37,7 +37,8 @@ namespace JSC {
enum MarkSetProperties { MayContainNullValues, NoNullValues };
- class MarkStack : Noncopyable {
+ class MarkStack {
+ WTF_MAKE_NONCOPYABLE(MarkStack);
public:
MarkStack(void* jsArrayVPtr)
: m_jsArrayVPtr(jsArrayVPtr)
diff --git a/Source/JavaScriptCore/runtime/MarkedSpace.h b/Source/JavaScriptCore/runtime/MarkedSpace.h
index 78f918c..3b0c5e0 100644
--- a/Source/JavaScriptCore/runtime/MarkedSpace.h
+++ b/Source/JavaScriptCore/runtime/MarkedSpace.h
@@ -63,7 +63,8 @@ namespace JSC {
}
};
- class MarkedSpace : public Noncopyable {
+ class MarkedSpace {
+ WTF_MAKE_NONCOPYABLE(MarkedSpace);
public:
MarkedSpace(JSGlobalData*);
void destroy(ProtectCountSet&);
diff --git a/Source/JavaScriptCore/runtime/RegExpConstructor.h b/Source/JavaScriptCore/runtime/RegExpConstructor.h
index 58abde5..1714bd3 100644
--- a/Source/JavaScriptCore/runtime/RegExpConstructor.h
+++ b/Source/JavaScriptCore/runtime/RegExpConstructor.h
@@ -31,7 +31,9 @@ namespace JSC {
class RegExpPrototype;
struct RegExpConstructorPrivate;
- struct RegExpConstructorPrivate : FastAllocBase {
+ struct RegExpConstructorPrivate {
+ WTF_MAKE_FAST_ALLOCATED;
+ public:
// Global search cache / settings
RegExpConstructorPrivate()
: lastNumSubPatterns(0)
diff --git a/Source/JavaScriptCore/runtime/RegExpObject.h b/Source/JavaScriptCore/runtime/RegExpObject.h
index c8cae28..99c84da 100644
--- a/Source/JavaScriptCore/runtime/RegExpObject.h
+++ b/Source/JavaScriptCore/runtime/RegExpObject.h
@@ -58,7 +58,9 @@ namespace JSC {
private:
bool match(ExecState*);
- struct RegExpObjectData : FastAllocBase {
+ struct RegExpObjectData {
+ WTF_MAKE_FAST_ALLOCATED;
+ public:
RegExpObjectData(NonNullPassRefPtr<RegExp> regExp, double lastIndex)
: regExp(regExp)
, lastIndex(lastIndex)
@@ -68,7 +70,9 @@ namespace JSC {
RefPtr<RegExp> regExp;
double lastIndex;
};
-
+#if PLATFORM(WIN)
+ friend void WTF::deleteOwnedPtr<RegExpObjectData>(RegExpObjectData*);
+#endif
OwnPtr<RegExpObjectData> d;
};
diff --git a/Source/JavaScriptCore/runtime/ScopeChain.h b/Source/JavaScriptCore/runtime/ScopeChain.h
index 0b15b67..b104e75 100644
--- a/Source/JavaScriptCore/runtime/ScopeChain.h
+++ b/Source/JavaScriptCore/runtime/ScopeChain.h
@@ -21,7 +21,7 @@
#ifndef ScopeChain_h
#define ScopeChain_h
-#include "FastAllocBase.h"
+#include <wtf/FastAllocBase.h>
namespace JSC {
@@ -31,7 +31,8 @@ namespace JSC {
class MarkStack;
class ScopeChainIterator;
- class ScopeChainNode : public FastAllocBase {
+ class ScopeChainNode {
+ WTF_MAKE_FAST_ALLOCATED;
public:
ScopeChainNode(ScopeChainNode* next, JSObject* object, JSGlobalData* globalData, JSGlobalObject* globalObject, JSObject* globalThis)
: next(next)
diff --git a/Source/JavaScriptCore/runtime/SmallStrings.cpp b/Source/JavaScriptCore/runtime/SmallStrings.cpp
index f358727..5614932 100644
--- a/Source/JavaScriptCore/runtime/SmallStrings.cpp
+++ b/Source/JavaScriptCore/runtime/SmallStrings.cpp
@@ -40,7 +40,8 @@ static inline bool isMarked(JSString* string)
return string && Heap::isCellMarked(string);
}
-class SmallStringsStorage : public Noncopyable {
+class SmallStringsStorage {
+ WTF_MAKE_NONCOPYABLE(SmallStringsStorage); WTF_MAKE_FAST_ALLOCATED;
public:
SmallStringsStorage();
diff --git a/Source/JavaScriptCore/runtime/SmallStrings.h b/Source/JavaScriptCore/runtime/SmallStrings.h
index d1ebfb1..ac84fe8 100644
--- a/Source/JavaScriptCore/runtime/SmallStrings.h
+++ b/Source/JavaScriptCore/runtime/SmallStrings.h
@@ -37,7 +37,8 @@ namespace JSC {
class MarkStack;
class SmallStringsStorage;
- class SmallStrings : public Noncopyable {
+ class SmallStrings {
+ WTF_MAKE_NONCOPYABLE(SmallStrings); WTF_MAKE_FAST_ALLOCATED;
public:
SmallStrings();
~SmallStrings();
diff --git a/Source/JavaScriptCore/runtime/SymbolTable.h b/Source/JavaScriptCore/runtime/SymbolTable.h
index 1b1636d..2635501 100644
--- a/Source/JavaScriptCore/runtime/SymbolTable.h
+++ b/Source/JavaScriptCore/runtime/SymbolTable.h
@@ -122,6 +122,7 @@ namespace JSC {
typedef HashMap<RefPtr<StringImpl>, SymbolTableEntry, IdentifierRepHash, HashTraits<RefPtr<StringImpl> >, SymbolTableIndexHashTraits> SymbolTable;
class SharedSymbolTable : public SymbolTable, public RefCounted<SharedSymbolTable> {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<SharedSymbolTable> create() { return adoptRef(new SharedSymbolTable); }
private:
diff --git a/Source/JavaScriptCore/runtime/WeakGCMap.h b/Source/JavaScriptCore/runtime/WeakGCMap.h
index 2d4e59d..316794f 100644
--- a/Source/JavaScriptCore/runtime/WeakGCMap.h
+++ b/Source/JavaScriptCore/runtime/WeakGCMap.h
@@ -35,7 +35,8 @@ class JSCell;
// A HashMap whose get() function returns emptyValue() for cells awaiting destruction.
template<typename KeyType, typename MappedType>
-class WeakGCMap : public FastAllocBase {
+class WeakGCMap {
+ WTF_MAKE_FAST_ALLOCATED;
/*
Invariants:
* A value enters the WeakGCMap marked. (Guaranteed by set().)
diff --git a/Source/JavaScriptCore/runtime/WeakGCPtr.h b/Source/JavaScriptCore/runtime/WeakGCPtr.h
index 6cc75a5..4946ee7 100644
--- a/Source/JavaScriptCore/runtime/WeakGCPtr.h
+++ b/Source/JavaScriptCore/runtime/WeakGCPtr.h
@@ -28,12 +28,12 @@
#include "Heap.h"
#include "GCHandle.h"
-#include <wtf/Noncopyable.h>
namespace JSC {
// A smart pointer whose get() function returns 0 for cells awaiting destruction.
-template <typename T> class WeakGCPtr : Noncopyable {
+template <typename T> class WeakGCPtr {
+ WTF_MAKE_NONCOPYABLE(WeakGCPtr);
public:
WeakGCPtr()
: m_ptr(0)
diff --git a/Source/JavaScriptCore/wtf/CrossThreadRefCounted.h b/Source/JavaScriptCore/wtf/CrossThreadRefCounted.h
index 0c0e997..8b65977 100644
--- a/Source/JavaScriptCore/wtf/CrossThreadRefCounted.h
+++ b/Source/JavaScriptCore/wtf/CrossThreadRefCounted.h
@@ -51,7 +51,8 @@ namespace WTF {
// with respect to the original and any other copies. The underlying m_data is jointly
// owned by the original instance and all copies.
template<class T>
- class CrossThreadRefCounted : public Noncopyable {
+ class CrossThreadRefCounted {
+ WTF_MAKE_NONCOPYABLE(CrossThreadRefCounted);
public:
static PassRefPtr<CrossThreadRefCounted<T> > create(T* data)
{
diff --git a/Source/JavaScriptCore/wtf/DateMath.h b/Source/JavaScriptCore/wtf/DateMath.h
index 8d0d932..41bd4fa 100644
--- a/Source/JavaScriptCore/wtf/DateMath.h
+++ b/Source/JavaScriptCore/wtf/DateMath.h
@@ -44,6 +44,7 @@
#define DateMath_h
#include <math.h>
+#include <stdint.h>
#include <string.h>
#include <time.h>
#include <wtf/CurrentTime.h>
@@ -120,7 +121,9 @@ double parseDateFromNullTerminatedCharacters(ExecState*, const char* dateString)
// Intentionally overridding the default tm of the system.
// The members of tm differ on various operating systems.
-struct GregorianDateTime : Noncopyable {
+struct GregorianDateTime {
+ WTF_MAKE_NONCOPYABLE(GregorianDateTime);
+public:
GregorianDateTime()
: second(0)
, minute(0)
diff --git a/Source/JavaScriptCore/wtf/Deque.h b/Source/JavaScriptCore/wtf/Deque.h
index 745e0b6..1b16afc 100644
--- a/Source/JavaScriptCore/wtf/Deque.h
+++ b/Source/JavaScriptCore/wtf/Deque.h
@@ -44,7 +44,8 @@ namespace WTF {
template<typename T> class DequeConstReverseIterator;
template<typename T>
- class Deque : public FastAllocBase {
+ class Deque {
+ WTF_MAKE_FAST_ALLOCATED;
public:
typedef DequeIterator<T> iterator;
typedef DequeConstIterator<T> const_iterator;
diff --git a/Source/JavaScriptCore/wtf/FastAllocBase.h b/Source/JavaScriptCore/wtf/FastAllocBase.h
index bb1825e..e4899ab 100644
--- a/Source/JavaScriptCore/wtf/FastAllocBase.h
+++ b/Source/JavaScriptCore/wtf/FastAllocBase.h
@@ -32,8 +32,8 @@
// Provides customizable overrides of fastMalloc/fastFree and operator new/delete
//
// Provided functionality:
+// Macro: WTF_MAKE_FAST_ALLOCATED
// namespace WTF {
-// class FastAllocBase;
//
// T* fastNew<T>();
// T* fastNew<T>(arg);
@@ -48,7 +48,16 @@
// FastDelete assumes that the underlying
//
// Example usage:
-// class Widget : public FastAllocBase { ... };
+// class Widget {
+// WTF_MAKE_FAST_ALLOCATED
+// ...
+// };
+//
+// struct Data {
+// WTF_MAKE_FAST_ALLOCATED
+// public:
+// ...
+// };
//
// char* charPtr = fastNew<char>();
// fastDelete(charPtr);
@@ -83,8 +92,6 @@
#include "FastMalloc.h"
#include "TypeTraits.h"
-namespace WTF {
-
#define WTF_MAKE_FAST_ALLOCATED \
public: \
void* operator new(size_t, void* p) { return p; } \
@@ -115,11 +122,10 @@ public: \
::WTF::fastMallocMatchValidateFree(p, ::WTF::Internal::AllocTypeClassNewArray); \
::WTF::fastFree(p); \
} \
-private:
+private: \
+typedef int ThisIsHereToForceASemicolonAfterThisMacro
-class FastAllocBase {
- WTF_MAKE_FAST_ALLOCATED
-};
+namespace WTF {
// fastNew / fastDelete
@@ -410,7 +416,6 @@ class FastAllocBase {
} // namespace WTF
-using WTF::FastAllocBase;
using WTF::fastDeleteSkippingDestructor;
#endif // FastAllocBase_h
diff --git a/Source/JavaScriptCore/wtf/HashCountedSet.h b/Source/JavaScriptCore/wtf/HashCountedSet.h
index 4ed75c5..b97d8c8 100644
--- a/Source/JavaScriptCore/wtf/HashCountedSet.h
+++ b/Source/JavaScriptCore/wtf/HashCountedSet.h
@@ -22,14 +22,14 @@
#define WTF_HashCountedSet_h
#include "Assertions.h"
-#include "FastAllocBase.h"
#include "HashMap.h"
#include "Vector.h"
namespace WTF {
template<typename Value, typename HashFunctions = typename DefaultHash<Value>::Hash,
- typename Traits = HashTraits<Value> > class HashCountedSet : public FastAllocBase {
+ typename Traits = HashTraits<Value> > class HashCountedSet {
+ WTF_MAKE_FAST_ALLOCATED;
private:
typedef HashMap<Value, unsigned, HashFunctions, Traits> ImplType;
public:
diff --git a/Source/JavaScriptCore/wtf/HashMap.h b/Source/JavaScriptCore/wtf/HashMap.h
index 09094d1..7731546 100644
--- a/Source/JavaScriptCore/wtf/HashMap.h
+++ b/Source/JavaScriptCore/wtf/HashMap.h
@@ -29,7 +29,8 @@ namespace WTF {
template<typename KeyArg, typename MappedArg, typename HashArg = typename DefaultHash<KeyArg>::Hash,
typename KeyTraitsArg = HashTraits<KeyArg>, typename MappedTraitsArg = HashTraits<MappedArg> >
- class HashMap : public FastAllocBase {
+ class HashMap {
+ WTF_MAKE_FAST_ALLOCATED;
private:
typedef KeyTraitsArg KeyTraits;
typedef MappedTraitsArg MappedTraits;
diff --git a/Source/JavaScriptCore/wtf/HashSet.h b/Source/JavaScriptCore/wtf/HashSet.h
index 66639e4..be6b93d 100644
--- a/Source/JavaScriptCore/wtf/HashSet.h
+++ b/Source/JavaScriptCore/wtf/HashSet.h
@@ -35,7 +35,8 @@ namespace WTF {
template<typename T> struct IdentityExtractor;
template<typename ValueArg, typename HashArg = typename DefaultHash<ValueArg>::Hash,
- typename TraitsArg = HashTraits<ValueArg> > class HashSet : public FastAllocBase {
+ typename TraitsArg = HashTraits<ValueArg> > class HashSet {
+ WTF_MAKE_FAST_ALLOCATED;
private:
typedef HashArg HashFunctions;
typedef TraitsArg ValueTraits;
diff --git a/Source/JavaScriptCore/wtf/ListHashSet.h b/Source/JavaScriptCore/wtf/ListHashSet.h
index e14ac45..e916ef2 100644
--- a/Source/JavaScriptCore/wtf/ListHashSet.h
+++ b/Source/JavaScriptCore/wtf/ListHashSet.h
@@ -52,7 +52,8 @@ namespace WTF {
template<typename ValueArg, size_t inlineCapacity> struct ListHashSetNodeAllocator;
template<typename ValueArg, size_t inlineCapacity, typename HashArg> struct ListHashSetNodeHashFunctions;
- template<typename ValueArg, size_t inlineCapacity = 256, typename HashArg = typename DefaultHash<ValueArg>::Hash> class ListHashSet : public FastAllocBase {
+ template<typename ValueArg, size_t inlineCapacity = 256, typename HashArg = typename DefaultHash<ValueArg>::Hash> class ListHashSet {
+ WTF_MAKE_FAST_ALLOCATED;
private:
typedef ListHashSetNode<ValueArg, inlineCapacity> Node;
typedef ListHashSetNodeAllocator<ValueArg, inlineCapacity> NodeAllocator;
diff --git a/Source/JavaScriptCore/wtf/Locker.h b/Source/JavaScriptCore/wtf/Locker.h
index 41813d3..c465b99 100644
--- a/Source/JavaScriptCore/wtf/Locker.h
+++ b/Source/JavaScriptCore/wtf/Locker.h
@@ -32,7 +32,8 @@
namespace WTF {
-template <typename T> class Locker : public Noncopyable {
+template <typename T> class Locker {
+ WTF_MAKE_NONCOPYABLE(Locker);
public:
Locker(T& lockable) : m_lockable(lockable) { m_lockable.lock(); }
~Locker() { m_lockable.unlock(); }
diff --git a/Source/JavaScriptCore/wtf/MessageQueue.h b/Source/JavaScriptCore/wtf/MessageQueue.h
index 14100c9..7c18a0c 100644
--- a/Source/JavaScriptCore/wtf/MessageQueue.h
+++ b/Source/JavaScriptCore/wtf/MessageQueue.h
@@ -48,7 +48,8 @@ namespace WTF {
// when messages are fetched from the queue.
// Essentially, MessageQueue acts as a queue of OwnPtr<DataType>.
template<typename DataType>
- class MessageQueue : public Noncopyable {
+ class MessageQueue {
+ WTF_MAKE_NONCOPYABLE(MessageQueue);
public:
MessageQueue() : m_killed(false) { }
~MessageQueue();
diff --git a/Source/JavaScriptCore/wtf/Noncopyable.h b/Source/JavaScriptCore/wtf/Noncopyable.h
index 285ed2e..cc6bc55 100644
--- a/Source/JavaScriptCore/wtf/Noncopyable.h
+++ b/Source/JavaScriptCore/wtf/Noncopyable.h
@@ -41,23 +41,4 @@
ClassName& operator=(const ClassName&)
#endif
-// We don't want argument-dependent lookup to pull in everything from the WTF
-// namespace when you use Noncopyable, so put it in its own namespace.
-
-#include "FastAllocBase.h"
-
-namespace WTFNoncopyable {
-
- class Noncopyable : public FastAllocBase {
- Noncopyable(const Noncopyable&);
- Noncopyable& operator=(const Noncopyable&);
- protected:
- Noncopyable() { }
- ~Noncopyable() { }
- };
-
-} // namespace WTFNoncopyable
-
-using WTFNoncopyable::Noncopyable;
-
#endif // WTF_Noncopyable_h
diff --git a/Source/JavaScriptCore/wtf/OwnArrayPtr.h b/Source/JavaScriptCore/wtf/OwnArrayPtr.h
index 643b90b..dbd34af 100644
--- a/Source/JavaScriptCore/wtf/OwnArrayPtr.h
+++ b/Source/JavaScriptCore/wtf/OwnArrayPtr.h
@@ -35,7 +35,7 @@ namespace WTF {
template<typename T> class PassOwnArrayPtr;
template<typename T> PassOwnArrayPtr<T> adoptArrayPtr(T*);
-template <typename T> class OwnArrayPtr : public Noncopyable {
+template <typename T> class OwnArrayPtr {
public:
typedef T* PtrType;
diff --git a/Source/JavaScriptCore/wtf/OwnFastMallocPtr.h b/Source/JavaScriptCore/wtf/OwnFastMallocPtr.h
index 8b6cbf4..9d4841a 100644
--- a/Source/JavaScriptCore/wtf/OwnFastMallocPtr.h
+++ b/Source/JavaScriptCore/wtf/OwnFastMallocPtr.h
@@ -23,11 +23,11 @@
#define OwnFastMallocPtr_h
#include "FastMalloc.h"
-#include "Noncopyable.h"
namespace WTF {
- template<class T> class OwnFastMallocPtr : public Noncopyable {
+ template<class T> class OwnFastMallocPtr {
+ WTF_MAKE_NONCOPYABLE(OwnFastMallocPtr);
public:
explicit OwnFastMallocPtr(T* ptr) : m_ptr(ptr)
{
diff --git a/Source/JavaScriptCore/wtf/OwnPtr.h b/Source/JavaScriptCore/wtf/OwnPtr.h
index cdc277c..fb59432 100644
--- a/Source/JavaScriptCore/wtf/OwnPtr.h
+++ b/Source/JavaScriptCore/wtf/OwnPtr.h
@@ -22,7 +22,6 @@
#define WTF_OwnPtr_h
#include "Assertions.h"
-#include "Noncopyable.h"
#include "NullPtr.h"
#include "OwnPtrCommon.h"
#include "TypeTraits.h"
@@ -39,7 +38,7 @@ namespace WTF {
template<typename T> class PassOwnPtr;
template<typename T> PassOwnPtr<T> adoptPtr(T*);
- template<typename T> class OwnPtr : public Noncopyable {
+ template<typename T> class OwnPtr {
public:
typedef typename RemovePointer<T>::Type ValueType;
typedef ValueType* PtrType;
diff --git a/Source/JavaScriptCore/wtf/RefCounted.h b/Source/JavaScriptCore/wtf/RefCounted.h
index 8d8b302..da178b2 100644
--- a/Source/JavaScriptCore/wtf/RefCounted.h
+++ b/Source/JavaScriptCore/wtf/RefCounted.h
@@ -22,6 +22,7 @@
#define RefCounted_h
#include "Assertions.h"
+#include "FastAllocBase.h"
#include "Noncopyable.h"
namespace WTF {
@@ -131,7 +132,8 @@ inline void adopted(RefCountedBase* object)
#endif
-template<typename T> class RefCounted : public RefCountedBase, public Noncopyable {
+template<typename T> class RefCounted : public RefCountedBase {
+ WTF_MAKE_NONCOPYABLE(RefCounted); WTF_MAKE_FAST_ALLOCATED;
public:
void deref()
{
@@ -140,6 +142,7 @@ public:
}
protected:
+ RefCounted() { }
~RefCounted()
{
}
diff --git a/Source/JavaScriptCore/wtf/RefPtr.h b/Source/JavaScriptCore/wtf/RefPtr.h
index d57f88a..353bd35 100644
--- a/Source/JavaScriptCore/wtf/RefPtr.h
+++ b/Source/JavaScriptCore/wtf/RefPtr.h
@@ -36,7 +36,8 @@ namespace WTF {
enum HashTableDeletedValueType { HashTableDeletedValue };
- template<typename T> class RefPtr : public FastAllocBase {
+ template<typename T> class RefPtr {
+ WTF_MAKE_FAST_ALLOCATED;
public:
ALWAYS_INLINE RefPtr() : m_ptr(0) { }
ALWAYS_INLINE RefPtr(T* ptr) : m_ptr(ptr) { refIfNotNull(ptr); }
diff --git a/Source/JavaScriptCore/wtf/RefPtrHashMap.h b/Source/JavaScriptCore/wtf/RefPtrHashMap.h
index b9e7eea..dbeabfa 100644
--- a/Source/JavaScriptCore/wtf/RefPtrHashMap.h
+++ b/Source/JavaScriptCore/wtf/RefPtrHashMap.h
@@ -45,7 +45,8 @@ namespace WTF {
};
template<typename T, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg>
- class HashMap<RefPtr<T>, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg> : public FastAllocBase {
+ class HashMap<RefPtr<T>, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg> {
+ WTF_MAKE_FAST_ALLOCATED;
private:
typedef KeyTraitsArg KeyTraits;
typedef MappedTraitsArg MappedTraits;
diff --git a/Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h b/Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h
index 3af87a8..ed1ba2c 100644
--- a/Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h
+++ b/Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h
@@ -31,14 +31,14 @@
#ifndef ThreadIdentifierDataPthreads_h
#define ThreadIdentifierDataPthreads_h
-#include <wtf/Noncopyable.h>
#include <wtf/Threading.h>
namespace WTF {
// Holds ThreadIdentifier in the thread-specific storage and employs pthreads-specific 2-pass destruction to reliably remove
// ThreadIdentifier from threadMap. It assumes regular ThreadSpecific types don't use multiple-pass destruction.
-class ThreadIdentifierData : public Noncopyable {
+class ThreadIdentifierData {
+ WTF_MAKE_NONCOPYABLE(ThreadIdentifierData);
public:
~ThreadIdentifierData();
diff --git a/Source/JavaScriptCore/wtf/ThreadSafeShared.h b/Source/JavaScriptCore/wtf/ThreadSafeShared.h
index 33c6612..a6a1cf2 100644
--- a/Source/JavaScriptCore/wtf/ThreadSafeShared.h
+++ b/Source/JavaScriptCore/wtf/ThreadSafeShared.h
@@ -62,12 +62,12 @@
#include "Platform.h"
#include <wtf/Atomics.h>
-#include <wtf/Noncopyable.h>
#include <wtf/ThreadingPrimitives.h>
namespace WTF {
-class ThreadSafeSharedBase : public Noncopyable {
+class ThreadSafeSharedBase {
+ WTF_MAKE_NONCOPYABLE(ThreadSafeSharedBase); WTF_MAKE_FAST_ALLOCATED;
public:
ThreadSafeSharedBase(int initialRefCount = 1)
: m_refCount(initialRefCount)
diff --git a/Source/JavaScriptCore/wtf/ThreadSpecific.h b/Source/JavaScriptCore/wtf/ThreadSpecific.h
index 93ed466..fa9a393 100644
--- a/Source/JavaScriptCore/wtf/ThreadSpecific.h
+++ b/Source/JavaScriptCore/wtf/ThreadSpecific.h
@@ -61,7 +61,8 @@ namespace WTF {
void ThreadSpecificThreadExit();
#endif
-template<typename T> class ThreadSpecific : public Noncopyable {
+template<typename T> class ThreadSpecific {
+ WTF_MAKE_NONCOPYABLE(ThreadSpecific);
public:
ThreadSpecific();
T* operator->();
@@ -84,7 +85,9 @@ private:
void static destroy(void* ptr);
#if USE(PTHREADS) || PLATFORM(QT) || PLATFORM(GTK) || OS(WINDOWS)
- struct Data : Noncopyable {
+ struct Data {
+ WTF_MAKE_NONCOPYABLE(Data);
+ public:
Data(T* value, ThreadSpecific<T>* owner) : value(value), owner(owner) {}
#if PLATFORM(QT)
~Data() { owner->destroy(this); }
diff --git a/Source/JavaScriptCore/wtf/ThreadSpecificWin.cpp b/Source/JavaScriptCore/wtf/ThreadSpecificWin.cpp
index f2c0cad..d72996a 100644
--- a/Source/JavaScriptCore/wtf/ThreadSpecificWin.cpp
+++ b/Source/JavaScriptCore/wtf/ThreadSpecificWin.cpp
@@ -21,7 +21,6 @@
#include "config.h"
#include "ThreadSpecific.h"
-#include <wtf/Noncopyable.h>
#if USE(PTHREADS)
#error This file should not be compiled by ports that do not use Windows native ThreadSpecific implementation.
diff --git a/Source/JavaScriptCore/wtf/Threading.cpp b/Source/JavaScriptCore/wtf/Threading.cpp
index 49de59e..f2e0565 100644
--- a/Source/JavaScriptCore/wtf/Threading.cpp
+++ b/Source/JavaScriptCore/wtf/Threading.cpp
@@ -30,7 +30,9 @@
namespace WTF {
-struct NewThreadContext : FastAllocBase {
+struct NewThreadContext {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
NewThreadContext(ThreadFunction entryPoint, void* data, const char* name)
: entryPoint(entryPoint)
, data(data)
diff --git a/Source/JavaScriptCore/wtf/ThreadingPrimitives.h b/Source/JavaScriptCore/wtf/ThreadingPrimitives.h
index c11a6cb..809c3e2 100644
--- a/Source/JavaScriptCore/wtf/ThreadingPrimitives.h
+++ b/Source/JavaScriptCore/wtf/ThreadingPrimitives.h
@@ -34,6 +34,7 @@
#include "Platform.h"
#include <wtf/Assertions.h>
+#include <wtf/FastAllocBase.h>
#include <wtf/Locker.h>
#include <wtf/Noncopyable.h>
@@ -96,7 +97,8 @@ typedef void* PlatformReadWriteLock;
typedef void* PlatformCondition;
#endif
-class Mutex : public Noncopyable {
+class Mutex {
+ WTF_MAKE_NONCOPYABLE(Mutex); WTF_MAKE_FAST_ALLOCATED;
public:
Mutex();
~Mutex();
@@ -113,7 +115,8 @@ private:
typedef Locker<Mutex> MutexLocker;
-class ReadWriteLock : public Noncopyable {
+class ReadWriteLock {
+ WTF_MAKE_NONCOPYABLE(ReadWriteLock);
public:
ReadWriteLock();
~ReadWriteLock();
@@ -130,7 +133,8 @@ private:
PlatformReadWriteLock m_readWriteLock;
};
-class ThreadCondition : public Noncopyable {
+class ThreadCondition {
+ WTF_MAKE_NONCOPYABLE(ThreadCondition);
public:
ThreadCondition();
~ThreadCondition();
diff --git a/Source/JavaScriptCore/wtf/Vector.h b/Source/JavaScriptCore/wtf/Vector.h
index f73793f..6d8dd4c 100644
--- a/Source/JavaScriptCore/wtf/Vector.h
+++ b/Source/JavaScriptCore/wtf/Vector.h
@@ -277,7 +277,8 @@ namespace WTF {
};
template<typename T>
- class VectorBufferBase : public Noncopyable {
+ class VectorBufferBase {
+ WTF_MAKE_NONCOPYABLE(VectorBufferBase);
public:
void allocateBuffer(size_t newCapacity)
{
@@ -488,7 +489,8 @@ namespace WTF {
};
template<typename T, size_t inlineCapacity = 0>
- class Vector : public FastAllocBase {
+ class Vector {
+ WTF_MAKE_FAST_ALLOCATED;
private:
typedef VectorBuffer<T, inlineCapacity> Buffer;
typedef VectorTypeOperations<T> TypeOperations;
diff --git a/Source/JavaScriptCore/wtf/WTFThreadData.h b/Source/JavaScriptCore/wtf/WTFThreadData.h
index 52c267a..243aa91 100644
--- a/Source/JavaScriptCore/wtf/WTFThreadData.h
+++ b/Source/JavaScriptCore/wtf/WTFThreadData.h
@@ -52,7 +52,8 @@ namespace JSC {
typedef HashMap<const char*, RefPtr<StringImpl>, PtrHash<const char*> > LiteralIdentifierTable;
-class IdentifierTable : public FastAllocBase {
+class IdentifierTable {
+ WTF_MAKE_FAST_ALLOCATED;
public:
~IdentifierTable();
@@ -85,7 +86,8 @@ class AtomicStringTable;
typedef void (*AtomicStringTableDestructor)(AtomicStringTable*);
-class WTFThreadData : public Noncopyable {
+class WTFThreadData {
+ WTF_MAKE_NONCOPYABLE(WTFThreadData);
public:
WTFThreadData();
~WTFThreadData();
diff --git a/Source/JavaScriptCore/wtf/dtoa.cpp b/Source/JavaScriptCore/wtf/dtoa.cpp
index c89c036..b5b1261 100644
--- a/Source/JavaScriptCore/wtf/dtoa.cpp
+++ b/Source/JavaScriptCore/wtf/dtoa.cpp
@@ -414,7 +414,10 @@ static void mult(BigInt& aRef, const BigInt& bRef)
aRef = c;
}
-struct P5Node : Noncopyable {
+struct P5Node {
+ WTF_MAKE_NONCOPYABLE(P5Node); WTF_MAKE_FAST_ALLOCATED;
+public:
+ P5Node() { }
BigInt val;
P5Node* next;
};
diff --git a/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h b/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h
index cec3e43..4136f28 100644
--- a/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h
+++ b/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h
@@ -41,7 +41,8 @@ template<> void freeOwnedGPtr<GPatternSpec>(GPatternSpec*);
template<> void freeOwnedGPtr<GDir>(GDir*);
template<> void freeOwnedGPtr<GFile>(GFile*);
-template <typename T> class GOwnPtr : public Noncopyable {
+template <typename T> class GOwnPtr {
+ WTF_MAKE_NONCOPYABLE(GOwnPtr);
public:
explicit GOwnPtr(T* ptr = 0) : m_ptr(ptr) { }
~GOwnPtr() { freeOwnedGPtr(m_ptr); }
diff --git a/Source/JavaScriptCore/wtf/text/StringBuffer.h b/Source/JavaScriptCore/wtf/text/StringBuffer.h
index a546bf3..e73d38e 100644
--- a/Source/JavaScriptCore/wtf/text/StringBuffer.h
+++ b/Source/JavaScriptCore/wtf/text/StringBuffer.h
@@ -30,13 +30,13 @@
#define StringBuffer_h
#include <wtf/Assertions.h>
-#include <wtf/Noncopyable.h>
#include <wtf/unicode/Unicode.h>
#include <limits>
namespace WTF {
-class StringBuffer : public Noncopyable {
+class StringBuffer {
+ WTF_MAKE_NONCOPYABLE(StringBuffer);
public:
explicit StringBuffer(unsigned length)
: m_length(length)
diff --git a/Source/JavaScriptCore/wtf/text/StringImplBase.h b/Source/JavaScriptCore/wtf/text/StringImplBase.h
index 6567672..26bc1d9 100644
--- a/Source/JavaScriptCore/wtf/text/StringImplBase.h
+++ b/Source/JavaScriptCore/wtf/text/StringImplBase.h
@@ -26,12 +26,12 @@
#ifndef StringImplBase_h
#define StringImplBase_h
-#include <wtf/Noncopyable.h>
#include <wtf/unicode/Unicode.h>
namespace WTF {
-class StringImplBase : public Noncopyable {
+class StringImplBase {
+ WTF_MAKE_NONCOPYABLE(StringImplBase); WTF_MAKE_FAST_ALLOCATED;
public:
bool isStringImpl() { return (m_refCountAndFlags & s_refCountInvalidForStringImpl) != s_refCountInvalidForStringImpl; }
unsigned length() const { return m_length; }
@@ -45,9 +45,6 @@ protected:
BufferShared,
};
- using Noncopyable::operator new;
- void* operator new(size_t, void* inPlace) { ASSERT(inPlace); return inPlace; }
-
// For SmallStringStorage, which allocates an array and uses an in-place new.
StringImplBase() { }
diff --git a/Source/JavaScriptCore/wtf/unicode/Collator.h b/Source/JavaScriptCore/wtf/unicode/Collator.h
index fe6a809..00ab16e 100644
--- a/Source/JavaScriptCore/wtf/unicode/Collator.h
+++ b/Source/JavaScriptCore/wtf/unicode/Collator.h
@@ -29,6 +29,7 @@
#ifndef WTF_Collator_h
#define WTF_Collator_h
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/unicode/Unicode.h>
@@ -39,7 +40,8 @@ struct UCollator;
namespace WTF {
- class Collator : public Noncopyable {
+ class Collator {
+ WTF_MAKE_NONCOPYABLE(Collator); WTF_MAKE_FAST_ALLOCATED;
public:
enum Result { Equal = 0, Greater = 1, Less = -1 };
diff --git a/Source/JavaScriptCore/yarr/YarrInterpreter.h b/Source/JavaScriptCore/yarr/YarrInterpreter.h
index be703a9..eea5266 100644
--- a/Source/JavaScriptCore/yarr/YarrInterpreter.h
+++ b/Source/JavaScriptCore/yarr/YarrInterpreter.h
@@ -299,7 +299,8 @@ struct ByteTerm {
}
};
-class ByteDisjunction : public FastAllocBase {
+class ByteDisjunction {
+ WTF_MAKE_FAST_ALLOCATED;
public:
ByteDisjunction(unsigned numSubpatterns, unsigned frameSize)
: m_numSubpatterns(numSubpatterns)
@@ -312,7 +313,9 @@ public:
unsigned m_frameSize;
};
-struct BytecodePattern : FastAllocBase {
+struct BytecodePattern {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
BytecodePattern(PassOwnPtr<ByteDisjunction> body, Vector<ByteDisjunction*> allParenthesesInfo, YarrPattern& pattern, BumpPointerAllocator* allocator)
: m_body(body)
, m_ignoreCase(pattern.m_ignoreCase)
diff --git a/Source/JavaScriptCore/yarr/YarrPattern.h b/Source/JavaScriptCore/yarr/YarrPattern.h
index 2172dda..d80f692 100644
--- a/Source/JavaScriptCore/yarr/YarrPattern.h
+++ b/Source/JavaScriptCore/yarr/YarrPattern.h
@@ -63,7 +63,9 @@ private:
}
};
-struct CharacterClass : FastAllocBase {
+struct CharacterClass {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
// All CharacterClass instances have to have the full set of matches and ranges,
// they may have an optional table for faster lookups (which must match the
// specified matches and ranges)
@@ -204,7 +206,9 @@ struct PatternTerm {
}
};
-struct PatternAlternative : FastAllocBase {
+struct PatternAlternative {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
PatternAlternative(PatternDisjunction* disjunction)
: m_parent(disjunction)
, m_onceThrough(false)
@@ -245,7 +249,9 @@ struct PatternAlternative : FastAllocBase {
bool m_containsBOL : 1;
};
-struct PatternDisjunction : FastAllocBase {
+struct PatternDisjunction {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
PatternDisjunction(PatternAlternative* parent = 0)
: m_parent(parent)
, m_hasFixedSize(false)
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index c59834c..e0381ab 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,14 @@
+2011-01-20 Zoltan Horvath <zoltan at webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Refactoring of the custom allocation framework
+ https://bugs.webkit.org/show_bug.cgi?id=49897
+
+ Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
+ The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
+ equivalent macro implementation at the necessary places.
+
2011-01-20 Mikhail Naganov <mnaganov at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/Source/WebCore/accessibility/AXObjectCache.h b/Source/WebCore/accessibility/AXObjectCache.h
index 670d6e0..00e7fbc 100644
--- a/Source/WebCore/accessibility/AXObjectCache.h
+++ b/Source/WebCore/accessibility/AXObjectCache.h
@@ -60,7 +60,8 @@ struct TextMarkerData {
enum PostType { PostSynchronously, PostAsynchronously };
-class AXObjectCache : public Noncopyable {
+class AXObjectCache {
+ WTF_MAKE_NONCOPYABLE(AXObjectCache); WTF_MAKE_FAST_ALLOCATED;
public:
AXObjectCache(const Document*);
~AXObjectCache();
diff --git a/Source/WebCore/bindings/js/CachedScriptSourceProvider.h b/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
index ea68d10..9bae8ca 100644
--- a/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
+++ b/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
@@ -36,6 +36,7 @@
namespace WebCore {
class CachedScriptSourceProvider : public ScriptSourceProvider, public CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<CachedScriptSourceProvider> create(CachedScript* cachedScript) { return adoptRef(new CachedScriptSourceProvider(cachedScript)); }
diff --git a/Source/WebCore/bindings/js/GCController.h b/Source/WebCore/bindings/js/GCController.h
index 4c25407..91f1e4c 100644
--- a/Source/WebCore/bindings/js/GCController.h
+++ b/Source/WebCore/bindings/js/GCController.h
@@ -26,12 +26,12 @@
#ifndef GCController_h
#define GCController_h
-#include <wtf/Noncopyable.h>
#include "Timer.h"
namespace WebCore {
- class GCController : public Noncopyable {
+ class GCController {
+ WTF_MAKE_NONCOPYABLE(GCController); WTF_MAKE_FAST_ALLOCATED;
friend GCController& gcController();
public:
diff --git a/Source/WebCore/bindings/js/JSDebugWrapperSet.h b/Source/WebCore/bindings/js/JSDebugWrapperSet.h
index 94b6f78..e1138ed 100644
--- a/Source/WebCore/bindings/js/JSDebugWrapperSet.h
+++ b/Source/WebCore/bindings/js/JSDebugWrapperSet.h
@@ -37,7 +37,8 @@ namespace WebCore {
// - wrappers being deleted without being removed from the cache
// - wrappers being cached twice
-class JSDebugWrapperSet : public Noncopyable {
+class JSDebugWrapperSet {
+ WTF_MAKE_NONCOPYABLE(JSDebugWrapperSet);
friend class WTF::ThreadSpecific<JSDebugWrapperSet>;
public:
static JSDebugWrapperSet& shared();
diff --git a/Source/WebCore/bindings/js/JSMainThreadExecState.h b/Source/WebCore/bindings/js/JSMainThreadExecState.h
index 8193d7c..349dc14 100644
--- a/Source/WebCore/bindings/js/JSMainThreadExecState.h
+++ b/Source/WebCore/bindings/js/JSMainThreadExecState.h
@@ -30,11 +30,11 @@
#ifndef NDEBUG
#include <wtf/MainThread.h>
#endif
-#include <wtf/Noncopyable.h>
namespace WebCore {
-class JSMainThreadExecState : public Noncopyable {
+class JSMainThreadExecState {
+ WTF_MAKE_NONCOPYABLE(JSMainThreadExecState);
public:
static JSC::ExecState* currentState()
{
diff --git a/Source/WebCore/bindings/js/ScheduledAction.h b/Source/WebCore/bindings/js/ScheduledAction.h
index 6c9d0ba..59ad6fc 100644
--- a/Source/WebCore/bindings/js/ScheduledAction.h
+++ b/Source/WebCore/bindings/js/ScheduledAction.h
@@ -41,7 +41,8 @@ namespace WebCore {
* time interval, either once or repeatedly. Used for window.setTimeout()
* and window.setInterval()
*/
- class ScheduledAction : public Noncopyable {
+ class ScheduledAction {
+ WTF_MAKE_NONCOPYABLE(ScheduledAction); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<ScheduledAction> create(JSC::ExecState*, DOMWrapperWorld* isolatedWorld);
diff --git a/Source/WebCore/bindings/js/ScriptCachedFrameData.h b/Source/WebCore/bindings/js/ScriptCachedFrameData.h
index 15c23c5..5f691d9 100644
--- a/Source/WebCore/bindings/js/ScriptCachedFrameData.h
+++ b/Source/WebCore/bindings/js/ScriptCachedFrameData.h
@@ -40,7 +40,8 @@ namespace WebCore {
class DOMWindow;
class DOMWrapperWorld;
- class ScriptCachedFrameData : public Noncopyable {
+ class ScriptCachedFrameData {
+ WTF_MAKE_NONCOPYABLE(ScriptCachedFrameData); WTF_MAKE_FAST_ALLOCATED;
typedef HashMap< RefPtr<DOMWrapperWorld>, JSC::ProtectedPtr<JSDOMWindow> > JSDOMWindowSet;
public:
diff --git a/Source/WebCore/bindings/js/ScriptDebugServer.h b/Source/WebCore/bindings/js/ScriptDebugServer.h
index de274db..bde4736 100644
--- a/Source/WebCore/bindings/js/ScriptDebugServer.h
+++ b/Source/WebCore/bindings/js/ScriptDebugServer.h
@@ -56,7 +56,8 @@ class PageGroup;
class ScriptDebugListener;
class JavaScriptCallFrame;
-class ScriptDebugServer : JSC::Debugger, public Noncopyable {
+class ScriptDebugServer : JSC::Debugger {
+ WTF_MAKE_NONCOPYABLE(ScriptDebugServer); WTF_MAKE_FAST_ALLOCATED;
public:
static ScriptDebugServer& shared();
diff --git a/Source/WebCore/bindings/js/ScriptProfiler.h b/Source/WebCore/bindings/js/ScriptProfiler.h
index 05e7a25..d4dd606 100644
--- a/Source/WebCore/bindings/js/ScriptProfiler.h
+++ b/Source/WebCore/bindings/js/ScriptProfiler.h
@@ -32,11 +32,11 @@
#include "ScriptProfile.h"
#include "ScriptState.h"
-#include <wtf/Noncopyable.h>
namespace WebCore {
-class ScriptProfiler : public Noncopyable {
+class ScriptProfiler {
+ WTF_MAKE_NONCOPYABLE(ScriptProfiler);
public:
static void start(ScriptState* state, const String& title);
static PassRefPtr<ScriptProfile> stop(ScriptState* state, const String& title);
diff --git a/Source/WebCore/bindings/js/ScriptState.h b/Source/WebCore/bindings/js/ScriptState.h
index 0c08611..e19c0c8 100644
--- a/Source/WebCore/bindings/js/ScriptState.h
+++ b/Source/WebCore/bindings/js/ScriptState.h
@@ -52,7 +52,8 @@ class Page;
// For now, the separation is purely by convention.
typedef JSC::ExecState ScriptState;
-class ScriptStateProtectedPtr : public Noncopyable {
+class ScriptStateProtectedPtr {
+ WTF_MAKE_NONCOPYABLE(ScriptStateProtectedPtr);
public:
explicit ScriptStateProtectedPtr(ScriptState*);
~ScriptStateProtectedPtr();
diff --git a/Source/WebCore/bindings/js/WebCoreJSClientData.h b/Source/WebCore/bindings/js/WebCoreJSClientData.h
index 5d03328..6e2d7be 100644
--- a/Source/WebCore/bindings/js/WebCoreJSClientData.h
+++ b/Source/WebCore/bindings/js/WebCoreJSClientData.h
@@ -24,17 +24,18 @@
#include "DOMWrapperWorld.h"
#include "DOMObjectHashTableMap.h"
-#include <wtf/Noncopyable.h>
#include <wtf/HashSet.h>
#include <wtf/RefPtr.h>
namespace WebCore {
-class WebCoreJSClientData : public JSC::JSGlobalData::ClientData, public Noncopyable {
+class WebCoreJSClientData : public JSC::JSGlobalData::ClientData {
+ WTF_MAKE_NONCOPYABLE(WebCoreJSClientData); WTF_MAKE_FAST_ALLOCATED;
friend class JSGlobalDataWorldIterator;
friend void initNormalWorldClientData(JSC::JSGlobalData*);
public:
+ WebCoreJSClientData() { }
virtual ~WebCoreJSClientData()
{
ASSERT(m_worldSet.contains(m_normalWorld.get()));
diff --git a/Source/WebCore/bindings/js/WorkerScriptController.h b/Source/WebCore/bindings/js/WorkerScriptController.h
index be7da4d..4578913 100644
--- a/Source/WebCore/bindings/js/WorkerScriptController.h
+++ b/Source/WebCore/bindings/js/WorkerScriptController.h
@@ -31,7 +31,6 @@
#include <runtime/Protect.h>
#include <wtf/Forward.h>
-#include <wtf/Noncopyable.h>
#include <wtf/Threading.h>
namespace JSC {
@@ -45,7 +44,8 @@ namespace WebCore {
class ScriptValue;
class WorkerContext;
- class WorkerScriptController : public Noncopyable {
+ class WorkerScriptController {
+ WTF_MAKE_NONCOPYABLE(WorkerScriptController); WTF_MAKE_FAST_ALLOCATED;
public:
WorkerScriptController(WorkerContext*);
~WorkerScriptController();
diff --git a/Source/WebCore/bindings/v8/DOMData.h b/Source/WebCore/bindings/v8/DOMData.h
index 78edf92..b042606 100644
--- a/Source/WebCore/bindings/v8/DOMData.h
+++ b/Source/WebCore/bindings/v8/DOMData.h
@@ -43,7 +43,8 @@ namespace WebCore {
// thread. The DOMData for the main thread and the DOMData for child threads
// use different subclasses.
//
- class DOMData : public Noncopyable {
+ class DOMData {
+ WTF_MAKE_NONCOPYABLE(DOMData);
public:
DOMData();
virtual ~DOMData();
diff --git a/Source/WebCore/bindings/v8/DOMDataStore.h b/Source/WebCore/bindings/v8/DOMDataStore.h
index cfe220e..dbead9c 100644
--- a/Source/WebCore/bindings/v8/DOMDataStore.h
+++ b/Source/WebCore/bindings/v8/DOMDataStore.h
@@ -149,7 +149,8 @@ namespace WebCore {
// This class doesn't manage the lifetime of the store. The data store
// lifetime is managed by subclasses.
//
- class DOMDataStore : public Noncopyable {
+ class DOMDataStore {
+ WTF_MAKE_NONCOPYABLE(DOMDataStore);
public:
enum DOMWrapperMapType {
DOMNodeMap,
diff --git a/Source/WebCore/bindings/v8/ScriptCachedFrameData.h b/Source/WebCore/bindings/v8/ScriptCachedFrameData.h
index 1aa1f62..376b5f6 100644
--- a/Source/WebCore/bindings/v8/ScriptCachedFrameData.h
+++ b/Source/WebCore/bindings/v8/ScriptCachedFrameData.h
@@ -60,14 +60,14 @@ public:
#include "OwnHandle.h"
#include <v8.h>
-#include <wtf/Noncopyable.h>
namespace WebCore {
class Frame;
class DOMWindow;
-class ScriptCachedFrameData : public Noncopyable {
+class ScriptCachedFrameData {
+ WTF_MAKE_NONCOPYABLE(ScriptCachedFrameData);
public:
ScriptCachedFrameData(Frame*);
~ScriptCachedFrameData() { }
diff --git a/Source/WebCore/bindings/v8/ScriptDebugServer.h b/Source/WebCore/bindings/v8/ScriptDebugServer.h
index 40dd5fc..8fa723f 100644
--- a/Source/WebCore/bindings/v8/ScriptDebugServer.h
+++ b/Source/WebCore/bindings/v8/ScriptDebugServer.h
@@ -48,7 +48,8 @@ namespace WebCore {
class Page;
class ScriptDebugListener;
-class ScriptDebugServer : public Noncopyable {
+class ScriptDebugServer {
+ WTF_MAKE_NONCOPYABLE(ScriptDebugServer);
public:
static ScriptDebugServer& shared();
diff --git a/Source/WebCore/bindings/v8/ScriptProfiler.h b/Source/WebCore/bindings/v8/ScriptProfiler.h
index b75a054..e0969e1 100644
--- a/Source/WebCore/bindings/v8/ScriptProfiler.h
+++ b/Source/WebCore/bindings/v8/ScriptProfiler.h
@@ -36,13 +36,13 @@
#include "ScriptProfile.h"
#include "ScriptState.h"
-#include <wtf/Noncopyable.h>
namespace WebCore {
class InspectorObject;
-class ScriptProfiler : public Noncopyable {
+class ScriptProfiler {
+ WTF_MAKE_NONCOPYABLE(ScriptProfiler);
public:
static void start(ScriptState* state, const String& title);
static PassRefPtr<ScriptProfile> stop(ScriptState* state, const String& title);
diff --git a/Source/WebCore/bindings/v8/ScriptState.h b/Source/WebCore/bindings/v8/ScriptState.h
index 11813b0..0fecee8 100644
--- a/Source/WebCore/bindings/v8/ScriptState.h
+++ b/Source/WebCore/bindings/v8/ScriptState.h
@@ -42,7 +42,8 @@ class Frame;
class Node;
class Page;
-class ScriptState : public Noncopyable {
+class ScriptState {
+ WTF_MAKE_NONCOPYABLE(ScriptState);
public:
bool hadException() { return !m_exception.IsEmpty(); }
void setException(v8::Local<v8::Value> exception)
@@ -79,7 +80,8 @@ public:
~EmptyScriptState() { }
};
-class ScriptStateProtectedPtr : public Noncopyable {
+class ScriptStateProtectedPtr {
+ WTF_MAKE_NONCOPYABLE(ScriptStateProtectedPtr);
public:
ScriptStateProtectedPtr() : m_scriptState(0) { }
ScriptStateProtectedPtr(ScriptState* scriptState) : m_scriptState(scriptState)
diff --git a/Source/WebCore/bindings/v8/SerializedScriptValue.cpp b/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
index e050bfc..666e619 100644
--- a/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
+++ b/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
@@ -128,7 +128,8 @@ private:
// Writer is responsible for serializing primitive types and storing
// information used to reconstruct composite types.
-class Writer : Noncopyable {
+class Writer {
+ WTF_MAKE_NONCOPYABLE(Writer);
public:
Writer()
: m_position(0)
@@ -377,7 +378,8 @@ public:
}
private:
- class StateBase : public Noncopyable {
+ class StateBase {
+ WTF_MAKE_NONCOPYABLE(StateBase);
public:
virtual ~StateBase() { }
diff --git a/Source/WebCore/bridge/Bridge.h b/Source/WebCore/bridge/Bridge.h
index 50efc64..00d6f36 100644
--- a/Source/WebCore/bridge/Bridge.h
+++ b/Source/WebCore/bridge/Bridge.h
@@ -28,14 +28,15 @@
#define Bridge_h
#include "BridgeJSC.h"
-#include <wtf/Noncopyable.h>
namespace JSC {
namespace Bindings {
-class Method : public Noncopyable {
+class Method {
+ WTF_MAKE_NONCOPYABLE(Method); WTF_MAKE_FAST_ALLOCATED;
public:
+ Method() { }
virtual int numParameters() const = 0;
virtual ~Method() { }
diff --git a/Source/WebCore/bridge/IdentifierRep.h b/Source/WebCore/bridge/IdentifierRep.h
index 99bae0b..8646e92 100644
--- a/Source/WebCore/bridge/IdentifierRep.h
+++ b/Source/WebCore/bridge/IdentifierRep.h
@@ -33,7 +33,8 @@
namespace WebCore {
-class IdentifierRep : public FastAllocBase {
+class IdentifierRep {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static IdentifierRep* get(int);
static IdentifierRep* get(const char*);
diff --git a/Source/WebCore/bridge/jsc/BridgeJSC.h b/Source/WebCore/bridge/jsc/BridgeJSC.h
index 96974d9..ebcfaad 100644
--- a/Source/WebCore/bridge/jsc/BridgeJSC.h
+++ b/Source/WebCore/bridge/jsc/BridgeJSC.h
@@ -59,8 +59,10 @@ public:
virtual ~Field() { }
};
-class Class : public Noncopyable {
+class Class {
+ WTF_MAKE_NONCOPYABLE(Class); WTF_MAKE_FAST_ALLOCATED;
public:
+ Class() { }
virtual MethodList methodsNamed(const Identifier&, Instance*) const = 0;
virtual Field* fieldNamed(const Identifier&, Instance*) const = 0;
virtual JSValue fallbackObject(ExecState*, Instance*, const Identifier&) { return jsUndefined(); }
@@ -125,7 +127,8 @@ private:
WeakGCPtr<RuntimeObject> m_runtimeObject;
};
-class Array : public Noncopyable {
+class Array {
+ WTF_MAKE_NONCOPYABLE(Array);
public:
Array(PassRefPtr<RootObject>);
virtual ~Array();
diff --git a/Source/WebCore/css/CSSImageValue.h b/Source/WebCore/css/CSSImageValue.h
index 833d7fe..174f1ed 100644
--- a/Source/WebCore/css/CSSImageValue.h
+++ b/Source/WebCore/css/CSSImageValue.h
@@ -32,6 +32,7 @@ class StyleCachedImage;
class StyleImage;
class CSSImageValue : public CSSPrimitiveValue, private CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<CSSImageValue> create() { return adoptRef(new CSSImageValue); }
static PassRefPtr<CSSImageValue> create(const String& url) { return adoptRef(new CSSImageValue(url)); }
diff --git a/Source/WebCore/css/CSSImportRule.h b/Source/WebCore/css/CSSImportRule.h
index 10d3026..ad4e97d 100644
--- a/Source/WebCore/css/CSSImportRule.h
+++ b/Source/WebCore/css/CSSImportRule.h
@@ -34,6 +34,7 @@ class CachedCSSStyleSheet;
class MediaList;
class CSSImportRule : public CSSRule, private CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<CSSImportRule> create(CSSStyleSheet* parent, const String& href, PassRefPtr<MediaList> media)
{
diff --git a/Source/WebCore/css/CSSNamespace.h b/Source/WebCore/css/CSSNamespace.h
index 6225c36..92638f2 100644
--- a/Source/WebCore/css/CSSNamespace.h
+++ b/Source/WebCore/css/CSSNamespace.h
@@ -26,7 +26,9 @@
namespace WebCore {
- struct CSSNamespace : Noncopyable {
+ struct CSSNamespace {
+ WTF_MAKE_NONCOPYABLE(CSSNamespace); WTF_MAKE_FAST_ALLOCATED;
+ public:
AtomicString prefix;
AtomicString uri;
OwnPtr<CSSNamespace> parent;
diff --git a/Source/WebCore/css/CSSParser.h b/Source/WebCore/css/CSSParser.h
index 496a21a..d326812 100644
--- a/Source/WebCore/css/CSSParser.h
+++ b/Source/WebCore/css/CSSParser.h
@@ -340,7 +340,8 @@ namespace WebCore {
int cssPropertyID(const String&);
int cssValueKeywordID(const CSSParserString&);
- class ShorthandScope : public FastAllocBase {
+ class ShorthandScope {
+ WTF_MAKE_FAST_ALLOCATED;
public:
ShorthandScope(CSSParser* parser, int propId) : m_parser(parser)
{
diff --git a/Source/WebCore/css/CSSParserValues.h b/Source/WebCore/css/CSSParserValues.h
index 993ae28..996e783 100644
--- a/Source/WebCore/css/CSSParserValues.h
+++ b/Source/WebCore/css/CSSParserValues.h
@@ -59,7 +59,8 @@ struct CSSParserValue {
PassRefPtr<CSSValue> createCSSValue();
};
-class CSSParserValueList : public FastAllocBase {
+class CSSParserValueList {
+ WTF_MAKE_FAST_ALLOCATED;
public:
CSSParserValueList()
: m_current(0)
@@ -83,7 +84,9 @@ private:
Vector<CSSParserValue, 4> m_values;
};
-struct CSSParserFunction : FastAllocBase {
+struct CSSParserFunction {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
CSSParserString name;
OwnPtr<CSSParserValueList> args;
};
diff --git a/Source/WebCore/css/CSSProperty.h b/Source/WebCore/css/CSSProperty.h
index 106171d..10e593c 100644
--- a/Source/WebCore/css/CSSProperty.h
+++ b/Source/WebCore/css/CSSProperty.h
@@ -29,7 +29,8 @@
namespace WebCore {
-class CSSProperty : public FastAllocBase {
+class CSSProperty {
+ WTF_MAKE_FAST_ALLOCATED;
public:
CSSProperty(int propID, PassRefPtr<CSSValue> value, bool important = false, int shorthandID = 0, bool implicit = false)
: m_id(propID)
diff --git a/Source/WebCore/css/CSSSelector.cpp b/Source/WebCore/css/CSSSelector.cpp
index 400dd40..ca3814a 100644
--- a/Source/WebCore/css/CSSSelector.cpp
+++ b/Source/WebCore/css/CSSSelector.cpp
@@ -37,8 +37,10 @@ namespace WebCore {
using namespace HTMLNames;
-class CSSSelectorBag : public Noncopyable {
+class CSSSelectorBag {
+ WTF_MAKE_NONCOPYABLE(CSSSelectorBag);
public:
+ CSSSelectorBag() { }
~CSSSelectorBag()
{
ASSERT(isEmpty());
diff --git a/Source/WebCore/css/CSSSelector.h b/Source/WebCore/css/CSSSelector.h
index 5456be6..b930353 100644
--- a/Source/WebCore/css/CSSSelector.h
+++ b/Source/WebCore/css/CSSSelector.h
@@ -33,7 +33,8 @@ namespace WebCore {
class CSSSelectorBag;
// this class represents a selector for a StyleRule
- class CSSSelector : public Noncopyable {
+ class CSSSelector {
+ WTF_MAKE_NONCOPYABLE(CSSSelector); WTF_MAKE_FAST_ALLOCATED;
public:
CSSSelector()
: m_relation(Descendant)
@@ -306,7 +307,9 @@ namespace WebCore {
unsigned specificityForPage() const;
void extractPseudoType() const;
- struct RareData : Noncopyable {
+ struct RareData {
+ WTF_MAKE_NONCOPYABLE(RareData); WTF_MAKE_FAST_ALLOCATED;
+ public:
RareData(PassOwnPtr<CSSSelector> tagHistory)
: m_a(0)
, m_b(0)
diff --git a/Source/WebCore/css/CSSSelectorList.h b/Source/WebCore/css/CSSSelectorList.h
index 7adc6b9..abd9bc8 100644
--- a/Source/WebCore/css/CSSSelectorList.h
+++ b/Source/WebCore/css/CSSSelectorList.h
@@ -27,11 +27,11 @@
#define CSSSelectorList_h
#include "CSSSelector.h"
-#include <wtf/Noncopyable.h>
namespace WebCore {
-class CSSSelectorList : public Noncopyable {
+class CSSSelectorList {
+ WTF_MAKE_NONCOPYABLE(CSSSelectorList); WTF_MAKE_FAST_ALLOCATED;
public:
CSSSelectorList() : m_selectorArray(0) { }
~CSSSelectorList();
diff --git a/Source/WebCore/css/CSSStyleSelector.cpp b/Source/WebCore/css/CSSStyleSelector.cpp
index fc0722a..27b44d2 100644
--- a/Source/WebCore/css/CSSStyleSelector.cpp
+++ b/Source/WebCore/css/CSSStyleSelector.cpp
@@ -352,7 +352,8 @@ if (id == propID) { \
return; \
}
-class CSSRuleData : public Noncopyable {
+class CSSRuleData {
+ WTF_MAKE_NONCOPYABLE(CSSRuleData);
public:
CSSRuleData(unsigned pos, CSSStyleRule* r, CSSSelector* sel, CSSRuleData* prev = 0)
: m_position(pos)
@@ -380,7 +381,8 @@ private:
CSSRuleData* m_next;
};
-class CSSRuleDataList : public Noncopyable {
+class CSSRuleDataList {
+ WTF_MAKE_NONCOPYABLE(CSSRuleDataList);
public:
CSSRuleDataList(unsigned pos, CSSStyleRule* rule, CSSSelector* sel)
: m_first(new CSSRuleData(pos, rule, sel))
@@ -410,7 +412,8 @@ private:
CSSRuleData* m_last;
};
-class CSSRuleSet : public Noncopyable {
+class CSSRuleSet {
+ WTF_MAKE_NONCOPYABLE(CSSRuleSet);
public:
CSSRuleSet();
~CSSRuleSet();
diff --git a/Source/WebCore/css/CSSStyleSelector.h b/Source/WebCore/css/CSSStyleSelector.h
index eeace57..e035af2 100644
--- a/Source/WebCore/css/CSSStyleSelector.h
+++ b/Source/WebCore/css/CSSStyleSelector.h
@@ -69,7 +69,8 @@ class StyledElement;
class WebKitCSSKeyframeRule;
class WebKitCSSKeyframesRule;
-class MediaQueryResult : public Noncopyable {
+class MediaQueryResult {
+ WTF_MAKE_NONCOPYABLE(MediaQueryResult); WTF_MAKE_FAST_ALLOCATED;
public:
MediaQueryResult(const MediaQueryExp& expr, bool result)
: m_expression(expr)
@@ -82,7 +83,8 @@ public:
};
// This class selects a RenderStyle for a given element based on a collection of stylesheets.
- class CSSStyleSelector : public Noncopyable {
+ class CSSStyleSelector {
+ WTF_MAKE_NONCOPYABLE(CSSStyleSelector); WTF_MAKE_FAST_ALLOCATED;
public:
CSSStyleSelector(Document*, StyleSheetList* authorSheets, CSSStyleSheet* mappedElementSheet,
CSSStyleSheet* pageUserSheet, const Vector<RefPtr<CSSStyleSheet> >* pageGroupUserSheets,
@@ -214,7 +216,8 @@ public:
public:
static RenderStyle* styleNotYetAvailable() { return s_styleNotYetAvailable; }
- class SelectorChecker : public Noncopyable {
+ class SelectorChecker {
+ WTF_MAKE_NONCOPYABLE(SelectorChecker);
public:
SelectorChecker(Document*, bool strictParsing);
diff --git a/Source/WebCore/css/MediaQuery.h b/Source/WebCore/css/MediaQuery.h
index 281009b..a638ac9 100644
--- a/Source/WebCore/css/MediaQuery.h
+++ b/Source/WebCore/css/MediaQuery.h
@@ -37,7 +37,8 @@
namespace WebCore {
class MediaQueryExp;
-class MediaQuery : public Noncopyable {
+class MediaQuery {
+ WTF_MAKE_NONCOPYABLE(MediaQuery); WTF_MAKE_FAST_ALLOCATED;
public:
enum Restrictor {
Only, Not, None
diff --git a/Source/WebCore/css/MediaQueryEvaluator.h b/Source/WebCore/css/MediaQueryEvaluator.h
index 00ac394..07c4d0d 100644
--- a/Source/WebCore/css/MediaQueryEvaluator.h
+++ b/Source/WebCore/css/MediaQueryEvaluator.h
@@ -49,7 +49,8 @@ class MediaQueryExp;
* the device characteristics are not known. This can be used to prune the loading
* of stylesheets to only those which are probable to match.
*/
-class MediaQueryEvaluator : public Noncopyable {
+class MediaQueryEvaluator {
+ WTF_MAKE_NONCOPYABLE(MediaQueryEvaluator); WTF_MAKE_FAST_ALLOCATED;
public:
/** Creates evaluator which evaluates only simple media queries
* Evaluator returns true for "all", and returns value of \mediaFeatureResult
diff --git a/Source/WebCore/css/MediaQueryExp.h b/Source/WebCore/css/MediaQueryExp.h
index 72d3fff..7e4d477 100644
--- a/Source/WebCore/css/MediaQueryExp.h
+++ b/Source/WebCore/css/MediaQueryExp.h
@@ -38,7 +38,8 @@
namespace WebCore {
class CSSParserValueList;
-class MediaQueryExp : public FastAllocBase {
+class MediaQueryExp {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<MediaQueryExp> create(const AtomicString& mediaFeature, CSSParserValueList* values);
~MediaQueryExp();
diff --git a/Source/WebCore/dom/AsyncScriptRunner.h b/Source/WebCore/dom/AsyncScriptRunner.h
index 2326f67..6a75323 100644
--- a/Source/WebCore/dom/AsyncScriptRunner.h
+++ b/Source/WebCore/dom/AsyncScriptRunner.h
@@ -39,7 +39,8 @@ class Document;
class PendingScript;
class ScriptElement;
-class AsyncScriptRunner : public Noncopyable {
+class AsyncScriptRunner {
+ WTF_MAKE_NONCOPYABLE(AsyncScriptRunner); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<AsyncScriptRunner> create(Document* document) { return new AsyncScriptRunner(document); }
~AsyncScriptRunner();
diff --git a/Source/WebCore/dom/DOMStringMap.h b/Source/WebCore/dom/DOMStringMap.h
index 86a22b0..772a700 100644
--- a/Source/WebCore/dom/DOMStringMap.h
+++ b/Source/WebCore/dom/DOMStringMap.h
@@ -35,7 +35,8 @@ namespace WebCore {
class Element;
typedef int ExceptionCode;
-class DOMStringMap : public Noncopyable {
+class DOMStringMap {
+ WTF_MAKE_NONCOPYABLE(DOMStringMap); WTF_MAKE_FAST_ALLOCATED;
public:
virtual ~DOMStringMap();
diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp
index 0bb025a..15b097c 100644
--- a/Source/WebCore/dom/Document.cpp
+++ b/Source/WebCore/dom/Document.cpp
@@ -4691,7 +4691,9 @@ void Document::addMessage(MessageSource source, MessageType type, MessageLevel l
window->console()->addMessage(source, type, level, message, lineNumber, sourceURL, callStack);
}
-struct PerformTaskContext : Noncopyable {
+struct PerformTaskContext {
+ WTF_MAKE_NONCOPYABLE(PerformTaskContext); WTF_MAKE_FAST_ALLOCATED;
+public:
PerformTaskContext(PassRefPtr<DocumentWeakReference> documentReference, PassOwnPtr<ScriptExecutionContext::Task> task)
: documentReference(documentReference)
, task(task)
diff --git a/Source/WebCore/dom/DocumentMarkerController.h b/Source/WebCore/dom/DocumentMarkerController.h
index 83177fc..2dc2b9e 100644
--- a/Source/WebCore/dom/DocumentMarkerController.h
+++ b/Source/WebCore/dom/DocumentMarkerController.h
@@ -38,8 +38,10 @@ class IntRect;
class Node;
class Range;
-class DocumentMarkerController : public Noncopyable {
+class DocumentMarkerController {
+ WTF_MAKE_NONCOPYABLE(DocumentMarkerController); WTF_MAKE_FAST_ALLOCATED;
public:
+ DocumentMarkerController() { }
~DocumentMarkerController() { detach(); }
void detach();
diff --git a/Source/WebCore/dom/Event.h b/Source/WebCore/dom/Event.h
index f629241..45b879d 100644
--- a/Source/WebCore/dom/Event.h
+++ b/Source/WebCore/dom/Event.h
@@ -24,13 +24,13 @@
#ifndef Event_h
#define Event_h
+#include "Clipboard.h"
#include "DOMTimeStamp.h"
#include <wtf/RefCounted.h>
#include <wtf/text/AtomicString.h>
namespace WebCore {
- class Clipboard;
class EventTarget;
class Event : public RefCounted<Event> {
diff --git a/Source/WebCore/dom/EventNames.h b/Source/WebCore/dom/EventNames.h
index 72768d2..439e9d8 100644
--- a/Source/WebCore/dom/EventNames.h
+++ b/Source/WebCore/dom/EventNames.h
@@ -180,7 +180,8 @@ namespace WebCore {
\
// end of DOM_EVENT_NAMES_FOR_EACH
- class EventNames : public Noncopyable {
+ class EventNames {
+ WTF_MAKE_NONCOPYABLE(EventNames); WTF_MAKE_FAST_ALLOCATED;
int dummy; // Needed to make initialization macro work.
// Private to prevent accidental call to EventNames() instead of eventNames()
EventNames();
diff --git a/Source/WebCore/dom/EventTarget.h b/Source/WebCore/dom/EventTarget.h
index ddcb663..81eeb7f 100644
--- a/Source/WebCore/dom/EventTarget.h
+++ b/Source/WebCore/dom/EventTarget.h
@@ -83,7 +83,9 @@ namespace WebCore {
typedef Vector<RegisteredEventListener, 1> EventListenerVector;
typedef HashMap<AtomicString, EventListenerVector*> EventListenerMap;
- struct EventTargetData : Noncopyable {
+ struct EventTargetData {
+ WTF_MAKE_NONCOPYABLE(EventTargetData); WTF_MAKE_FAST_ALLOCATED;
+ public:
EventTargetData();
~EventTargetData();
diff --git a/Source/WebCore/dom/IgnoreDestructiveWriteCountIncrementer.h b/Source/WebCore/dom/IgnoreDestructiveWriteCountIncrementer.h
index 9d1835a..26f7fd0 100644
--- a/Source/WebCore/dom/IgnoreDestructiveWriteCountIncrementer.h
+++ b/Source/WebCore/dom/IgnoreDestructiveWriteCountIncrementer.h
@@ -27,11 +27,11 @@
#define IgnoreDestructiveWriteCountIncrementer_h
#include "Document.h"
-#include <wtf/Noncopyable.h>
namespace WebCore {
-class IgnoreDestructiveWriteCountIncrementer : public Noncopyable {
+class IgnoreDestructiveWriteCountIncrementer {
+ WTF_MAKE_NONCOPYABLE(IgnoreDestructiveWriteCountIncrementer);
public:
explicit IgnoreDestructiveWriteCountIncrementer(Document* document)
: m_count(document ? &document->m_ignoreDestructiveWriteCount : 0)
diff --git a/Source/WebCore/dom/MessagePortChannel.h b/Source/WebCore/dom/MessagePortChannel.h
index f308a29..07668a4 100644
--- a/Source/WebCore/dom/MessagePortChannel.h
+++ b/Source/WebCore/dom/MessagePortChannel.h
@@ -55,7 +55,8 @@ namespace WebCore {
// MessagePortChannel is a platform-independent interface to the remote side of a message channel.
// It acts as a wrapper around the platform-dependent PlatformMessagePortChannel implementation which ensures that the platform-dependent close() method is invoked before destruction.
- class MessagePortChannel : public Noncopyable {
+ class MessagePortChannel {
+ WTF_MAKE_NONCOPYABLE(MessagePortChannel); WTF_MAKE_FAST_ALLOCATED;
public:
static void createChannel(PassRefPtr<MessagePort>, PassRefPtr<MessagePort>);
@@ -78,7 +79,8 @@ namespace WebCore {
// Returns true if the proxy currently contains messages for this port.
bool hasPendingActivity();
- class EventData : public Noncopyable {
+ class EventData {
+ WTF_MAKE_NONCOPYABLE(EventData); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<EventData> create(PassRefPtr<SerializedScriptValue>, PassOwnPtr<MessagePortChannelArray>);
diff --git a/Source/WebCore/dom/NodeRareData.h b/Source/WebCore/dom/NodeRareData.h
index ab208d2..7350f80 100644
--- a/Source/WebCore/dom/NodeRareData.h
+++ b/Source/WebCore/dom/NodeRareData.h
@@ -34,7 +34,9 @@
namespace WebCore {
-struct NodeListsNodeData : Noncopyable {
+struct NodeListsNodeData {
+ WTF_MAKE_NONCOPYABLE(NodeListsNodeData); WTF_MAKE_FAST_ALLOCATED;
+public:
typedef HashSet<DynamicNodeList*> NodeListSet;
NodeListSet m_listsWithCaches;
@@ -67,7 +69,8 @@ private:
}
};
-class NodeRareData : public Noncopyable {
+class NodeRareData {
+ WTF_MAKE_NONCOPYABLE(NodeRareData); WTF_MAKE_FAST_ALLOCATED;
public:
NodeRareData()
: m_tabIndex(0)
diff --git a/Source/WebCore/dom/QualifiedName.h b/Source/WebCore/dom/QualifiedName.h
index 34fc069..cb95f20 100644
--- a/Source/WebCore/dom/QualifiedName.h
+++ b/Source/WebCore/dom/QualifiedName.h
@@ -32,7 +32,8 @@ struct QualifiedNameComponents {
StringImpl* m_namespace;
};
-class QualifiedName : public FastAllocBase {
+class QualifiedName {
+ WTF_MAKE_FAST_ALLOCATED;
public:
class QualifiedNameImpl : public RefCounted<QualifiedNameImpl> {
public:
diff --git a/Source/WebCore/dom/ScriptElement.h b/Source/WebCore/dom/ScriptElement.h
index 07c59db..5250f3e 100644
--- a/Source/WebCore/dom/ScriptElement.h
+++ b/Source/WebCore/dom/ScriptElement.h
@@ -32,6 +32,7 @@ class ScriptElement;
class ScriptSourceCode;
class ScriptElement : private CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
ScriptElement(Element*, bool createdByParser, bool isEvaluated);
virtual ~ScriptElement();
diff --git a/Source/WebCore/dom/ScriptExecutionContext.cpp b/Source/WebCore/dom/ScriptExecutionContext.cpp
index f498be0..9fdf85e 100644
--- a/Source/WebCore/dom/ScriptExecutionContext.cpp
+++ b/Source/WebCore/dom/ScriptExecutionContext.cpp
@@ -66,7 +66,8 @@ public:
}
};
-class ScriptExecutionContext::PendingException : public Noncopyable {
+class ScriptExecutionContext::PendingException {
+ WTF_MAKE_NONCOPYABLE(PendingException);
public:
PendingException(const String& errorMessage, int lineNumber, const String& sourceURL, PassRefPtr<ScriptCallStack> callStack)
: m_errorMessage(errorMessage)
diff --git a/Source/WebCore/dom/ScriptExecutionContext.h b/Source/WebCore/dom/ScriptExecutionContext.h
index fbb96ec..b57b75a 100644
--- a/Source/WebCore/dom/ScriptExecutionContext.h
+++ b/Source/WebCore/dom/ScriptExecutionContext.h
@@ -33,6 +33,7 @@
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
+#include <wtf/Noncopyable.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
@@ -114,8 +115,10 @@ namespace WebCore {
void ref() { refScriptExecutionContext(); }
void deref() { derefScriptExecutionContext(); }
- class Task : public Noncopyable {
+ class Task {
+ WTF_MAKE_NONCOPYABLE(Task); WTF_MAKE_FAST_ALLOCATED;
public:
+ Task() { }
virtual ~Task();
virtual void performTask(ScriptExecutionContext*) = 0;
// Certain tasks get marked specially so that they aren't discarded, and are executed, when the context is shutting down its message queue.
diff --git a/Source/WebCore/dom/SpaceSplitString.h b/Source/WebCore/dom/SpaceSplitString.h
index 826e6bd..6eb893c 100644
--- a/Source/WebCore/dom/SpaceSplitString.h
+++ b/Source/WebCore/dom/SpaceSplitString.h
@@ -28,7 +28,8 @@
namespace WebCore {
- class SpaceSplitStringData : public Noncopyable {
+ class SpaceSplitStringData {
+ WTF_MAKE_NONCOPYABLE(SpaceSplitStringData); WTF_MAKE_FAST_ALLOCATED;
public:
SpaceSplitStringData(const String& string, bool shouldFoldCase)
: m_string(string), m_shouldFoldCase(shouldFoldCase), m_createdVector(false)
diff --git a/Source/WebCore/dom/TransformSource.h b/Source/WebCore/dom/TransformSource.h
index f97afcf..63dc78a 100644
--- a/Source/WebCore/dom/TransformSource.h
+++ b/Source/WebCore/dom/TransformSource.h
@@ -33,7 +33,8 @@ namespace WebCore {
typedef void* PlatformTransformSource;
#endif
- class TransformSource : public Noncopyable {
+ class TransformSource {
+ WTF_MAKE_NONCOPYABLE(TransformSource); WTF_MAKE_FAST_ALLOCATED;
public:
TransformSource(const PlatformTransformSource& source);
~TransformSource();
diff --git a/Source/WebCore/dom/UserGestureIndicator.h b/Source/WebCore/dom/UserGestureIndicator.h
index 17ea319..b1ed96b 100644
--- a/Source/WebCore/dom/UserGestureIndicator.h
+++ b/Source/WebCore/dom/UserGestureIndicator.h
@@ -36,7 +36,8 @@ enum ProcessingUserGestureState {
DefinitelyNotProcessingUserGesture
};
-class UserGestureIndicator : public Noncopyable {
+class UserGestureIndicator {
+ WTF_MAKE_NONCOPYABLE(UserGestureIndicator);
public:
static bool processingUserGesture() { return s_processingUserGesture == DefinitelyProcessingUserGesture; }
static ProcessingUserGestureState getUserGestureState() { return s_processingUserGesture; }
diff --git a/Source/WebCore/dom/UserTypingGestureIndicator.h b/Source/WebCore/dom/UserTypingGestureIndicator.h
index 6c71079..21f4c7e 100644
--- a/Source/WebCore/dom/UserTypingGestureIndicator.h
+++ b/Source/WebCore/dom/UserTypingGestureIndicator.h
@@ -34,7 +34,8 @@ namespace WebCore {
class Frame;
class Node;
-class UserTypingGestureIndicator : public Noncopyable {
+class UserTypingGestureIndicator {
+ WTF_MAKE_NONCOPYABLE(UserTypingGestureIndicator);
public:
static bool processingUserTypingGesture();
static Node* focusedElementAtGestureStart();
diff --git a/Source/WebCore/dom/XMLDocumentParser.h b/Source/WebCore/dom/XMLDocumentParser.h
index 7533c5b..1aad9b3 100644
--- a/Source/WebCore/dom/XMLDocumentParser.h
+++ b/Source/WebCore/dom/XMLDocumentParser.h
@@ -71,6 +71,7 @@ namespace WebCore {
#endif
class XMLDocumentParser : public ScriptableDocumentParser, public CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<XMLDocumentParser> create(Document* document, FrameView* view)
{
diff --git a/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp b/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp
index 0f6b4b4..10d6e0d 100644
--- a/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp
+++ b/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp
@@ -75,8 +75,10 @@ using namespace std;
namespace WebCore {
-class PendingCallbacks : public Noncopyable {
+class PendingCallbacks {
+ WTF_MAKE_NONCOPYABLE(PendingCallbacks);
public:
+ PendingCallbacks() { }
~PendingCallbacks()
{
deleteAllValues(m_callbacks);
diff --git a/Source/WebCore/dom/XMLDocumentParserScope.h b/Source/WebCore/dom/XMLDocumentParserScope.h
index 58e8a6b..f60471b 100644
--- a/Source/WebCore/dom/XMLDocumentParserScope.h
+++ b/Source/WebCore/dom/XMLDocumentParserScope.h
@@ -36,7 +36,8 @@ namespace WebCore {
class CachedResourceLoader;
- class XMLDocumentParserScope : public Noncopyable {
+ class XMLDocumentParserScope {
+ WTF_MAKE_NONCOPYABLE(XMLDocumentParserScope);
public:
XMLDocumentParserScope(CachedResourceLoader* cachedResourceLoader);
~XMLDocumentParserScope();
diff --git a/Source/WebCore/editing/DeleteButtonController.h b/Source/WebCore/editing/DeleteButtonController.h
index 1286c07..4d928c7 100644
--- a/Source/WebCore/editing/DeleteButtonController.h
+++ b/Source/WebCore/editing/DeleteButtonController.h
@@ -36,7 +36,8 @@ class HTMLElement;
class RenderObject;
class VisibleSelection;
-class DeleteButtonController : public Noncopyable {
+class DeleteButtonController {
+ WTF_MAKE_NONCOPYABLE(DeleteButtonController); WTF_MAKE_FAST_ALLOCATED;
public:
DeleteButtonController(Frame*);
diff --git a/Source/WebCore/editing/ReplaceSelectionCommand.cpp b/Source/WebCore/editing/ReplaceSelectionCommand.cpp
index 24cfa41..f47cb4e 100644
--- a/Source/WebCore/editing/ReplaceSelectionCommand.cpp
+++ b/Source/WebCore/editing/ReplaceSelectionCommand.cpp
@@ -62,7 +62,8 @@ enum EFragmentType { EmptyFragment, SingleTextNodeFragment, TreeFragment };
// --- ReplacementFragment helper class
-class ReplacementFragment : public Noncopyable {
+class ReplacementFragment {
+ WTF_MAKE_NONCOPYABLE(ReplacementFragment);
public:
ReplacementFragment(Document*, DocumentFragment*, bool matchStyle, const VisibleSelection&);
diff --git a/Source/WebCore/editing/SelectionController.h b/Source/WebCore/editing/SelectionController.h
index ee52187..3f805d3 100644
--- a/Source/WebCore/editing/SelectionController.h
+++ b/Source/WebCore/editing/SelectionController.h
@@ -48,7 +48,8 @@ class VisiblePosition;
enum DirectionalityPolicy { MakeNonDirectionalSelection, MakeDirectionalSelection };
-class SelectionController : public Noncopyable {
+class SelectionController {
+ WTF_MAKE_NONCOPYABLE(SelectionController); WTF_MAKE_FAST_ALLOCATED;
public:
enum EAlteration { AlterationMove, AlterationExtend };
enum CursorAlignOnScroll { AlignCursorOnScrollIfNeeded,
diff --git a/Source/WebCore/editing/SpellChecker.h b/Source/WebCore/editing/SpellChecker.h
index f6215d2..81bb519 100644
--- a/Source/WebCore/editing/SpellChecker.h
+++ b/Source/WebCore/editing/SpellChecker.h
@@ -54,7 +54,8 @@ private:
int m_length;
};
-class SpellChecker : public Noncopyable {
+class SpellChecker {
+ WTF_MAKE_NONCOPYABLE(SpellChecker);
public:
explicit SpellChecker(Frame*, EditorClient*);
~SpellChecker();
diff --git a/Source/WebCore/editing/TextCheckingHelper.h b/Source/WebCore/editing/TextCheckingHelper.h
index 227530f..8b5c691 100644
--- a/Source/WebCore/editing/TextCheckingHelper.h
+++ b/Source/WebCore/editing/TextCheckingHelper.h
@@ -72,7 +72,8 @@ private:
mutable int m_checkingLength;
};
-class TextCheckingHelper : public Noncopyable {
+class TextCheckingHelper {
+ WTF_MAKE_NONCOPYABLE(TextCheckingHelper);
public:
TextCheckingHelper(EditorClient*, PassRefPtr<Range>);
~TextCheckingHelper();
diff --git a/Source/WebCore/editing/TextIterator.cpp b/Source/WebCore/editing/TextIterator.cpp
index c24bcb2..1fc7606 100644
--- a/Source/WebCore/editing/TextIterator.cpp
+++ b/Source/WebCore/editing/TextIterator.cpp
@@ -61,7 +61,8 @@ using namespace HTMLNames;
// Case folding is also done if the CaseInsensitive option is specified.
// Matches are further filtered if the AtWordStarts option is specified, although some
// matches inside a word are permitted if TreatMedialCapitalAsWordStart is specified as well.
-class SearchBuffer : public Noncopyable {
+class SearchBuffer {
+ WTF_MAKE_NONCOPYABLE(SearchBuffer);
public:
SearchBuffer(const String& target, FindOptions);
~SearchBuffer();
diff --git a/Source/WebCore/fileapi/FileThread.h b/Source/WebCore/fileapi/FileThread.h
index d7aabf7..45205c4 100644
--- a/Source/WebCore/fileapi/FileThread.h
+++ b/Source/WebCore/fileapi/FileThread.h
@@ -54,7 +54,8 @@ public:
bool start();
void stop();
- class Task : public Noncopyable {
+ class Task {
+ WTF_MAKE_NONCOPYABLE(Task);
public:
virtual ~Task() { }
virtual void performTask() = 0;
diff --git a/Source/WebCore/fileapi/LocalFileSystem.h b/Source/WebCore/fileapi/LocalFileSystem.h
index b779a5f..12a7012 100644
--- a/Source/WebCore/fileapi/LocalFileSystem.h
+++ b/Source/WebCore/fileapi/LocalFileSystem.h
@@ -45,7 +45,8 @@ class FileSystemCallback;
class ScriptExecutionContext;
// Keeps per-process information and provides an entry point to open a file system.
-class LocalFileSystem : public Noncopyable {
+class LocalFileSystem {
+ WTF_MAKE_NONCOPYABLE(LocalFileSystem);
public:
// Returns a per-process instance of LocalFileSystem.
// Note that LocalFileSystem::initializeLocalFileSystem must be called before
diff --git a/Source/WebCore/fileapi/SyncCallbackHelper.h b/Source/WebCore/fileapi/SyncCallbackHelper.h
index 25e6739..020ac49 100644
--- a/Source/WebCore/fileapi/SyncCallbackHelper.h
+++ b/Source/WebCore/fileapi/SyncCallbackHelper.h
@@ -58,7 +58,8 @@ class FileEntrySync;
// A helper template for FileSystemSync implementation.
template <typename SuccessCallback, typename ObserverType, typename CallbackArg, typename ResultType>
-class SyncCallbackHelper : public Noncopyable {
+class SyncCallbackHelper {
+ WTF_MAKE_NONCOPYABLE(SyncCallbackHelper);
public:
typedef SyncCallbackHelper<SuccessCallback, ObserverType, CallbackArg, ResultType> HelperType;
SyncCallbackHelper(ObserverType* observer = 0)
diff --git a/Source/WebCore/history/BackForwardController.h b/Source/WebCore/history/BackForwardController.h
index e89e32b..12884ea 100644
--- a/Source/WebCore/history/BackForwardController.h
+++ b/Source/WebCore/history/BackForwardController.h
@@ -36,7 +36,8 @@ class BackForwardList;
class HistoryItem;
class Page;
-class BackForwardController : public Noncopyable {
+class BackForwardController {
+ WTF_MAKE_NONCOPYABLE(BackForwardController); WTF_MAKE_FAST_ALLOCATED;
public:
BackForwardController(Page*, PassRefPtr<BackForwardList>);
~BackForwardController();
diff --git a/Source/WebCore/history/PageCache.h b/Source/WebCore/history/PageCache.h
index 71ae5ad..912bd65 100644
--- a/Source/WebCore/history/PageCache.h
+++ b/Source/WebCore/history/PageCache.h
@@ -39,7 +39,8 @@ namespace WebCore {
class HistoryItem;
class Page;
- class PageCache : public Noncopyable {
+ class PageCache {
+ WTF_MAKE_NONCOPYABLE(PageCache); WTF_MAKE_FAST_ALLOCATED;
public:
friend PageCache* pageCache();
diff --git a/Source/WebCore/html/CollectionCache.h b/Source/WebCore/html/CollectionCache.h
index df1d1fa..8e4a066 100644
--- a/Source/WebCore/html/CollectionCache.h
+++ b/Source/WebCore/html/CollectionCache.h
@@ -29,7 +29,9 @@ namespace WebCore {
class Element;
-struct CollectionCache : FastAllocBase {
+struct CollectionCache {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
CollectionCache();
CollectionCache(const CollectionCache&);
CollectionCache& operator=(const CollectionCache& other)
diff --git a/Source/WebCore/html/DOMSettableTokenList.h b/Source/WebCore/html/DOMSettableTokenList.h
index 2b711b4..8f6fd4e 100644
--- a/Source/WebCore/html/DOMSettableTokenList.h
+++ b/Source/WebCore/html/DOMSettableTokenList.h
@@ -35,6 +35,7 @@
namespace WebCore {
class DOMSettableTokenList : public DOMTokenList, public RefCounted<DOMSettableTokenList> {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<DOMSettableTokenList> create()
{
diff --git a/Source/WebCore/html/DOMTokenList.h b/Source/WebCore/html/DOMTokenList.h
index 5df2ede..0b75b66 100644
--- a/Source/WebCore/html/DOMTokenList.h
+++ b/Source/WebCore/html/DOMTokenList.h
@@ -27,15 +27,16 @@
#include "ExceptionCode.h"
#include <wtf/text/AtomicString.h>
-#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
namespace WebCore {
class Element;
-class DOMTokenList : public Noncopyable {
+class DOMTokenList {
+ WTF_MAKE_NONCOPYABLE(DOMTokenList); WTF_MAKE_FAST_ALLOCATED;
public:
+ DOMTokenList() { }
virtual ~DOMTokenList() {};
virtual void ref() = 0;
diff --git a/Source/WebCore/html/HTMLParserQuirks.h b/Source/WebCore/html/HTMLParserQuirks.h
index 50de710..3bf22a4 100644
--- a/Source/WebCore/html/HTMLParserQuirks.h
+++ b/Source/WebCore/html/HTMLParserQuirks.h
@@ -27,13 +27,13 @@
#define HTMLParserQuirks_h
#include <wtf/Forward.h>
-#include <wtf/Noncopyable.h>
namespace WebCore {
class Node;
-class HTMLParserQuirks : public Noncopyable {
+class HTMLParserQuirks {
+ WTF_MAKE_NONCOPYABLE(HTMLParserQuirks);
public:
HTMLParserQuirks() { }
virtual ~HTMLParserQuirks() { }
diff --git a/Source/WebCore/html/InputType.h b/Source/WebCore/html/InputType.h
index ea4541f..e6ceb96 100644
--- a/Source/WebCore/html/InputType.h
+++ b/Source/WebCore/html/InputType.h
@@ -33,6 +33,7 @@
#define InputType_h
#include <wtf/Forward.h>
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
@@ -56,17 +57,18 @@ class WheelEvent;
typedef int ExceptionCode;
struct ClickHandlingState {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
bool checked;
bool indeterminate;
RefPtr<HTMLInputElement> checkedRadioButton;
-
- WTF_MAKE_FAST_ALLOCATED
};
// An InputType object represents the type-specific part of an HTMLInputElement.
// Do not expose instances of InputType and classes derived from it to classes
// other than HTMLInputElement.
-class InputType : public Noncopyable {
+class InputType {
+ WTF_MAKE_NONCOPYABLE(InputType); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<InputType> create(HTMLInputElement*, const String&);
static PassOwnPtr<InputType> createText(HTMLInputElement*);
diff --git a/Source/WebCore/html/StepRange.h b/Source/WebCore/html/StepRange.h
index ce044ea..2fa1393 100644
--- a/Source/WebCore/html/StepRange.h
+++ b/Source/WebCore/html/StepRange.h
@@ -28,7 +28,8 @@ namespace WebCore {
class HTMLInputElement;
-class StepRange : public Noncopyable {
+class StepRange {
+ WTF_MAKE_NONCOPYABLE(StepRange);
public:
bool hasStep;
double step;
diff --git a/Source/WebCore/html/ValidationMessage.h b/Source/WebCore/html/ValidationMessage.h
index 5fa1f96..7cd0cbb 100644
--- a/Source/WebCore/html/ValidationMessage.h
+++ b/Source/WebCore/html/ValidationMessage.h
@@ -42,7 +42,8 @@ namespace WebCore {
class FormAssociatedElement;
class HTMLElement;
-class ValidationMessage : public Noncopyable {
+class ValidationMessage {
+ WTF_MAKE_NONCOPYABLE(ValidationMessage);
public:
static PassOwnPtr<ValidationMessage> create(FormAssociatedElement*);
~ValidationMessage();
diff --git a/Source/WebCore/html/ValidityState.h b/Source/WebCore/html/ValidityState.h
index e140c49..4a96488 100644
--- a/Source/WebCore/html/ValidityState.h
+++ b/Source/WebCore/html/ValidityState.h
@@ -29,7 +29,8 @@
namespace WebCore {
-class ValidityState : public Noncopyable {
+class ValidityState {
+ WTF_MAKE_NONCOPYABLE(ValidityState); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<ValidityState> create(FormAssociatedElement* control)
{
diff --git a/Source/WebCore/html/canvas/CanvasRenderingContext.h b/Source/WebCore/html/canvas/CanvasRenderingContext.h
index a25e8a1..a143596 100644
--- a/Source/WebCore/html/canvas/CanvasRenderingContext.h
+++ b/Source/WebCore/html/canvas/CanvasRenderingContext.h
@@ -41,7 +41,8 @@ class HTMLVideoElement;
class KURL;
class WebGLObject;
-class CanvasRenderingContext : public Noncopyable {
+class CanvasRenderingContext {
+ WTF_MAKE_NONCOPYABLE(CanvasRenderingContext); WTF_MAKE_FAST_ALLOCATED;
public:
CanvasRenderingContext(HTMLCanvasElement*);
virtual ~CanvasRenderingContext() { }
diff --git a/Source/WebCore/html/parser/CSSPreloadScanner.h b/Source/WebCore/html/parser/CSSPreloadScanner.h
index 7ac282f..fae95a1 100644
--- a/Source/WebCore/html/parser/CSSPreloadScanner.h
+++ b/Source/WebCore/html/parser/CSSPreloadScanner.h
@@ -35,7 +35,8 @@ namespace WebCore {
class Document;
class HTMLToken;
-class CSSPreloadScanner : public Noncopyable {
+class CSSPreloadScanner {
+ WTF_MAKE_NONCOPYABLE(CSSPreloadScanner);
public:
CSSPreloadScanner(Document*);
diff --git a/Source/WebCore/html/parser/HTMLConstructionSite.h b/Source/WebCore/html/parser/HTMLConstructionSite.h
index 8b09bf5..5a4a65d 100644
--- a/Source/WebCore/html/parser/HTMLConstructionSite.h
+++ b/Source/WebCore/html/parser/HTMLConstructionSite.h
@@ -40,7 +40,8 @@ class AtomicHTMLToken;
class Document;
class Element;
-class HTMLConstructionSite : public Noncopyable {
+class HTMLConstructionSite {
+ WTF_MAKE_NONCOPYABLE(HTMLConstructionSite);
public:
HTMLConstructionSite(Document*, FragmentScriptingPermission, bool isParsingFragment);
~HTMLConstructionSite();
@@ -89,7 +90,8 @@ public:
HTMLFormElement* form() const { return m_form.get(); }
PassRefPtr<HTMLFormElement> takeForm();
- class RedirectToFosterParentGuard : public Noncopyable {
+ class RedirectToFosterParentGuard {
+ WTF_MAKE_NONCOPYABLE(RedirectToFosterParentGuard);
public:
RedirectToFosterParentGuard(HTMLConstructionSite& tree)
: m_tree(tree)
diff --git a/Source/WebCore/html/parser/HTMLDocumentParser.h b/Source/WebCore/html/parser/HTMLDocumentParser.h
index 80ca727..f925269 100644
--- a/Source/WebCore/html/parser/HTMLDocumentParser.h
+++ b/Source/WebCore/html/parser/HTMLDocumentParser.h
@@ -50,6 +50,7 @@ class ScriptController;
class ScriptSourceCode;
class HTMLDocumentParser : public ScriptableDocumentParser, HTMLScriptRunnerHost, CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<HTMLDocumentParser> create(HTMLDocument* document, bool reportErrors)
{
diff --git a/Source/WebCore/html/parser/HTMLElementStack.h b/Source/WebCore/html/parser/HTMLElementStack.h
index 8a8e160..ad8b941 100644
--- a/Source/WebCore/html/parser/HTMLElementStack.h
+++ b/Source/WebCore/html/parser/HTMLElementStack.h
@@ -39,12 +39,14 @@ class QualifiedName;
// NOTE: The HTML5 spec uses a backwards (grows downward) stack. We're using
// more standard (grows upwards) stack terminology here.
-class HTMLElementStack : public Noncopyable {
+class HTMLElementStack {
+ WTF_MAKE_NONCOPYABLE(HTMLElementStack); WTF_MAKE_FAST_ALLOCATED;
public:
HTMLElementStack();
~HTMLElementStack();
- class ElementRecord : public Noncopyable {
+ class ElementRecord {
+ WTF_MAKE_NONCOPYABLE(ElementRecord);
public:
~ElementRecord(); // Public for ~PassOwnPtr()
diff --git a/Source/WebCore/html/parser/HTMLFormattingElementList.h b/Source/WebCore/html/parser/HTMLFormattingElementList.h
index aca05bb..f75fa50 100644
--- a/Source/WebCore/html/parser/HTMLFormattingElementList.h
+++ b/Source/WebCore/html/parser/HTMLFormattingElementList.h
@@ -35,7 +35,8 @@ namespace WebCore {
class Element;
// This may end up merged into HTMLElementStack.
-class HTMLFormattingElementList : public Noncopyable {
+class HTMLFormattingElementList {
+ WTF_MAKE_NONCOPYABLE(HTMLFormattingElementList);
public:
HTMLFormattingElementList();
~HTMLFormattingElementList();
diff --git a/Source/WebCore/html/parser/HTMLInputStream.h b/Source/WebCore/html/parser/HTMLInputStream.h
index 1bfbaf9..d95ec31 100644
--- a/Source/WebCore/html/parser/HTMLInputStream.h
+++ b/Source/WebCore/html/parser/HTMLInputStream.h
@@ -47,7 +47,8 @@ namespace WebCore {
// m_last is a pointer to the last of the afterInsertionPoint strings.
// The network adds data at the end of the InputStream, which appends
// them to the "last" string.
-class HTMLInputStream : public Noncopyable {
+class HTMLInputStream {
+ WTF_MAKE_NONCOPYABLE(HTMLInputStream);
public:
HTMLInputStream()
: m_last(&m_first)
@@ -129,7 +130,8 @@ private:
SegmentedString* m_last;
};
-class InsertionPointRecord : public Noncopyable {
+class InsertionPointRecord {
+ WTF_MAKE_NONCOPYABLE(InsertionPointRecord);
public:
explicit InsertionPointRecord(HTMLInputStream& inputStream)
: m_inputStream(&inputStream)
diff --git a/Source/WebCore/html/parser/HTMLMetaCharsetParser.h b/Source/WebCore/html/parser/HTMLMetaCharsetParser.h
index c3136f5..45fbaf7 100644
--- a/Source/WebCore/html/parser/HTMLMetaCharsetParser.h
+++ b/Source/WebCore/html/parser/HTMLMetaCharsetParser.h
@@ -36,7 +36,8 @@ namespace WebCore {
class HTMLTokenizer;
class TextCodec;
-class HTMLMetaCharsetParser : public Noncopyable {
+class HTMLMetaCharsetParser {
+ WTF_MAKE_NONCOPYABLE(HTMLMetaCharsetParser);
public:
static PassOwnPtr<HTMLMetaCharsetParser> create() { return adoptPtr(new HTMLMetaCharsetParser()); }
diff --git a/Source/WebCore/html/parser/HTMLParserScheduler.h b/Source/WebCore/html/parser/HTMLParserScheduler.h
index 3a20b2b..c415c62 100644
--- a/Source/WebCore/html/parser/HTMLParserScheduler.h
+++ b/Source/WebCore/html/parser/HTMLParserScheduler.h
@@ -28,14 +28,14 @@
#include "Timer.h"
#include <wtf/CurrentTime.h>
-#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
namespace WebCore {
class HTMLDocumentParser;
-class HTMLParserScheduler : public Noncopyable {
+class HTMLParserScheduler {
+ WTF_MAKE_NONCOPYABLE(HTMLParserScheduler); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<HTMLParserScheduler> create(HTMLDocumentParser* parser)
{
diff --git a/Source/WebCore/html/parser/HTMLPreloadScanner.h b/Source/WebCore/html/parser/HTMLPreloadScanner.h
index 94a90e6..bed77fe 100644
--- a/Source/WebCore/html/parser/HTMLPreloadScanner.h
+++ b/Source/WebCore/html/parser/HTMLPreloadScanner.h
@@ -30,7 +30,6 @@
#include "CSSPreloadScanner.h"
#include "HTMLToken.h"
#include "SegmentedString.h"
-#include <wtf/Noncopyable.h>
namespace WebCore {
@@ -39,7 +38,8 @@ class HTMLToken;
class HTMLTokenizer;
class SegmentedString;
-class HTMLPreloadScanner : public Noncopyable {
+class HTMLPreloadScanner {
+ WTF_MAKE_NONCOPYABLE(HTMLPreloadScanner); WTF_MAKE_FAST_ALLOCATED;
public:
HTMLPreloadScanner(Document*);
diff --git a/Source/WebCore/html/parser/HTMLScriptRunner.h b/Source/WebCore/html/parser/HTMLScriptRunner.h
index 6cf74d8..986f7bd 100644
--- a/Source/WebCore/html/parser/HTMLScriptRunner.h
+++ b/Source/WebCore/html/parser/HTMLScriptRunner.h
@@ -29,7 +29,6 @@
#include "PendingScript.h"
#include <wtf/Deque.h>
#include <wtf/text/TextPosition.h>
-#include <wtf/Noncopyable.h>
#include <wtf/PassRefPtr.h>
namespace WebCore {
@@ -42,7 +41,8 @@ class Frame;
class HTMLScriptRunnerHost;
class ScriptSourceCode;
-class HTMLScriptRunner : public Noncopyable {
+class HTMLScriptRunner {
+ WTF_MAKE_NONCOPYABLE(HTMLScriptRunner); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<HTMLScriptRunner> create(Document* document, HTMLScriptRunnerHost* host)
{
diff --git a/Source/WebCore/html/parser/HTMLToken.h b/Source/WebCore/html/parser/HTMLToken.h
index 42cddb8..1cbc151 100644
--- a/Source/WebCore/html/parser/HTMLToken.h
+++ b/Source/WebCore/html/parser/HTMLToken.h
@@ -27,13 +27,13 @@
#define HTMLToken_h
#include "NamedNodeMap.h"
-#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
namespace WebCore {
-class HTMLToken : public Noncopyable {
+class HTMLToken {
+ WTF_MAKE_NONCOPYABLE(HTMLToken); WTF_MAKE_FAST_ALLOCATED;
public:
enum Type {
Uninitialized,
@@ -313,7 +313,8 @@ private:
// want to end up with a cleaner interface between the two classes.
friend class AtomicHTMLToken;
- class DoctypeData : public Noncopyable {
+ class DoctypeData {
+ WTF_MAKE_NONCOPYABLE(DoctypeData);
public:
DoctypeData()
: m_hasPublicIdentifier(false)
@@ -352,7 +353,8 @@ private:
// FIXME: This class should eventually be named HTMLToken once we move the
// exiting HTMLToken to be internal to the HTMLTokenizer.
-class AtomicHTMLToken : public Noncopyable {
+class AtomicHTMLToken {
+ WTF_MAKE_NONCOPYABLE(AtomicHTMLToken);
public:
AtomicHTMLToken(HTMLToken& token)
: m_type(token.type())
diff --git a/Source/WebCore/html/parser/HTMLTokenizer.h b/Source/WebCore/html/parser/HTMLTokenizer.h
index f16b049..fa45cb2 100644
--- a/Source/WebCore/html/parser/HTMLTokenizer.h
+++ b/Source/WebCore/html/parser/HTMLTokenizer.h
@@ -39,7 +39,8 @@ class Element;
class Frame;
class HTMLToken;
-class HTMLTokenizer : public Noncopyable {
+class HTMLTokenizer {
+ WTF_MAKE_NONCOPYABLE(HTMLTokenizer); WTF_MAKE_FAST_ALLOCATED;
public:
enum State {
DataState,
@@ -172,7 +173,8 @@ public:
private:
// http://www.whatwg.org/specs/web-apps/current-work/#preprocessing-the-input-stream
- class InputStreamPreprocessor : public Noncopyable {
+ class InputStreamPreprocessor {
+ WTF_MAKE_NONCOPYABLE(InputStreamPreprocessor);
public:
InputStreamPreprocessor(HTMLTokenizer* tokenizer)
: m_tokenizer(tokenizer)
diff --git a/Source/WebCore/html/parser/HTMLTreeBuilder.cpp b/Source/WebCore/html/parser/HTMLTreeBuilder.cpp
index 02713e5..97cee13 100644
--- a/Source/WebCore/html/parser/HTMLTreeBuilder.cpp
+++ b/Source/WebCore/html/parser/HTMLTreeBuilder.cpp
@@ -241,7 +241,8 @@ HTMLFormElement* closestFormAncestor(Element* element)
} // namespace
-class HTMLTreeBuilder::ExternalCharacterTokenBuffer : public Noncopyable {
+class HTMLTreeBuilder::ExternalCharacterTokenBuffer {
+ WTF_MAKE_NONCOPYABLE(ExternalCharacterTokenBuffer);
public:
explicit ExternalCharacterTokenBuffer(AtomicHTMLToken& token)
: m_current(token.characters().data())
@@ -2342,7 +2343,8 @@ void HTMLTreeBuilder::reprocessEndTag(AtomicHTMLToken& token)
processEndTag(token);
}
-class HTMLTreeBuilder::FakeInsertionMode : public Noncopyable {
+class HTMLTreeBuilder::FakeInsertionMode {
+ WTF_MAKE_NONCOPYABLE(FakeInsertionMode);
public:
FakeInsertionMode(HTMLTreeBuilder* treeBuilder, InsertionMode mode)
: m_treeBuilder(treeBuilder)
diff --git a/Source/WebCore/html/parser/HTMLTreeBuilder.h b/Source/WebCore/html/parser/HTMLTreeBuilder.h
index 17b77b7..309ac6f 100644
--- a/Source/WebCore/html/parser/HTMLTreeBuilder.h
+++ b/Source/WebCore/html/parser/HTMLTreeBuilder.h
@@ -51,7 +51,8 @@ class HTMLDocument;
class Node;
class HTMLDocumentParser;
-class HTMLTreeBuilder : public Noncopyable {
+class HTMLTreeBuilder {
+ WTF_MAKE_NONCOPYABLE(HTMLTreeBuilder); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<HTMLTreeBuilder> create(HTMLDocumentParser* parser, HTMLDocument* document, bool reportErrors, bool usePreHTML5ParserQuirks)
{
@@ -204,7 +205,8 @@ private:
void processForeignContentUsingInBodyModeAndResetMode(AtomicHTMLToken& token);
void resetForeignInsertionMode();
- class FragmentParsingContext : public Noncopyable {
+ class FragmentParsingContext {
+ WTF_MAKE_NONCOPYABLE(FragmentParsingContext);
public:
FragmentParsingContext();
FragmentParsingContext(DocumentFragment*, Element* contextElement, FragmentScriptingPermission);
diff --git a/Source/WebCore/html/parser/NestingLevelIncrementer.h b/Source/WebCore/html/parser/NestingLevelIncrementer.h
index c597876..8155635 100644
--- a/Source/WebCore/html/parser/NestingLevelIncrementer.h
+++ b/Source/WebCore/html/parser/NestingLevelIncrementer.h
@@ -28,7 +28,8 @@
namespace WebCore {
-class NestingLevelIncrementer : public Noncopyable {
+class NestingLevelIncrementer {
+ WTF_MAKE_NONCOPYABLE(NestingLevelIncrementer);
public:
explicit NestingLevelIncrementer(unsigned& nestingLevel)
: m_nestingLevel(&nestingLevel)
diff --git a/Source/WebCore/inspector/ConsoleMessage.h b/Source/WebCore/inspector/ConsoleMessage.h
index 310aa8e..7c3348b 100644
--- a/Source/WebCore/inspector/ConsoleMessage.h
+++ b/Source/WebCore/inspector/ConsoleMessage.h
@@ -46,7 +46,8 @@ class ScriptCallFrame;
class ScriptCallStack;
class ScriptValue;
-class ConsoleMessage : public Noncopyable {
+class ConsoleMessage {
+ WTF_MAKE_NONCOPYABLE(ConsoleMessage); WTF_MAKE_FAST_ALLOCATED;
public:
ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, unsigned li, const String& u);
ConsoleMessage(MessageSource, MessageType, MessageLevel, const String& m, PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
diff --git a/Source/WebCore/inspector/InspectorApplicationCacheAgent.h b/Source/WebCore/inspector/InspectorApplicationCacheAgent.h
index 3d9e494..ac0acbf 100644
--- a/Source/WebCore/inspector/InspectorApplicationCacheAgent.h
+++ b/Source/WebCore/inspector/InspectorApplicationCacheAgent.h
@@ -41,7 +41,8 @@ class InspectorObject;
class InspectorValue;
class ResourceResponse;
-class InspectorApplicationCacheAgent : public Noncopyable {
+class InspectorApplicationCacheAgent {
+ WTF_MAKE_NONCOPYABLE(InspectorApplicationCacheAgent); WTF_MAKE_FAST_ALLOCATED;
public:
InspectorApplicationCacheAgent(InspectorController* inspectorController, InspectorFrontend* frontend);
~InspectorApplicationCacheAgent() { }
diff --git a/Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h b/Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h
index 537bda1..6af31e8 100644
--- a/Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h
+++ b/Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h
@@ -48,7 +48,8 @@ class InspectorController;
class InspectorObject;
class Node;
-class InspectorBrowserDebuggerAgent : public Noncopyable {
+class InspectorBrowserDebuggerAgent {
+ WTF_MAKE_NONCOPYABLE(InspectorBrowserDebuggerAgent);
public:
static PassOwnPtr<InspectorBrowserDebuggerAgent> create(InspectorController* inspectorController)
{
diff --git a/Source/WebCore/inspector/InspectorConsoleAgent.h b/Source/WebCore/inspector/InspectorConsoleAgent.h
index 3a05eec..411f709 100644
--- a/Source/WebCore/inspector/InspectorConsoleAgent.h
+++ b/Source/WebCore/inspector/InspectorConsoleAgent.h
@@ -46,7 +46,8 @@ class ScriptArguments;
class ScriptCallStack;
class ScriptProfile;
-class InspectorConsoleAgent : public Noncopyable {
+class InspectorConsoleAgent {
+ WTF_MAKE_NONCOPYABLE(InspectorConsoleAgent);
public:
InspectorConsoleAgent(InspectorController*);
~InspectorConsoleAgent();
diff --git a/Source/WebCore/inspector/InspectorController.h b/Source/WebCore/inspector/InspectorController.h
index 7ff88f3..b450f5f 100644
--- a/Source/WebCore/inspector/InspectorController.h
+++ b/Source/WebCore/inspector/InspectorController.h
@@ -105,7 +105,8 @@ class WebSocketHandshakeRequest;
class WebSocketHandshakeResponse;
#endif
-class InspectorController : public Noncopyable {
+class InspectorController {
+ WTF_MAKE_NONCOPYABLE(InspectorController); WTF_MAKE_FAST_ALLOCATED;
public:
static const char* const ConsolePanel;
static const char* const ElementsPanel;
diff --git a/Source/WebCore/inspector/InspectorDebuggerAgent.h b/Source/WebCore/inspector/InspectorDebuggerAgent.h
index 98ac1f9..4cb9f9c 100644
--- a/Source/WebCore/inspector/InspectorDebuggerAgent.h
+++ b/Source/WebCore/inspector/InspectorDebuggerAgent.h
@@ -53,7 +53,8 @@ enum DebuggerEventType {
NativeBreakpointDebuggerEventType
};
-class InspectorDebuggerAgent : public ScriptDebugListener, public Noncopyable {
+class InspectorDebuggerAgent : public ScriptDebugListener {
+ WTF_MAKE_NONCOPYABLE(InspectorDebuggerAgent); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<InspectorDebuggerAgent> create(InspectorController*, InspectorFrontend*);
virtual ~InspectorDebuggerAgent();
diff --git a/Source/WebCore/inspector/InspectorFrontendClientLocal.h b/Source/WebCore/inspector/InspectorFrontendClientLocal.h
index 9dcaa5a..19f6ad1 100644
--- a/Source/WebCore/inspector/InspectorFrontendClientLocal.h
+++ b/Source/WebCore/inspector/InspectorFrontendClientLocal.h
@@ -41,7 +41,8 @@ class InspectorController;
class InspectorFrontendHost;
class Page;
-class InspectorFrontendClientLocal : public InspectorFrontendClient, public Noncopyable {
+class InspectorFrontendClientLocal : public InspectorFrontendClient {
+ WTF_MAKE_NONCOPYABLE(InspectorFrontendClientLocal); WTF_MAKE_FAST_ALLOCATED;
public:
InspectorFrontendClientLocal(InspectorController*, Page*);
virtual ~InspectorFrontendClientLocal();
diff --git a/Source/WebCore/inspector/InspectorProfilerAgent.h b/Source/WebCore/inspector/InspectorProfilerAgent.h
index 7806bfb..436ae51 100644
--- a/Source/WebCore/inspector/InspectorProfilerAgent.h
+++ b/Source/WebCore/inspector/InspectorProfilerAgent.h
@@ -47,7 +47,8 @@ class InspectorObject;
class ScriptHeapSnapshot;
class ScriptProfile;
-class InspectorProfilerAgent : public Noncopyable {
+class InspectorProfilerAgent {
+ WTF_MAKE_NONCOPYABLE(InspectorProfilerAgent); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<InspectorProfilerAgent> create(InspectorController*);
virtual ~InspectorProfilerAgent();
diff --git a/Source/WebCore/inspector/InspectorRuntimeAgent.h b/Source/WebCore/inspector/InspectorRuntimeAgent.h
index 3f1be42..3ac2eed 100644
--- a/Source/WebCore/inspector/InspectorRuntimeAgent.h
+++ b/Source/WebCore/inspector/InspectorRuntimeAgent.h
@@ -46,7 +46,8 @@ class InjectedScriptHost;
class InspectorObject;
class InspectorValue;
-class InspectorRuntimeAgent : public Noncopyable {
+class InspectorRuntimeAgent {
+ WTF_MAKE_NONCOPYABLE(InspectorRuntimeAgent);
public:
static PassOwnPtr<InspectorRuntimeAgent> create(InjectedScriptHost* injectedScriptHost)
{
diff --git a/Source/WebCore/inspector/InspectorTimelineAgent.h b/Source/WebCore/inspector/InspectorTimelineAgent.h
index 33e2737..cae5aad 100644
--- a/Source/WebCore/inspector/InspectorTimelineAgent.h
+++ b/Source/WebCore/inspector/InspectorTimelineAgent.h
@@ -70,7 +70,8 @@ enum TimelineRecordType {
ScheduleResourceRequestTimelineRecordType = 20
};
-class InspectorTimelineAgent : ScriptGCEventListener, public Noncopyable {
+class InspectorTimelineAgent : ScriptGCEventListener {
+ WTF_MAKE_NONCOPYABLE(InspectorTimelineAgent); WTF_MAKE_FAST_ALLOCATED;
public:
InspectorTimelineAgent(InspectorFrontend* frontend);
~InspectorTimelineAgent();
diff --git a/Source/WebCore/loader/CrossOriginPreflightResultCache.h b/Source/WebCore/loader/CrossOriginPreflightResultCache.h
index 1016aed..ddd5070 100644
--- a/Source/WebCore/loader/CrossOriginPreflightResultCache.h
+++ b/Source/WebCore/loader/CrossOriginPreflightResultCache.h
@@ -38,7 +38,8 @@ namespace WebCore {
class HTTPHeaderMap;
class ResourceResponse;
- class CrossOriginPreflightResultCacheItem : public Noncopyable {
+ class CrossOriginPreflightResultCacheItem {
+ WTF_MAKE_NONCOPYABLE(CrossOriginPreflightResultCacheItem); WTF_MAKE_FAST_ALLOCATED;
public:
CrossOriginPreflightResultCacheItem(bool credentials)
: m_absoluteExpiryTime(0)
@@ -63,7 +64,8 @@ namespace WebCore {
HeadersSet m_headers;
};
- class CrossOriginPreflightResultCache : public Noncopyable {
+ class CrossOriginPreflightResultCache {
+ WTF_MAKE_NONCOPYABLE(CrossOriginPreflightResultCache); WTF_MAKE_FAST_ALLOCATED;
public:
static CrossOriginPreflightResultCache& shared();
diff --git a/Source/WebCore/loader/DocumentThreadableLoader.h b/Source/WebCore/loader/DocumentThreadableLoader.h
index ebf3a25..3a3cc64 100644
--- a/Source/WebCore/loader/DocumentThreadableLoader.h
+++ b/Source/WebCore/loader/DocumentThreadableLoader.h
@@ -47,6 +47,7 @@ namespace WebCore {
class ThreadableLoaderClient;
class DocumentThreadableLoader : public RefCounted<DocumentThreadableLoader>, public ThreadableLoader, private SubresourceLoaderClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static void loadResourceSynchronously(Document*, const ResourceRequest&, ThreadableLoaderClient&, const ThreadableLoaderOptions&);
static PassRefPtr<DocumentThreadableLoader> create(Document*, ThreadableLoaderClient*, const ResourceRequest&, const ThreadableLoaderOptions&);
diff --git a/Source/WebCore/loader/DocumentWriter.h b/Source/WebCore/loader/DocumentWriter.h
index 5fb3dc1..fb93606 100644
--- a/Source/WebCore/loader/DocumentWriter.h
+++ b/Source/WebCore/loader/DocumentWriter.h
@@ -39,7 +39,8 @@ class Frame;
class SecurityOrigin;
class TextResourceDecoder;
-class DocumentWriter : public Noncopyable {
+class DocumentWriter {
+ WTF_MAKE_NONCOPYABLE(DocumentWriter);
public:
DocumentWriter(Frame*);
diff --git a/Source/WebCore/loader/EmptyClients.h b/Source/WebCore/loader/EmptyClients.h
index e4cefc5..f670024 100644
--- a/Source/WebCore/loader/EmptyClients.h
+++ b/Source/WebCore/loader/EmptyClients.h
@@ -214,8 +214,10 @@ public:
#endif
};
-class EmptyFrameLoaderClient : public FrameLoaderClient, public Noncopyable {
+class EmptyFrameLoaderClient : public FrameLoaderClient {
+ WTF_MAKE_NONCOPYABLE(EmptyFrameLoaderClient); WTF_MAKE_FAST_ALLOCATED;
public:
+ EmptyFrameLoaderClient() { }
virtual ~EmptyFrameLoaderClient() { }
virtual void frameLoaderDestroyed() { }
@@ -387,8 +389,10 @@ public:
virtual PassRefPtr<FrameNetworkingContext> createNetworkingContext() { return PassRefPtr<FrameNetworkingContext>(); }
};
-class EmptyEditorClient : public EditorClient, public Noncopyable {
+class EmptyEditorClient : public EditorClient {
+ WTF_MAKE_NONCOPYABLE(EmptyEditorClient); WTF_MAKE_FAST_ALLOCATED;
public:
+ EmptyEditorClient() { }
virtual ~EmptyEditorClient() { }
virtual void pageDestroyed() { }
@@ -501,8 +505,10 @@ public:
};
#if ENABLE(CONTEXT_MENUS)
-class EmptyContextMenuClient : public ContextMenuClient, public Noncopyable {
+class EmptyContextMenuClient : public ContextMenuClient {
+ WTF_MAKE_NONCOPYABLE(EmptyContextMenuClient); WTF_MAKE_FAST_ALLOCATED;
public:
+ EmptyContextMenuClient() { }
virtual ~EmptyContextMenuClient() { }
virtual void contextMenuDestroyed() { }
@@ -528,8 +534,10 @@ public:
#endif // ENABLE(CONTEXT_MENUS)
#if ENABLE(DRAG_SUPPORT)
-class EmptyDragClient : public DragClient, public Noncopyable {
+class EmptyDragClient : public DragClient {
+ WTF_MAKE_NONCOPYABLE(EmptyDragClient); WTF_MAKE_FAST_ALLOCATED;
public:
+ EmptyDragClient() { }
virtual ~EmptyDragClient() {}
virtual void willPerformDragDestinationAction(DragDestinationAction, DragData*) { }
virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*) { }
@@ -541,8 +549,10 @@ public:
};
#endif // ENABLE(DRAG_SUPPORT)
-class EmptyInspectorClient : public InspectorClient, public Noncopyable {
+class EmptyInspectorClient : public InspectorClient {
+ WTF_MAKE_NONCOPYABLE(EmptyInspectorClient); WTF_MAKE_FAST_ALLOCATED;
public:
+ EmptyInspectorClient() { }
virtual ~EmptyInspectorClient() { }
virtual void inspectorDestroyed() { }
diff --git a/Source/WebCore/loader/FormSubmission.h b/Source/WebCore/loader/FormSubmission.h
index d724835..7f58f91 100644
--- a/Source/WebCore/loader/FormSubmission.h
+++ b/Source/WebCore/loader/FormSubmission.h
@@ -47,7 +47,8 @@ class FormSubmission : public RefCounted<FormSubmission> {
public:
enum Method { GetMethod, PostMethod };
- class Attributes : public Noncopyable {
+ class Attributes {
+ WTF_MAKE_NONCOPYABLE(Attributes);
public:
Attributes()
: m_method(GetMethod)
diff --git a/Source/WebCore/loader/FrameLoader.h b/Source/WebCore/loader/FrameLoader.h
index 7ff5dbd..af97fb3 100644
--- a/Source/WebCore/loader/FrameLoader.h
+++ b/Source/WebCore/loader/FrameLoader.h
@@ -86,7 +86,8 @@ struct WindowFeatures;
bool isBackForwardLoadType(FrameLoadType);
-class FrameLoader : public Noncopyable {
+class FrameLoader {
+ WTF_MAKE_NONCOPYABLE(FrameLoader);
public:
FrameLoader(Frame*, FrameLoaderClient*);
~FrameLoader();
diff --git a/Source/WebCore/loader/FrameLoaderStateMachine.h b/Source/WebCore/loader/FrameLoaderStateMachine.h
index c3408c2..fe37ece 100644
--- a/Source/WebCore/loader/FrameLoaderStateMachine.h
+++ b/Source/WebCore/loader/FrameLoaderStateMachine.h
@@ -35,7 +35,8 @@ namespace WebCore {
// Encapsulates a state machine for FrameLoader. Note that this is different from FrameState,
// which stores the state of the current load that FrameLoader is executing.
-class FrameLoaderStateMachine : public Noncopyable {
+class FrameLoaderStateMachine {
+ WTF_MAKE_NONCOPYABLE(FrameLoaderStateMachine);
public:
FrameLoaderStateMachine();
diff --git a/Source/WebCore/loader/HistoryController.h b/Source/WebCore/loader/HistoryController.h
index 17f80eb..061f235 100644
--- a/Source/WebCore/loader/HistoryController.h
+++ b/Source/WebCore/loader/HistoryController.h
@@ -41,7 +41,8 @@ class Frame;
class HistoryItem;
class SerializedScriptValue;
-class HistoryController : public Noncopyable {
+class HistoryController {
+ WTF_MAKE_NONCOPYABLE(HistoryController);
public:
enum HistoryUpdateType { UpdateAll, UpdateAllExceptBackForwardList };
diff --git a/Source/WebCore/loader/ImageLoader.cpp b/Source/WebCore/loader/ImageLoader.cpp
index a77e8c0..069b40e 100644
--- a/Source/WebCore/loader/ImageLoader.cpp
+++ b/Source/WebCore/loader/ImageLoader.cpp
@@ -57,7 +57,8 @@ template<> struct ValueCheck<WebCore::ImageLoader*> {
namespace WebCore {
-class ImageEventSender : public Noncopyable {
+class ImageEventSender {
+ WTF_MAKE_NONCOPYABLE(ImageEventSender); WTF_MAKE_FAST_ALLOCATED;
public:
ImageEventSender(const AtomicString& eventType);
diff --git a/Source/WebCore/loader/NavigationScheduler.cpp b/Source/WebCore/loader/NavigationScheduler.cpp
index 175219c..d51575b 100644
--- a/Source/WebCore/loader/NavigationScheduler.cpp
+++ b/Source/WebCore/loader/NavigationScheduler.cpp
@@ -53,7 +53,8 @@ namespace WebCore {
unsigned NavigationDisablerForBeforeUnload::s_navigationDisableCount = 0;
-class ScheduledNavigation : public Noncopyable {
+class ScheduledNavigation {
+ WTF_MAKE_NONCOPYABLE(ScheduledNavigation); WTF_MAKE_FAST_ALLOCATED;
public:
ScheduledNavigation(double delay, bool lockHistory, bool lockBackForwardList, bool wasDuringLoad, bool isLocationChange)
: m_delay(delay)
diff --git a/Source/WebCore/loader/PingLoader.h b/Source/WebCore/loader/PingLoader.h
index 3a076fb..5988b60 100644
--- a/Source/WebCore/loader/PingLoader.h
+++ b/Source/WebCore/loader/PingLoader.h
@@ -50,7 +50,8 @@ class ResourceResponse;
// to allow the load to live long enough to ensure the message was actually sent.
// Therefore, as soon as a callback is received from the ResourceHandle, this class
// will cancel the load and delete itself.
-class PingLoader : private ResourceHandleClient, public Noncopyable {
+class PingLoader : private ResourceHandleClient {
+ WTF_MAKE_NONCOPYABLE(PingLoader); WTF_MAKE_FAST_ALLOCATED;
public:
static void loadImage(Frame*, const KURL& url);
static void sendPing(Frame*, const KURL& pingURL, const KURL& destinationURL);
diff --git a/Source/WebCore/loader/PolicyChecker.h b/Source/WebCore/loader/PolicyChecker.h
index 541729c..3118dae 100644
--- a/Source/WebCore/loader/PolicyChecker.h
+++ b/Source/WebCore/loader/PolicyChecker.h
@@ -45,7 +45,8 @@ class NavigationAction;
class ResourceError;
class ResourceResponse;
-class PolicyChecker : public Noncopyable {
+class PolicyChecker {
+ WTF_MAKE_NONCOPYABLE(PolicyChecker);
public:
PolicyChecker(Frame*);
diff --git a/Source/WebCore/loader/ProgressTracker.cpp b/Source/WebCore/loader/ProgressTracker.cpp
index cd15433..65dd1c5 100644
--- a/Source/WebCore/loader/ProgressTracker.cpp
+++ b/Source/WebCore/loader/ProgressTracker.cpp
@@ -50,7 +50,9 @@ static const double finalProgressValue = 0.9; // 1.0 - initialProgressValue
static const int progressItemDefaultEstimatedLength = 1024 * 16;
-struct ProgressItem : Noncopyable {
+struct ProgressItem {
+ WTF_MAKE_NONCOPYABLE(ProgressItem); WTF_MAKE_FAST_ALLOCATED;
+public:
ProgressItem(long long length)
: bytesReceived(0)
, estimatedLength(length) { }
diff --git a/Source/WebCore/loader/ProgressTracker.h b/Source/WebCore/loader/ProgressTracker.h
index 5d5b6b2..ea5f7f9 100644
--- a/Source/WebCore/loader/ProgressTracker.h
+++ b/Source/WebCore/loader/ProgressTracker.h
@@ -36,7 +36,8 @@ class Frame;
class ResourceResponse;
struct ProgressItem;
-class ProgressTracker : public Noncopyable {
+class ProgressTracker {
+ WTF_MAKE_NONCOPYABLE(ProgressTracker); WTF_MAKE_FAST_ALLOCATED;
public:
ProgressTracker();
~ProgressTracker();
diff --git a/Source/WebCore/loader/ResourceLoadNotifier.h b/Source/WebCore/loader/ResourceLoadNotifier.h
index 2f10856..a6d92fb 100644
--- a/Source/WebCore/loader/ResourceLoadNotifier.h
+++ b/Source/WebCore/loader/ResourceLoadNotifier.h
@@ -43,7 +43,8 @@ class ResourceLoader;
class ResourceResponse;
class ResourceRequest;
-class ResourceLoadNotifier : public Noncopyable {
+class ResourceLoadNotifier {
+ WTF_MAKE_NONCOPYABLE(ResourceLoadNotifier);
public:
ResourceLoadNotifier(Frame*);
diff --git a/Source/WebCore/loader/ResourceLoadScheduler.h b/Source/WebCore/loader/ResourceLoadScheduler.h
index 163b67e..f2e627f 100644
--- a/Source/WebCore/loader/ResourceLoadScheduler.h
+++ b/Source/WebCore/loader/ResourceLoadScheduler.h
@@ -44,7 +44,8 @@ class ResourceRequest;
class SubresourceLoader;
class SubresourceLoaderClient;
-class ResourceLoadScheduler : public Noncopyable {
+class ResourceLoadScheduler {
+ WTF_MAKE_NONCOPYABLE(ResourceLoadScheduler);
public:
friend ResourceLoadScheduler* resourceLoadScheduler();
@@ -69,7 +70,8 @@ private:
void scheduleServePendingRequests();
void requestTimerFired(Timer<ResourceLoadScheduler>*);
- class HostInformation : public Noncopyable {
+ class HostInformation {
+ WTF_MAKE_NONCOPYABLE(HostInformation);
public:
HostInformation(const String&, unsigned);
~HostInformation();
diff --git a/Source/WebCore/loader/SubframeLoader.h b/Source/WebCore/loader/SubframeLoader.h
index a573045..ba63a5c 100644
--- a/Source/WebCore/loader/SubframeLoader.h
+++ b/Source/WebCore/loader/SubframeLoader.h
@@ -54,7 +54,8 @@ class Node;
class Widget;
// This is a slight misnomer. It handles the higher level logic of loading both subframes and plugins.
-class SubframeLoader : public Noncopyable {
+class SubframeLoader {
+ WTF_MAKE_NONCOPYABLE(SubframeLoader);
public:
SubframeLoader(Frame*);
diff --git a/Source/WebCore/loader/ThreadableLoader.h b/Source/WebCore/loader/ThreadableLoader.h
index f41a774..f574c94 100644
--- a/Source/WebCore/loader/ThreadableLoader.h
+++ b/Source/WebCore/loader/ThreadableLoader.h
@@ -65,7 +65,8 @@ namespace WebCore {
// Useful for doing loader operations from any thread (not threadsafe,
// just able to run on threads other than the main thread).
- class ThreadableLoader : public Noncopyable {
+ class ThreadableLoader {
+ WTF_MAKE_NONCOPYABLE(ThreadableLoader);
public:
static void loadResourceSynchronously(ScriptExecutionContext*, const ResourceRequest&, ThreadableLoaderClient&, const ThreadableLoaderOptions&);
static PassRefPtr<ThreadableLoader> create(ScriptExecutionContext*, ThreadableLoaderClient*, const ResourceRequest&, const ThreadableLoaderOptions&);
@@ -75,6 +76,7 @@ namespace WebCore {
void deref() { derefThreadableLoader(); }
protected:
+ ThreadableLoader() { }
virtual ~ThreadableLoader() { }
virtual void refThreadableLoader() = 0;
virtual void derefThreadableLoader() = 0;
diff --git a/Source/WebCore/loader/ThreadableLoaderClient.h b/Source/WebCore/loader/ThreadableLoaderClient.h
index bcf68be..cea8b0f 100644
--- a/Source/WebCore/loader/ThreadableLoaderClient.h
+++ b/Source/WebCore/loader/ThreadableLoaderClient.h
@@ -31,14 +31,14 @@
#ifndef ThreadableLoaderClient_h
#define ThreadableLoaderClient_h
-#include <wtf/Noncopyable.h>
namespace WebCore {
class ResourceError;
class ResourceResponse;
- class ThreadableLoaderClient : public Noncopyable {
+ class ThreadableLoaderClient {
+ WTF_MAKE_NONCOPYABLE(ThreadableLoaderClient); WTF_MAKE_FAST_ALLOCATED;
public:
virtual void didSendData(unsigned long long /*bytesSent*/, unsigned long long /*totalBytesToBeSent*/) { }
@@ -51,6 +51,7 @@ namespace WebCore {
virtual void didReceiveAuthenticationCancellation(const ResourceResponse&) { }
protected:
+ ThreadableLoaderClient() { }
virtual ~ThreadableLoaderClient() { }
};
diff --git a/Source/WebCore/loader/WorkerThreadableLoader.h b/Source/WebCore/loader/WorkerThreadableLoader.h
index 81da2e0..65cc637 100644
--- a/Source/WebCore/loader/WorkerThreadableLoader.h
+++ b/Source/WebCore/loader/WorkerThreadableLoader.h
@@ -54,6 +54,7 @@ namespace WebCore {
struct CrossThreadResourceRequestData;
class WorkerThreadableLoader : public RefCounted<WorkerThreadableLoader>, public ThreadableLoader {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static void loadResourceSynchronously(WorkerContext*, const ResourceRequest&, ThreadableLoaderClient&, const ThreadableLoaderOptions&);
static PassRefPtr<WorkerThreadableLoader> create(WorkerContext* workerContext, ThreadableLoaderClient* client, const String& taskMode, const ResourceRequest& request, const ThreadableLoaderOptions& options)
diff --git a/Source/WebCore/loader/appcache/ApplicationCacheGroup.h b/Source/WebCore/loader/appcache/ApplicationCacheGroup.h
index 2d8b83e..f3a117e 100644
--- a/Source/WebCore/loader/appcache/ApplicationCacheGroup.h
+++ b/Source/WebCore/loader/appcache/ApplicationCacheGroup.h
@@ -53,7 +53,8 @@ enum ApplicationCacheUpdateOption {
ApplicationCacheUpdateWithoutBrowsingContext
};
-class ApplicationCacheGroup : public Noncopyable, ResourceHandleClient {
+class ApplicationCacheGroup : ResourceHandleClient {
+ WTF_MAKE_NONCOPYABLE(ApplicationCacheGroup); WTF_MAKE_FAST_ALLOCATED;
public:
ApplicationCacheGroup(const KURL& manifestURL, bool isCopy = false);
~ApplicationCacheGroup();
diff --git a/Source/WebCore/loader/appcache/ApplicationCacheHost.h b/Source/WebCore/loader/appcache/ApplicationCacheHost.h
index 8ac5357..a1f2841 100644
--- a/Source/WebCore/loader/appcache/ApplicationCacheHost.h
+++ b/Source/WebCore/loader/appcache/ApplicationCacheHost.h
@@ -58,7 +58,8 @@ namespace WebCore {
class ApplicationCacheStorage;
#endif
- class ApplicationCacheHost : public Noncopyable {
+ class ApplicationCacheHost {
+ WTF_MAKE_NONCOPYABLE(ApplicationCacheHost); WTF_MAKE_FAST_ALLOCATED;
public:
// The Status numeric values are specified in the HTML5 spec.
enum Status {
diff --git a/Source/WebCore/loader/appcache/ApplicationCacheStorage.h b/Source/WebCore/loader/appcache/ApplicationCacheStorage.h
index 7db34e6..8bfdf13 100644
--- a/Source/WebCore/loader/appcache/ApplicationCacheStorage.h
+++ b/Source/WebCore/loader/appcache/ApplicationCacheStorage.h
@@ -44,7 +44,8 @@ template <class T>
class StorageIDJournal;
class SecurityOrigin;
-class ApplicationCacheStorage : public Noncopyable {
+class ApplicationCacheStorage {
+ WTF_MAKE_NONCOPYABLE(ApplicationCacheStorage); WTF_MAKE_FAST_ALLOCATED;
public:
enum FailureReason {
OriginQuotaReached,
diff --git a/Source/WebCore/loader/archive/ArchiveResourceCollection.h b/Source/WebCore/loader/archive/ArchiveResourceCollection.h
index 9d630d1..fd2ddbf 100644
--- a/Source/WebCore/loader/archive/ArchiveResourceCollection.h
+++ b/Source/WebCore/loader/archive/ArchiveResourceCollection.h
@@ -39,7 +39,8 @@
namespace WebCore {
-class ArchiveResourceCollection : public Noncopyable {
+class ArchiveResourceCollection {
+ WTF_MAKE_NONCOPYABLE(ArchiveResourceCollection); WTF_MAKE_FAST_ALLOCATED;
public:
ArchiveResourceCollection();
diff --git a/Source/WebCore/loader/cache/CachedResource.h b/Source/WebCore/loader/cache/CachedResource.h
index 3600a02..5c8b38f 100644
--- a/Source/WebCore/loader/cache/CachedResource.h
+++ b/Source/WebCore/loader/cache/CachedResource.h
@@ -50,7 +50,8 @@ class PurgeableBuffer;
// A resource that is held in the cache. Classes who want to use this object should derive
// from CachedResourceClient, to get the function calls in case the requested data has arrived.
// This class also does the actual communication with the loader to obtain the resource from the network.
-class CachedResource : public Noncopyable {
+class CachedResource {
+ WTF_MAKE_NONCOPYABLE(CachedResource); WTF_MAKE_FAST_ALLOCATED;
friend class MemoryCache;
friend class InspectorResource;
diff --git a/Source/WebCore/loader/cache/CachedResourceClient.h b/Source/WebCore/loader/cache/CachedResourceClient.h
index 275d331..1c56f13 100644
--- a/Source/WebCore/loader/cache/CachedResourceClient.h
+++ b/Source/WebCore/loader/cache/CachedResourceClient.h
@@ -45,8 +45,8 @@ namespace WebCore {
* inherit from this class and overload one of the 3 functions
*
*/
- class CachedResourceClient : public FastAllocBase
- {
+ class CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
virtual ~CachedResourceClient() { }
diff --git a/Source/WebCore/loader/cache/CachedResourceLoader.h b/Source/WebCore/loader/cache/CachedResourceLoader.h
index 34ef700..a540a41 100644
--- a/Source/WebCore/loader/cache/CachedResourceLoader.h
+++ b/Source/WebCore/loader/cache/CachedResourceLoader.h
@@ -49,7 +49,8 @@ class ImageLoader;
class KURL;
// The CachedResourceLoader manages the loading of scripts/images/stylesheets for a single document.
-class CachedResourceLoader : public Noncopyable {
+class CachedResourceLoader {
+ WTF_MAKE_NONCOPYABLE(CachedResourceLoader); WTF_MAKE_FAST_ALLOCATED;
friend class ImageLoader;
public:
diff --git a/Source/WebCore/loader/cache/MemoryCache.h b/Source/WebCore/loader/cache/MemoryCache.h
index e926d7c..dd8b843 100644
--- a/Source/WebCore/loader/cache/MemoryCache.h
+++ b/Source/WebCore/loader/cache/MemoryCache.h
@@ -70,7 +70,8 @@ class KURL;
// its member variables) are allocated in non-purgeable TC-malloc'd memory so we would see slightly
// more memory use due to this.
-class MemoryCache : public Noncopyable {
+class MemoryCache {
+ WTF_MAKE_NONCOPYABLE(MemoryCache); WTF_MAKE_FAST_ALLOCATED;
public:
friend MemoryCache* memoryCache();
diff --git a/Source/WebCore/loader/icon/IconDatabase.h b/Source/WebCore/loader/icon/IconDatabase.h
index 6146aa6..e08dcd4 100644
--- a/Source/WebCore/loader/icon/IconDatabase.h
+++ b/Source/WebCore/loader/icon/IconDatabase.h
@@ -62,8 +62,8 @@ enum IconLoadDecision {
IconLoadUnknown
};
-class IconDatabase : public Noncopyable {
-
+class IconDatabase {
+ WTF_MAKE_NONCOPYABLE(IconDatabase); WTF_MAKE_FAST_ALLOCATED;
// *** Main Thread Only ***
public:
void setClient(IconDatabaseClient*);
diff --git a/Source/WebCore/loader/icon/IconDatabaseClient.h b/Source/WebCore/loader/icon/IconDatabaseClient.h
index c210d7d..f97a2a8 100644
--- a/Source/WebCore/loader/icon/IconDatabaseClient.h
+++ b/Source/WebCore/loader/icon/IconDatabaseClient.h
@@ -29,6 +29,7 @@
#ifndef IconDatabaseClient_h
#define IconDatabaseClient_h
+#include <wtf/FastAllocBase.h>
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
@@ -37,8 +38,10 @@
namespace WebCore {
-class IconDatabaseClient : public Noncopyable {
+class IconDatabaseClient {
+ WTF_MAKE_NONCOPYABLE(IconDatabaseClient); WTF_MAKE_FAST_ALLOCATED;
public:
+ IconDatabaseClient() { }
virtual ~IconDatabaseClient() { }
virtual bool performImport() { return true; }
virtual void dispatchDidRemoveAllIcons() { }
diff --git a/Source/WebCore/loader/icon/IconLoader.h b/Source/WebCore/loader/icon/IconLoader.h
index 1ebac48..2985393 100644
--- a/Source/WebCore/loader/icon/IconLoader.h
+++ b/Source/WebCore/loader/icon/IconLoader.h
@@ -37,7 +37,8 @@ class Frame;
class KURL;
class SharedBuffer;
-class IconLoader : private SubresourceLoaderClient, public Noncopyable {
+class IconLoader : private SubresourceLoaderClient {
+ WTF_MAKE_NONCOPYABLE(IconLoader); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<IconLoader> create(Frame*);
~IconLoader();
diff --git a/Source/WebCore/loader/icon/PageURLRecord.h b/Source/WebCore/loader/icon/PageURLRecord.h
index f7ccb8f..7935dc9 100644
--- a/Source/WebCore/loader/icon/PageURLRecord.h
+++ b/Source/WebCore/loader/icon/PageURLRecord.h
@@ -51,7 +51,8 @@ public:
String iconURL;
};
-class PageURLRecord : public Noncopyable {
+class PageURLRecord {
+ WTF_MAKE_NONCOPYABLE(PageURLRecord); WTF_MAKE_FAST_ALLOCATED;
public:
PageURLRecord(const String& pageURL);
~PageURLRecord();
diff --git a/Source/WebCore/notifications/Notification.h b/Source/WebCore/notifications/Notification.h
index f14a302..73131e5 100644
--- a/Source/WebCore/notifications/Notification.h
+++ b/Source/WebCore/notifications/Notification.h
@@ -59,6 +59,7 @@ namespace WebCore {
class WorkerContext;
class Notification : public RefCounted<Notification>, public ActiveDOMObject, public ThreadableLoaderClient, public EventTarget {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<Notification> create(const KURL& url, ScriptExecutionContext* context, ExceptionCode& ec, PassRefPtr<NotificationCenter> provider);
static PassRefPtr<Notification> create(const NotificationContents& contents, ScriptExecutionContext* context, ExceptionCode& ec, PassRefPtr<NotificationCenter> provider);
diff --git a/Source/WebCore/page/ContextMenuController.h b/Source/WebCore/page/ContextMenuController.h
index ab92796..e6a0a00 100644
--- a/Source/WebCore/page/ContextMenuController.h
+++ b/Source/WebCore/page/ContextMenuController.h
@@ -41,7 +41,8 @@ namespace WebCore {
class Event;
class Page;
- class ContextMenuController : public Noncopyable {
+ class ContextMenuController {
+ WTF_MAKE_NONCOPYABLE(ContextMenuController); WTF_MAKE_FAST_ALLOCATED;
public:
ContextMenuController(Page*, ContextMenuClient*);
~ContextMenuController();
diff --git a/Source/WebCore/page/DragController.h b/Source/WebCore/page/DragController.h
index 10bb5f8..0f176b1 100644
--- a/Source/WebCore/page/DragController.h
+++ b/Source/WebCore/page/DragController.h
@@ -47,7 +47,8 @@ namespace WebCore {
class Range;
class SelectionController;
- class DragController : public Noncopyable {
+ class DragController {
+ WTF_MAKE_NONCOPYABLE(DragController); WTF_MAKE_FAST_ALLOCATED;
public:
DragController(Page*, DragClient*);
~DragController();
diff --git a/Source/WebCore/page/EventHandler.h b/Source/WebCore/page/EventHandler.h
index 0c18450..d12a56e 100644
--- a/Source/WebCore/page/EventHandler.h
+++ b/Source/WebCore/page/EventHandler.h
@@ -81,7 +81,8 @@ extern const int GeneralDragHysteresis;
enum HitTestScrollbars { ShouldHitTestScrollbars, DontHitTestScrollbars };
-class EventHandler : public Noncopyable {
+class EventHandler {
+ WTF_MAKE_NONCOPYABLE(EventHandler);
public:
EventHandler(Frame*);
~EventHandler();
@@ -224,7 +225,10 @@ private:
PerformDragAndDrop
};
- struct EventHandlerDragState : Noncopyable {
+ struct EventHandlerDragState {
+ WTF_MAKE_NONCOPYABLE(EventHandlerDragState); WTF_MAKE_FAST_ALLOCATED;
+ public:
+ EventHandlerDragState() { }
RefPtr<Node> m_dragSrc; // element that may be a drag source, for the current mouse gesture
bool m_dragSrcIsLink;
bool m_dragSrcIsImage;
diff --git a/Source/WebCore/page/EventSource.h b/Source/WebCore/page/EventSource.h
index ffed592..10ad6ba 100644
--- a/Source/WebCore/page/EventSource.h
+++ b/Source/WebCore/page/EventSource.h
@@ -51,6 +51,7 @@ namespace WebCore {
class ThreadableLoader;
class EventSource : public RefCounted<EventSource>, public EventTarget, private ThreadableLoaderClient, public ActiveDOMObject {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<EventSource> create(const String& url, ScriptExecutionContext*, ExceptionCode&);
virtual ~EventSource();
diff --git a/Source/WebCore/page/FocusController.h b/Source/WebCore/page/FocusController.h
index be51c77..50fa2ea 100644
--- a/Source/WebCore/page/FocusController.h
+++ b/Source/WebCore/page/FocusController.h
@@ -40,7 +40,8 @@ class KeyboardEvent;
class Node;
class Page;
-class FocusController : public Noncopyable {
+class FocusController {
+ WTF_MAKE_NONCOPYABLE(FocusController); WTF_MAKE_FAST_ALLOCATED;
public:
FocusController(Page*);
diff --git a/Source/WebCore/page/FrameTree.h b/Source/WebCore/page/FrameTree.h
index 94b8d16..bac5475 100644
--- a/Source/WebCore/page/FrameTree.h
+++ b/Source/WebCore/page/FrameTree.h
@@ -26,7 +26,8 @@ namespace WebCore {
class Frame;
- class FrameTree : public Noncopyable {
+ class FrameTree {
+ WTF_MAKE_NONCOPYABLE(FrameTree);
public:
FrameTree(Frame* thisFrame, Frame* parentFrame)
: m_thisFrame(thisFrame)
diff --git a/Source/WebCore/page/FrameView.cpp b/Source/WebCore/page/FrameView.cpp
index bcc8b9f..e03ef69 100644
--- a/Source/WebCore/page/FrameView.cpp
+++ b/Source/WebCore/page/FrameView.cpp
@@ -108,7 +108,10 @@ double FrameView::s_deferredRepaintDelayIncrementDuringLoading = 0;
// The maximum number of updateWidgets iterations that should be done before returning.
static const unsigned maxUpdateWidgetsIterations = 2;
-struct ScheduledEvent : Noncopyable {
+struct ScheduledEvent {
+ WTF_MAKE_NONCOPYABLE(ScheduledEvent); WTF_MAKE_FAST_ALLOCATED;
+public:
+ ScheduledEvent() { }
RefPtr<Event> m_event;
RefPtr<Node> m_eventTarget;
};
diff --git a/Source/WebCore/page/GeolocationController.h b/Source/WebCore/page/GeolocationController.h
index 7db1951..1a2ce69 100644
--- a/Source/WebCore/page/GeolocationController.h
+++ b/Source/WebCore/page/GeolocationController.h
@@ -40,7 +40,8 @@ class GeolocationError;
class GeolocationPosition;
class Page;
-class GeolocationController : public Noncopyable {
+class GeolocationController {
+ WTF_MAKE_NONCOPYABLE(GeolocationController);
public:
GeolocationController(Page*, GeolocationClient*);
~GeolocationController();
diff --git a/Source/WebCore/page/GroupSettings.h b/Source/WebCore/page/GroupSettings.h
index fb6f6b5..1bbad2b 100644
--- a/Source/WebCore/page/GroupSettings.h
+++ b/Source/WebCore/page/GroupSettings.h
@@ -33,7 +33,8 @@ namespace WebCore {
class PageGroup;
-class GroupSettings : public Noncopyable {
+class GroupSettings {
+ WTF_MAKE_NONCOPYABLE(GroupSettings); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<GroupSettings> create()
{
diff --git a/Source/WebCore/page/Page.h b/Source/WebCore/page/Page.h
index 7413bb6..071b142 100644
--- a/Source/WebCore/page/Page.h
+++ b/Source/WebCore/page/Page.h
@@ -90,12 +90,15 @@ namespace WebCore {
enum FindDirection { FindDirectionForward, FindDirectionBackward };
- class Page : public Noncopyable {
+ class Page {
+ WTF_MAKE_NONCOPYABLE(Page);
public:
static void scheduleForcedStyleRecalcForAllPages();
// It is up to the platform to ensure that non-null clients are provided where required.
- struct PageClients : Noncopyable {
+ struct PageClients {
+ WTF_MAKE_NONCOPYABLE(PageClients); WTF_MAKE_FAST_ALLOCATED;
+ public:
PageClients();
~PageClients();
diff --git a/Source/WebCore/page/PageGroup.h b/Source/WebCore/page/PageGroup.h
index cc47fba..643c5e6 100644
--- a/Source/WebCore/page/PageGroup.h
+++ b/Source/WebCore/page/PageGroup.h
@@ -41,7 +41,8 @@ namespace WebCore {
class Page;
class StorageNamespace;
- class PageGroup : public Noncopyable {
+ class PageGroup {
+ WTF_MAKE_NONCOPYABLE(PageGroup); WTF_MAKE_FAST_ALLOCATED;
public:
PageGroup(const String& name);
PageGroup(Page*);
diff --git a/Source/WebCore/page/PageGroupLoadDeferrer.h b/Source/WebCore/page/PageGroupLoadDeferrer.h
index d443ebd..f7956c4 100644
--- a/Source/WebCore/page/PageGroupLoadDeferrer.h
+++ b/Source/WebCore/page/PageGroupLoadDeferrer.h
@@ -28,7 +28,8 @@ namespace WebCore {
class Frame;
class Page;
- class PageGroupLoadDeferrer : public Noncopyable {
+ class PageGroupLoadDeferrer {
+ WTF_MAKE_NONCOPYABLE(PageGroupLoadDeferrer);
public:
PageGroupLoadDeferrer(Page*, bool deferSelf);
~PageGroupLoadDeferrer();
diff --git a/Source/WebCore/page/PluginHalter.h b/Source/WebCore/page/PluginHalter.h
index af8b31e..5b96d19 100644
--- a/Source/WebCore/page/PluginHalter.h
+++ b/Source/WebCore/page/PluginHalter.h
@@ -35,7 +35,8 @@ namespace WebCore {
class HaltablePlugin;
-class PluginHalter : public Noncopyable {
+class PluginHalter {
+ WTF_MAKE_NONCOPYABLE(PluginHalter); WTF_MAKE_FAST_ALLOCATED;
public:
PluginHalter(PluginHalterClient*);
diff --git a/Source/WebCore/page/Settings.h b/Source/WebCore/page/Settings.h
index f4630de..420dacc 100644
--- a/Source/WebCore/page/Settings.h
+++ b/Source/WebCore/page/Settings.h
@@ -50,7 +50,8 @@ namespace WebCore {
TextDirectionSubmenuAlwaysIncluded
};
- class Settings : public Noncopyable {
+ class Settings {
+ WTF_MAKE_NONCOPYABLE(Settings); WTF_MAKE_FAST_ALLOCATED;
public:
Settings(Page*);
diff --git a/Source/WebCore/page/SpeechInput.h b/Source/WebCore/page/SpeechInput.h
index 270f500..52d6c03 100644
--- a/Source/WebCore/page/SpeechInput.h
+++ b/Source/WebCore/page/SpeechInput.h
@@ -36,7 +36,6 @@
#include "SpeechInputListener.h"
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
-#include <wtf/Noncopyable.h>
namespace WebCore {
@@ -48,7 +47,8 @@ class SpeechInputListener;
// This class connects the input elements requiring speech input with the platform specific
// speech recognition engine. It provides methods for the input elements to activate speech
// recognition and methods for the speech recognition engine to return back the results.
-class SpeechInput : public Noncopyable, public SpeechInputListener {
+class SpeechInput : public SpeechInputListener {
+ WTF_MAKE_NONCOPYABLE(SpeechInput);
public:
SpeechInput(SpeechInputClient*);
virtual ~SpeechInput();
diff --git a/Source/WebCore/page/UserScript.h b/Source/WebCore/page/UserScript.h
index 0652439..0514090 100644
--- a/Source/WebCore/page/UserScript.h
+++ b/Source/WebCore/page/UserScript.h
@@ -35,7 +35,8 @@
namespace WebCore {
-class UserScript : public Noncopyable {
+class UserScript {
+ WTF_MAKE_NONCOPYABLE(UserScript); WTF_MAKE_FAST_ALLOCATED;
public:
UserScript(const String& source, const KURL& url,
PassOwnPtr<Vector<String> > whitelist, PassOwnPtr<Vector<String> > blacklist,
diff --git a/Source/WebCore/page/UserStyleSheet.h b/Source/WebCore/page/UserStyleSheet.h
index fa42e2c..068df1e 100644
--- a/Source/WebCore/page/UserStyleSheet.h
+++ b/Source/WebCore/page/UserStyleSheet.h
@@ -35,7 +35,8 @@
namespace WebCore {
-class UserStyleSheet : public Noncopyable {
+class UserStyleSheet {
+ WTF_MAKE_NONCOPYABLE(UserStyleSheet); WTF_MAKE_FAST_ALLOCATED;
public:
UserStyleSheet(const String& source, const KURL& url,
PassOwnPtr<Vector<String> > whitelist, PassOwnPtr<Vector<String> > blacklist,
diff --git a/Source/WebCore/page/XSSAuditor.h b/Source/WebCore/page/XSSAuditor.h
index 2b781f1..5beed61 100644
--- a/Source/WebCore/page/XSSAuditor.h
+++ b/Source/WebCore/page/XSSAuditor.h
@@ -69,7 +69,8 @@ namespace WebCore {
// * HTMLDocumentParser::shouldLoadExternalScriptFromSrc - used to load external JavaScript scripts.
// * SubframeLoader::requestObject - used to load <object>/<embed> elements.
//
- class XSSAuditor : public Noncopyable {
+ class XSSAuditor {
+ WTF_MAKE_NONCOPYABLE(XSSAuditor); WTF_MAKE_FAST_ALLOCATED;
public:
XSSAuditor(Frame*);
~XSSAuditor();
diff --git a/Source/WebCore/page/animation/AnimationBase.cpp b/Source/WebCore/page/animation/AnimationBase.cpp
index 14a44d2..9a906e2 100644
--- a/Source/WebCore/page/animation/AnimationBase.cpp
+++ b/Source/WebCore/page/animation/AnimationBase.cpp
@@ -223,7 +223,8 @@ class PropertyWrapperBase;
static void addShorthandProperties();
static PropertyWrapperBase* wrapperForProperty(int propertyID);
-class PropertyWrapperBase : public Noncopyable {
+class PropertyWrapperBase {
+ WTF_MAKE_NONCOPYABLE(PropertyWrapperBase); WTF_MAKE_FAST_ALLOCATED;
public:
PropertyWrapperBase(int prop)
: m_prop(prop)
@@ -446,7 +447,8 @@ public:
};
template <typename T>
-class FillLayerPropertyWrapperGetter : public FillLayerPropertyWrapperBase, public Noncopyable {
+class FillLayerPropertyWrapperGetter : public FillLayerPropertyWrapperBase {
+ WTF_MAKE_NONCOPYABLE(FillLayerPropertyWrapperGetter);
public:
FillLayerPropertyWrapperGetter(T (FillLayer::*getter)() const)
: m_getter(getter)
diff --git a/Source/WebCore/page/animation/AnimationControllerPrivate.h b/Source/WebCore/page/animation/AnimationControllerPrivate.h
index 6812e09..186dd7d 100644
--- a/Source/WebCore/page/animation/AnimationControllerPrivate.h
+++ b/Source/WebCore/page/animation/AnimationControllerPrivate.h
@@ -49,7 +49,8 @@ class Node;
class RenderObject;
class RenderStyle;
-class AnimationControllerPrivate : public Noncopyable {
+class AnimationControllerPrivate {
+ WTF_MAKE_NONCOPYABLE(AnimationControllerPrivate); WTF_MAKE_FAST_ALLOCATED;
public:
AnimationControllerPrivate(Frame*);
~AnimationControllerPrivate();
diff --git a/Source/WebCore/page/mac/EventHandlerMac.mm b/Source/WebCore/page/mac/EventHandlerMac.mm
index 2d4d86b..6011859 100644
--- a/Source/WebCore/page/mac/EventHandlerMac.mm
+++ b/Source/WebCore/page/mac/EventHandlerMac.mm
@@ -77,7 +77,8 @@ NSEvent *EventHandler::currentNSEvent()
return currentNSEventSlot().get();
}
-class CurrentEventScope : public Noncopyable {
+class CurrentEventScope {
+ WTF_MAKE_NONCOPYABLE(CurrentEventScope);
public:
CurrentEventScope(NSEvent *);
~CurrentEventScope();
diff --git a/Source/WebCore/platform/AsyncFileSystem.h b/Source/WebCore/platform/AsyncFileSystem.h
index d96c1ad..c34a644 100644
--- a/Source/WebCore/platform/AsyncFileSystem.h
+++ b/Source/WebCore/platform/AsyncFileSystem.h
@@ -44,7 +44,8 @@ class AsyncFileSystemCallbacks;
class AsyncFileWriterClient;
// This class provides async interface for platform-specific file system implementation. Note that all the methods take platform paths.
-class AsyncFileSystem : public Noncopyable {
+class AsyncFileSystem {
+ WTF_MAKE_NONCOPYABLE(AsyncFileSystem);
public:
virtual ~AsyncFileSystem() { }
diff --git a/Source/WebCore/platform/AsyncFileSystemCallbacks.h b/Source/WebCore/platform/AsyncFileSystemCallbacks.h
index 290a669..cee8d90 100644
--- a/Source/WebCore/platform/AsyncFileSystemCallbacks.h
+++ b/Source/WebCore/platform/AsyncFileSystemCallbacks.h
@@ -41,8 +41,11 @@ class AsyncFileSystem;
class AsyncFileWriter;
struct FileMetadata;
-class AsyncFileSystemCallbacks : public Noncopyable {
+class AsyncFileSystemCallbacks {
+ WTF_MAKE_NONCOPYABLE(AsyncFileSystemCallbacks);
public:
+ AsyncFileSystemCallbacks() { }
+
// Called when a requested operation is completed successfully.
virtual void didSucceed() = 0;
diff --git a/Source/WebCore/platform/AutodrainedPool.h b/Source/WebCore/platform/AutodrainedPool.h
index d44ee1e..f03ec81 100644
--- a/Source/WebCore/platform/AutodrainedPool.h
+++ b/Source/WebCore/platform/AutodrainedPool.h
@@ -39,7 +39,8 @@ class NSAutoreleasePool;
namespace WebCore {
-class AutodrainedPool : public Noncopyable {
+class AutodrainedPool {
+ WTF_MAKE_NONCOPYABLE(AutodrainedPool);
public:
AutodrainedPool(int iterationLimit = 1);
~AutodrainedPool();
diff --git a/Source/WebCore/platform/ContextMenu.h b/Source/WebCore/platform/ContextMenu.h
index 575c86d..2977749 100644
--- a/Source/WebCore/platform/ContextMenu.h
+++ b/Source/WebCore/platform/ContextMenu.h
@@ -41,8 +41,8 @@ namespace WebCore {
class ContextMenuController;
- class ContextMenu : public Noncopyable
- {
+ class ContextMenu {
+ WTF_MAKE_NONCOPYABLE(ContextMenu); WTF_MAKE_FAST_ALLOCATED;
public:
ContextMenu();
diff --git a/Source/WebCore/platform/ContextMenuItem.h b/Source/WebCore/platform/ContextMenuItem.h
index 145d795..6e84131 100644
--- a/Source/WebCore/platform/ContextMenuItem.h
+++ b/Source/WebCore/platform/ContextMenuItem.h
@@ -223,7 +223,8 @@ namespace WebCore {
typedef void* PlatformMenuItemDescription;
#endif
- class ContextMenuItem : public FastAllocBase {
+ class ContextMenuItem {
+ WTF_MAKE_FAST_ALLOCATED;
public:
ContextMenuItem(ContextMenuItemType, ContextMenuAction, const String&, ContextMenu* subMenu = 0);
ContextMenuItem(ContextMenuItemType, ContextMenuAction, const String&, bool enabled, bool checked);
diff --git a/Source/WebCore/platform/DeprecatedPtrList.h b/Source/WebCore/platform/DeprecatedPtrList.h
index 47cd538..c07d173 100644
--- a/Source/WebCore/platform/DeprecatedPtrList.h
+++ b/Source/WebCore/platform/DeprecatedPtrList.h
@@ -33,7 +33,8 @@ namespace WebCore {
template <class T> class DeprecatedPtrListIterator;
-template <class T> class DeprecatedPtrList : public FastAllocBase {
+template <class T> class DeprecatedPtrList {
+ WTF_MAKE_FAST_ALLOCATED;
public:
DeprecatedPtrList() : impl(deleteFunc), del_item(false) { }
~DeprecatedPtrList() { impl.clear(del_item); }
diff --git a/Source/WebCore/platform/DeprecatedPtrListImpl.cpp b/Source/WebCore/platform/DeprecatedPtrListImpl.cpp
index 96fd513..c633741 100644
--- a/Source/WebCore/platform/DeprecatedPtrListImpl.cpp
+++ b/Source/WebCore/platform/DeprecatedPtrListImpl.cpp
@@ -29,12 +29,13 @@
#include <cstddef>
#include <algorithm>
#include <wtf/Assertions.h>
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
namespace WebCore {
-class DeprecatedListNode : public Noncopyable
-{
+class DeprecatedListNode {
+ WTF_MAKE_NONCOPYABLE(DeprecatedListNode); WTF_MAKE_FAST_ALLOCATED;
public:
DeprecatedListNode(void *d) : data(d), next(0), prev(0) { }
diff --git a/Source/WebCore/platform/EventLoop.h b/Source/WebCore/platform/EventLoop.h
index b0507f7..128e92b 100644
--- a/Source/WebCore/platform/EventLoop.h
+++ b/Source/WebCore/platform/EventLoop.h
@@ -30,7 +30,8 @@
namespace WebCore {
- class EventLoop : public Noncopyable {
+ class EventLoop {
+ WTF_MAKE_NONCOPYABLE(EventLoop);
public:
EventLoop()
: m_ended(false)
diff --git a/Source/WebCore/platform/GeolocationService.h b/Source/WebCore/platform/GeolocationService.h
index 1585f65..9211f8d 100644
--- a/Source/WebCore/platform/GeolocationService.h
+++ b/Source/WebCore/platform/GeolocationService.h
@@ -42,7 +42,8 @@ public:
virtual void geolocationServiceErrorOccurred(GeolocationService*) = 0;
};
-class GeolocationService : public Noncopyable {
+class GeolocationService {
+ WTF_MAKE_NONCOPYABLE(GeolocationService);
public:
static GeolocationService* create(GeolocationServiceClient*);
virtual ~GeolocationService() { }
diff --git a/Source/WebCore/platform/HostWindow.h b/Source/WebCore/platform/HostWindow.h
index 7882d48..225884b 100644
--- a/Source/WebCore/platform/HostWindow.h
+++ b/Source/WebCore/platform/HostWindow.h
@@ -26,15 +26,16 @@
#ifndef HostWindow_h
#define HostWindow_h
-#include <wtf/Noncopyable.h>
#include "Widget.h"
namespace WebCore {
class Cursor;
-class HostWindow : public Noncopyable {
+class HostWindow {
+ WTF_MAKE_NONCOPYABLE(HostWindow); WTF_MAKE_FAST_ALLOCATED;
public:
+ HostWindow() { }
virtual ~HostWindow() { }
// Requests the host invalidate the window, not the contents. If immediate is true do so synchronously, otherwise async.
diff --git a/Source/WebCore/platform/KillRing.h b/Source/WebCore/platform/KillRing.h
index 8e27350..b687274 100644
--- a/Source/WebCore/platform/KillRing.h
+++ b/Source/WebCore/platform/KillRing.h
@@ -31,6 +31,7 @@
namespace WebCore {
class KillRing {
+ WTF_MAKE_FAST_ALLOCATED;
public:
void append(const String&);
void prepend(const String&);
diff --git a/Source/WebCore/platform/Length.h b/Source/WebCore/platform/Length.h
index 7dd875e..9da71c7 100644
--- a/Source/WebCore/platform/Length.h
+++ b/Source/WebCore/platform/Length.h
@@ -35,7 +35,9 @@ const int intMinForLength = (-0x7ffffff - 1); // min value for a 28-bit int
enum LengthType { Auto, Relative, Percent, Fixed, Static, Intrinsic, MinIntrinsic };
-struct Length : FastAllocBase {
+struct Length {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
Length()
: m_value(0)
{
diff --git a/Source/WebCore/platform/Pasteboard.h b/Source/WebCore/platform/Pasteboard.h
index 78a40b3..50a9cb6 100644
--- a/Source/WebCore/platform/Pasteboard.h
+++ b/Source/WebCore/platform/Pasteboard.h
@@ -81,7 +81,8 @@ class Node;
class Range;
class ArchiveResource;
-class Pasteboard : public Noncopyable {
+class Pasteboard {
+ WTF_MAKE_NONCOPYABLE(Pasteboard); WTF_MAKE_FAST_ALLOCATED;
public:
#if PLATFORM(MAC)
//Helper functions to allow Clipboard to share code
diff --git a/Source/WebCore/platform/PlatformKeyboardEvent.h b/Source/WebCore/platform/PlatformKeyboardEvent.h
index bc28e84..aee95b4 100644
--- a/Source/WebCore/platform/PlatformKeyboardEvent.h
+++ b/Source/WebCore/platform/PlatformKeyboardEvent.h
@@ -75,7 +75,8 @@ typedef unsigned long int uint32;
namespace WebCore {
- class PlatformKeyboardEvent : public FastAllocBase {
+ class PlatformKeyboardEvent {
+ WTF_MAKE_FAST_ALLOCATED;
public:
enum Type {
// KeyDown is sent by platforms such as Mac OS X, gtk and Qt, and has information about both physical pressed key, and its translation.
diff --git a/Source/WebCore/platform/PurgeableBuffer.h b/Source/WebCore/platform/PurgeableBuffer.h
index 9bda2d5..44136c2 100644
--- a/Source/WebCore/platform/PurgeableBuffer.h
+++ b/Source/WebCore/platform/PurgeableBuffer.h
@@ -27,13 +27,13 @@
#define PurgeableBuffer_h
#include "PurgePriority.h"
-#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
namespace WebCore {
- class PurgeableBuffer : public Noncopyable {
+ class PurgeableBuffer {
+ WTF_MAKE_NONCOPYABLE(PurgeableBuffer);
public:
static PassOwnPtr<PurgeableBuffer> create(const char* data, size_t);
diff --git a/Source/WebCore/platform/RunLoopTimer.h b/Source/WebCore/platform/RunLoopTimer.h
index 65f253e..f8c529f 100644
--- a/Source/WebCore/platform/RunLoopTimer.h
+++ b/Source/WebCore/platform/RunLoopTimer.h
@@ -30,15 +30,16 @@
#define RunLoopTimer_h
#include "SchedulePair.h"
-#include <wtf/Noncopyable.h>
#include <wtf/RetainPtr.h>
namespace WebCore {
// Time intervals are all in seconds.
-class RunLoopTimerBase : public Noncopyable {
+class RunLoopTimerBase {
+ WTF_MAKE_NONCOPYABLE(RunLoopTimerBase);
public:
+ RunLoopTimerBase() { }
virtual ~RunLoopTimerBase();
void schedule(const SchedulePair*);
diff --git a/Source/WebCore/platform/ScrollbarTheme.h b/Source/WebCore/platform/ScrollbarTheme.h
index 4e9e24b..ef52b0d 100644
--- a/Source/WebCore/platform/ScrollbarTheme.h
+++ b/Source/WebCore/platform/ScrollbarTheme.h
@@ -36,8 +36,10 @@ class PlatformMouseEvent;
class Scrollbar;
class ScrollView;
-class ScrollbarTheme : public Noncopyable {
+class ScrollbarTheme {
+ WTF_MAKE_NONCOPYABLE(ScrollbarTheme); WTF_MAKE_FAST_ALLOCATED;
public:
+ ScrollbarTheme() { }
virtual ~ScrollbarTheme() {};
virtual bool paint(Scrollbar*, GraphicsContext*, const IntRect& /*damageRect*/) { return false; }
diff --git a/Source/WebCore/platform/SharedTimer.h b/Source/WebCore/platform/SharedTimer.h
index 5b5cd14..16e0d0b 100644
--- a/Source/WebCore/platform/SharedTimer.h
+++ b/Source/WebCore/platform/SharedTimer.h
@@ -26,6 +26,7 @@
#ifndef SharedTimer_h
#define SharedTimer_h
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
namespace WebCore {
@@ -33,8 +34,10 @@ namespace WebCore {
// Each thread has its own single instance of shared timer, which implements this interface.
// This instance is shared by all timers in the thread.
// Not intended to be used directly; use the Timer class instead.
- class SharedTimer : public Noncopyable {
+ class SharedTimer {
+ WTF_MAKE_NONCOPYABLE(SharedTimer); WTF_MAKE_FAST_ALLOCATED;
public:
+ SharedTimer() { }
virtual ~SharedTimer() {}
virtual void setFiredFunction(void (*)()) = 0;
diff --git a/Source/WebCore/platform/ThreadGlobalData.h b/Source/WebCore/platform/ThreadGlobalData.h
index 9f57f00..76377b4 100644
--- a/Source/WebCore/platform/ThreadGlobalData.h
+++ b/Source/WebCore/platform/ThreadGlobalData.h
@@ -45,7 +45,8 @@ namespace WebCore {
struct TECConverterWrapper;
class ThreadTimers;
- class ThreadGlobalData : public Noncopyable {
+ class ThreadGlobalData {
+ WTF_MAKE_NONCOPYABLE(ThreadGlobalData);
public:
ThreadGlobalData();
~ThreadGlobalData();
diff --git a/Source/WebCore/platform/ThreadTimers.h b/Source/WebCore/platform/ThreadTimers.h
index ab42598..3d7b5f9 100644
--- a/Source/WebCore/platform/ThreadTimers.h
+++ b/Source/WebCore/platform/ThreadTimers.h
@@ -37,7 +37,8 @@ namespace WebCore {
class TimerBase;
// A collection of timers per thread. Kept in ThreadGlobalData.
- class ThreadTimers : public Noncopyable {
+ class ThreadTimers {
+ WTF_MAKE_NONCOPYABLE(ThreadTimers); WTF_MAKE_FAST_ALLOCATED;
public:
ThreadTimers();
diff --git a/Source/WebCore/platform/Timer.h b/Source/WebCore/platform/Timer.h
index c4443da..c331e3d 100644
--- a/Source/WebCore/platform/Timer.h
+++ b/Source/WebCore/platform/Timer.h
@@ -35,7 +35,8 @@ namespace WebCore {
class TimerHeapElement;
-class TimerBase : public Noncopyable {
+class TimerBase {
+ WTF_MAKE_NONCOPYABLE(TimerBase); WTF_MAKE_FAST_ALLOCATED;
public:
TimerBase();
virtual ~TimerBase();
diff --git a/Source/WebCore/platform/TreeShared.h b/Source/WebCore/platform/TreeShared.h
index 9d9ac1f..9e27c5e 100644
--- a/Source/WebCore/platform/TreeShared.h
+++ b/Source/WebCore/platform/TreeShared.h
@@ -32,7 +32,8 @@ template<typename T> class TreeShared;
template<typename T> void adopted(TreeShared<T>*);
#endif
-template<typename T> class TreeShared : public Noncopyable {
+template<typename T> class TreeShared {
+ WTF_MAKE_NONCOPYABLE(TreeShared);
public:
TreeShared()
: m_refCount(1)
diff --git a/Source/WebCore/platform/animation/AnimationList.h b/Source/WebCore/platform/animation/AnimationList.h
index 9a334ca..bf8ff9f 100644
--- a/Source/WebCore/platform/animation/AnimationList.h
+++ b/Source/WebCore/platform/animation/AnimationList.h
@@ -31,7 +31,8 @@
namespace WebCore {
-class AnimationList : public FastAllocBase {
+class AnimationList {
+ WTF_MAKE_FAST_ALLOCATED;
public:
AnimationList() { }
AnimationList(const AnimationList&);
diff --git a/Source/WebCore/platform/audio/AudioBus.h b/Source/WebCore/platform/audio/AudioBus.h
index 4318b81..888f6bf 100644
--- a/Source/WebCore/platform/audio/AudioBus.h
+++ b/Source/WebCore/platform/audio/AudioBus.h
@@ -39,7 +39,8 @@ namespace WebCore {
// An AudioBus represents a collection of one or more AudioChannels.
// The data layout is "planar" as opposed to "interleaved".
// An AudioBus with one channel is mono, an AudioBus with two channels is stereo, etc.
-class AudioBus : public Noncopyable {
+class AudioBus {
+ WTF_MAKE_NONCOPYABLE(AudioBus);
public:
enum {
ChannelLeft = 0,
diff --git a/Source/WebCore/platform/audio/AudioChannel.h b/Source/WebCore/platform/audio/AudioChannel.h
index 6816830..7325e9f 100644
--- a/Source/WebCore/platform/audio/AudioChannel.h
+++ b/Source/WebCore/platform/audio/AudioChannel.h
@@ -30,14 +30,14 @@
#define AudioChannel_h
#include "AudioArray.h"
-#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
namespace WebCore {
// An AudioChannel represents a buffer of non-interleaved floating-point audio samples.
// The PCM samples are normally assumed to be in a nominal range -1.0 -> +1.0
-class AudioChannel : public Noncopyable {
+class AudioChannel {
+ WTF_MAKE_NONCOPYABLE(AudioChannel);
public:
// Memory can be externally referenced, or can be internally allocated with an AudioFloatArray.
diff --git a/Source/WebCore/platform/audio/HRTFDatabase.h b/Source/WebCore/platform/audio/HRTFDatabase.h
index c33b38f..bf13a3a 100644
--- a/Source/WebCore/platform/audio/HRTFDatabase.h
+++ b/Source/WebCore/platform/audio/HRTFDatabase.h
@@ -43,7 +43,8 @@ namespace WebCore {
class HRTFKernel;
-class HRTFDatabase : public Noncopyable {
+class HRTFDatabase {
+ WTF_MAKE_NONCOPYABLE(HRTFDatabase);
public:
static PassOwnPtr<HRTFDatabase> create(double sampleRate);
diff --git a/Source/WebCore/platform/audio/HRTFElevation.h b/Source/WebCore/platform/audio/HRTFElevation.h
index b388b34..24b7822 100644
--- a/Source/WebCore/platform/audio/HRTFElevation.h
+++ b/Source/WebCore/platform/audio/HRTFElevation.h
@@ -43,7 +43,8 @@ namespace WebCore {
// HRTFElevation contains all of the HRTFKernels (one left ear and one right ear per azimuth angle) for a particular elevation.
-class HRTFElevation : public Noncopyable {
+class HRTFElevation {
+ WTF_MAKE_NONCOPYABLE(HRTFElevation);
public:
// Loads and returns an HRTFElevation with the given HRTF database subject name and elevation from browser (or WebKit.framework) resources.
// Normally, there will only be a single HRTF database set, but this API supports the possibility of multiple ones with different names.
diff --git a/Source/WebCore/platform/chromium/ClipboardChromium.h b/Source/WebCore/platform/chromium/ClipboardChromium.h
index 1d69921..d5ada14 100644
--- a/Source/WebCore/platform/chromium/ClipboardChromium.h
+++ b/Source/WebCore/platform/chromium/ClipboardChromium.h
@@ -42,6 +42,7 @@ namespace WebCore {
class IntPoint;
class ClipboardChromium : public Clipboard, public CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
~ClipboardChromium() {}
diff --git a/Source/WebCore/platform/graphics/BitmapImage.h b/Source/WebCore/platform/graphics/BitmapImage.h
index 5a54963..e9678c1 100644
--- a/Source/WebCore/platform/graphics/BitmapImage.h
+++ b/Source/WebCore/platform/graphics/BitmapImage.h
@@ -68,7 +68,9 @@ template <typename T> class Timer;
// FrameData Class
// ================================================
-struct FrameData : Noncopyable {
+struct FrameData {
+ WTF_MAKE_NONCOPYABLE(FrameData);
+public:
FrameData()
: m_frame(0)
, m_haveMetadata(false)
diff --git a/Source/WebCore/platform/graphics/Color.h b/Source/WebCore/platform/graphics/Color.h
index ef0d31c..da98dd2 100644
--- a/Source/WebCore/platform/graphics/Color.h
+++ b/Source/WebCore/platform/graphics/Color.h
@@ -78,7 +78,8 @@ inline int greenChannel(RGBA32 color) { return (color >> 8) & 0xFF; }
inline int blueChannel(RGBA32 color) { return color & 0xFF; }
inline int alphaChannel(RGBA32 color) { return (color >> 24) & 0xFF; }
-class Color : public FastAllocBase {
+class Color {
+ WTF_MAKE_FAST_ALLOCATED;
public:
Color() : m_color(0), m_valid(false) { }
Color(RGBA32 col) : m_color(col), m_valid(true) { }
diff --git a/Source/WebCore/platform/graphics/FontCache.cpp b/Source/WebCore/platform/graphics/FontCache.cpp
index 149ea79..cfca980 100644
--- a/Source/WebCore/platform/graphics/FontCache.cpp
+++ b/Source/WebCore/platform/graphics/FontCache.cpp
@@ -53,7 +53,9 @@ FontCache::FontCache()
{
}
-struct FontPlatformDataCacheKey : FastAllocBase {
+struct FontPlatformDataCacheKey {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
FontPlatformDataCacheKey(const AtomicString& family = AtomicString(), unsigned size = 0, unsigned weight = 0, bool italic = false,
bool isPrinterFont = false, FontRenderingMode renderingMode = NormalRenderingMode, FontOrientation orientation = Horizontal)
: m_size(size)
diff --git a/Source/WebCore/platform/graphics/FontCache.h b/Source/WebCore/platform/graphics/FontCache.h
index e6845d9..86f8c67 100644
--- a/Source/WebCore/platform/graphics/FontCache.h
+++ b/Source/WebCore/platform/graphics/FontCache.h
@@ -50,7 +50,8 @@ class FontDescription;
class FontSelector;
class SimpleFontData;
-class FontCache : public Noncopyable {
+class FontCache {
+ WTF_MAKE_NONCOPYABLE(FontCache); WTF_MAKE_FAST_ALLOCATED;
public:
friend FontCache* fontCache();
diff --git a/Source/WebCore/platform/graphics/FontData.h b/Source/WebCore/platform/graphics/FontData.h
index ee94a98..3d35d2a 100644
--- a/Source/WebCore/platform/graphics/FontData.h
+++ b/Source/WebCore/platform/graphics/FontData.h
@@ -26,6 +26,7 @@
#ifndef FontData_h
#define FontData_h
+#include <wtf/FastAllocBase.h>
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
#include <wtf/unicode/Unicode.h>
@@ -34,7 +35,8 @@ namespace WebCore {
class SimpleFontData;
-class FontData : public Noncopyable {
+class FontData {
+ WTF_MAKE_NONCOPYABLE(FontData); WTF_MAKE_FAST_ALLOCATED;
public:
FontData()
: m_maxGlyphPageTreeLevel(0)
diff --git a/Source/WebCore/platform/graphics/GlyphMetricsMap.h b/Source/WebCore/platform/graphics/GlyphMetricsMap.h
index fa85bcc..3e13fbb 100644
--- a/Source/WebCore/platform/graphics/GlyphMetricsMap.h
+++ b/Source/WebCore/platform/graphics/GlyphMetricsMap.h
@@ -40,7 +40,8 @@ typedef unsigned short Glyph;
const float cGlyphSizeUnknown = -1;
-template<class T> class GlyphMetricsMap : public Noncopyable {
+template<class T> class GlyphMetricsMap {
+ WTF_MAKE_NONCOPYABLE(GlyphMetricsMap);
public:
GlyphMetricsMap() : m_filledPrimaryPage(false) { }
~GlyphMetricsMap()
diff --git a/Source/WebCore/platform/graphics/GraphicsContext.h b/Source/WebCore/platform/graphics/GraphicsContext.h
index a459b37..35824dc 100644
--- a/Source/WebCore/platform/graphics/GraphicsContext.h
+++ b/Source/WebCore/platform/graphics/GraphicsContext.h
@@ -206,7 +206,8 @@ namespace WebCore {
bool shadowsIgnoreTransforms : 1;
};
- class GraphicsContext : public Noncopyable {
+ class GraphicsContext {
+ WTF_MAKE_NONCOPYABLE(GraphicsContext); WTF_MAKE_FAST_ALLOCATED;
public:
GraphicsContext(PlatformGraphicsContext*);
~GraphicsContext();
@@ -424,7 +425,8 @@ namespace WebCore {
void setShouldIncludeChildWindows(bool);
bool shouldIncludeChildWindows() const;
- class WindowsBitmap : public Noncopyable {
+ class WindowsBitmap {
+ WTF_MAKE_NONCOPYABLE(WindowsBitmap);
public:
WindowsBitmap(HDC, IntSize);
~WindowsBitmap();
diff --git a/Source/WebCore/platform/graphics/GraphicsLayer.h b/Source/WebCore/platform/graphics/GraphicsLayer.h
index 5fdf738..78c1e75 100644
--- a/Source/WebCore/platform/graphics/GraphicsLayer.h
+++ b/Source/WebCore/platform/graphics/GraphicsLayer.h
@@ -94,7 +94,8 @@ class TimingFunction;
// Base class for animation values (also used for transitions). Here to
// represent values for properties being animated via the GraphicsLayer,
// without pulling in style-related data from outside of the platform directory.
-class AnimationValue : public Noncopyable {
+class AnimationValue {
+ WTF_MAKE_NONCOPYABLE(AnimationValue); WTF_MAKE_FAST_ALLOCATED;
public:
AnimationValue(float keyTime, PassRefPtr<TimingFunction> timingFunction = 0)
: m_keyTime(keyTime)
@@ -146,7 +147,8 @@ private:
// Used to store a series of values in a keyframe list. Values will all be of the same type,
// which can be inferred from the property.
-class KeyframeValueList : public Noncopyable {
+class KeyframeValueList {
+ WTF_MAKE_NONCOPYABLE(KeyframeValueList);
public:
KeyframeValueList(AnimatedPropertyID property)
diff --git a/Source/WebCore/platform/graphics/ImageBuffer.h b/Source/WebCore/platform/graphics/ImageBuffer.h
index c46cc90..a6cc0d6 100644
--- a/Source/WebCore/platform/graphics/ImageBuffer.h
+++ b/Source/WebCore/platform/graphics/ImageBuffer.h
@@ -63,7 +63,8 @@ namespace WebCore {
Accelerated
};
- class ImageBuffer : public Noncopyable {
+ class ImageBuffer {
+ WTF_MAKE_NONCOPYABLE(ImageBuffer); WTF_MAKE_FAST_ALLOCATED;
public:
// Will return a null pointer on allocation failure.
static PassOwnPtr<ImageBuffer> create(const IntSize& size, ColorSpace colorSpace = ColorSpaceDeviceRGB, RenderingMode renderingMode = Unaccelerated)
diff --git a/Source/WebCore/platform/graphics/ImageSource.h b/Source/WebCore/platform/graphics/ImageSource.h
index 7018a5c..3f16d07 100644
--- a/Source/WebCore/platform/graphics/ImageSource.h
+++ b/Source/WebCore/platform/graphics/ImageSource.h
@@ -117,7 +117,8 @@ const int cAnimationLoopOnce = 0;
const int cAnimationLoopInfinite = -1;
const int cAnimationNone = -2;
-class ImageSource : public Noncopyable {
+class ImageSource {
+ WTF_MAKE_NONCOPYABLE(ImageSource);
public:
enum AlphaOption {
AlphaPremultiplied,
diff --git a/Source/WebCore/platform/graphics/MediaPlayer.cpp b/Source/WebCore/platform/graphics/MediaPlayer.cpp
index abf5105..ba19ec5 100644
--- a/Source/WebCore/platform/graphics/MediaPlayer.cpp
+++ b/Source/WebCore/platform/graphics/MediaPlayer.cpp
@@ -147,7 +147,9 @@ static MediaPlayerPrivateInterface* createNullMediaPlayer(MediaPlayer* player)
// engine support
-struct MediaPlayerFactory : Noncopyable {
+struct MediaPlayerFactory {
+ WTF_MAKE_NONCOPYABLE(MediaPlayerFactory); WTF_MAKE_FAST_ALLOCATED;
+public:
MediaPlayerFactory(CreateMediaEnginePlayer constructor, MediaEngineSupportedTypes getSupportedTypes, MediaEngineSupportsType supportsTypeAndCodecs)
: constructor(constructor)
, getSupportedTypes(getSupportedTypes)
diff --git a/Source/WebCore/platform/graphics/MediaPlayer.h b/Source/WebCore/platform/graphics/MediaPlayer.h
index c7d7ef3..1cbbe15 100644
--- a/Source/WebCore/platform/graphics/MediaPlayer.h
+++ b/Source/WebCore/platform/graphics/MediaPlayer.h
@@ -149,7 +149,8 @@ public:
#endif
};
-class MediaPlayer : public Noncopyable {
+class MediaPlayer {
+ WTF_MAKE_NONCOPYABLE(MediaPlayer); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<MediaPlayer> create(MediaPlayerClient* client)
diff --git a/Source/WebCore/platform/graphics/MediaPlayerPrivate.h b/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
index d956286..6abe258 100644
--- a/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
+++ b/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
@@ -36,8 +36,10 @@ namespace WebCore {
class IntRect;
class IntSize;
-class MediaPlayerPrivateInterface : public Noncopyable {
+class MediaPlayerPrivateInterface {
+ WTF_MAKE_NONCOPYABLE(MediaPlayerPrivateInterface); WTF_MAKE_FAST_ALLOCATED;
public:
+ MediaPlayerPrivateInterface() { }
virtual ~MediaPlayerPrivateInterface() { }
virtual void load(const String& url) = 0;
diff --git a/Source/WebCore/platform/graphics/Path.h b/Source/WebCore/platform/graphics/Path.h
index 423a792..852d88e 100644
--- a/Source/WebCore/platform/graphics/Path.h
+++ b/Source/WebCore/platform/graphics/Path.h
@@ -100,7 +100,8 @@ namespace WebCore {
typedef void (*PathApplierFunction)(void* info, const PathElement*);
- class Path : public FastAllocBase {
+ class Path {
+ WTF_MAKE_FAST_ALLOCATED;
public:
Path();
~Path();
diff --git a/Source/WebCore/platform/graphics/TiledBackingStore.h b/Source/WebCore/platform/graphics/TiledBackingStore.h
index 58477db..06c7fe1 100644
--- a/Source/WebCore/platform/graphics/TiledBackingStore.h
+++ b/Source/WebCore/platform/graphics/TiledBackingStore.h
@@ -36,7 +36,8 @@ namespace WebCore {
class GraphicsContext;
class TiledBackingStoreClient;
-class TiledBackingStore : public Noncopyable {
+class TiledBackingStore {
+ WTF_MAKE_NONCOPYABLE(TiledBackingStore); WTF_MAKE_FAST_ALLOCATED;
public:
TiledBackingStore(TiledBackingStoreClient*);
~TiledBackingStore();
diff --git a/Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h
index dac31f8..50ea00f 100644
--- a/Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h
@@ -35,7 +35,8 @@ namespace WebCore {
class FontPlatformData;
class SharedBuffer;
-struct FontCustomPlatformData : Noncopyable {
+struct FontCustomPlatformData {
+ WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
public:
FontCustomPlatformData(FT_Face, SharedBuffer*);
~FontCustomPlatformData();
diff --git a/Source/WebCore/platform/graphics/chromium/GLES2Canvas.h b/Source/WebCore/platform/graphics/chromium/GLES2Canvas.h
index f38c364..605f86f 100644
--- a/Source/WebCore/platform/graphics/chromium/GLES2Canvas.h
+++ b/Source/WebCore/platform/graphics/chromium/GLES2Canvas.h
@@ -51,7 +51,8 @@ class GraphicsContext3D;
class Path;
class SharedGraphicsContext3D;
-class GLES2Canvas : public Noncopyable {
+class GLES2Canvas {
+ WTF_MAKE_NONCOPYABLE(GLES2Canvas);
public:
GLES2Canvas(SharedGraphicsContext3D*, DrawingBuffer*, const IntSize&);
~GLES2Canvas();
diff --git a/Source/WebCore/platform/graphics/chromium/LayerTexture.h b/Source/WebCore/platform/graphics/chromium/LayerTexture.h
index 711e687..b60dff2 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerTexture.h
+++ b/Source/WebCore/platform/graphics/chromium/LayerTexture.h
@@ -28,6 +28,7 @@
#include "IntSize.h"
#include "TextureManager.h"
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RefPtr.h>
@@ -37,7 +38,8 @@ namespace WebCore {
class GraphicsContext3D;
class TextureManager;
-class LayerTexture : public Noncopyable {
+class LayerTexture {
+ WTF_MAKE_NONCOPYABLE(LayerTexture); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<LayerTexture> create(GraphicsContext3D* context, TextureManager* manager)
{
diff --git a/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h b/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h
index 05f5242..e09693d 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h
+++ b/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h
@@ -43,7 +43,8 @@ public:
virtual void paint(GraphicsContext& context, const IntRect& contentRect) = 0;
};
-class LayerTilerChromium : public Noncopyable {
+class LayerTilerChromium {
+ WTF_MAKE_NONCOPYABLE(LayerTilerChromium);
public:
static PassOwnPtr<LayerTilerChromium> create(LayerRendererChromium* layerRenderer, const IntSize& tileSize);
@@ -62,7 +63,8 @@ public:
private:
LayerTilerChromium(LayerRendererChromium* layerRenderer, const IntSize& tileSize);
- class Tile : public Noncopyable {
+ class Tile {
+ WTF_MAKE_NONCOPYABLE(Tile);
public:
explicit Tile(PassOwnPtr<LayerTexture> tex) : m_tex(tex) {}
diff --git a/Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h b/Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h
index a93218f..689a6eb 100644
--- a/Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h
+++ b/Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h
@@ -41,7 +41,8 @@ class LayerChromium;
class LayerRendererChromium;
class LayerTexture;
-class RenderSurfaceChromium : public Noncopyable {
+class RenderSurfaceChromium {
+ WTF_MAKE_NONCOPYABLE(RenderSurfaceChromium);
friend class LayerRendererChromium;
public:
explicit RenderSurfaceChromium(LayerChromium*);
diff --git a/Source/WebCore/platform/graphics/chromium/TextureManager.h b/Source/WebCore/platform/graphics/chromium/TextureManager.h
index 4891cc7..83104a9 100644
--- a/Source/WebCore/platform/graphics/chromium/TextureManager.h
+++ b/Source/WebCore/platform/graphics/chromium/TextureManager.h
@@ -29,6 +29,7 @@
#include "IntRect.h"
#include "IntSize.h"
+#include <wtf/FastAllocBase.h>
#include <wtf/HashMap.h>
#include <wtf/ListHashSet.h>
@@ -36,7 +37,8 @@ namespace WebCore {
typedef int TextureToken;
-class TextureManager : public Noncopyable {
+class TextureManager {
+ WTF_MAKE_NONCOPYABLE(TextureManager);
public:
static PassOwnPtr<TextureManager> create(GraphicsContext3D* context, size_t memoryLimitBytes, int maxTextureSize)
{
diff --git a/Source/WebCore/platform/graphics/chromium/TransparencyWin.h b/Source/WebCore/platform/graphics/chromium/TransparencyWin.h
index b6bef91..535cbaa 100644
--- a/Source/WebCore/platform/graphics/chromium/TransparencyWin.h
+++ b/Source/WebCore/platform/graphics/chromium/TransparencyWin.h
@@ -54,7 +54,8 @@ class TransparencyWin_OpaqueCompositeLayer_Test;
// that is composited later manually. This is to get around Windows' inability
// to handle the alpha channel, semitransparent text, and transformed form
// controls.
-class TransparencyWin : public Noncopyable {
+class TransparencyWin {
+ WTF_MAKE_NONCOPYABLE(TransparencyWin);
public:
enum LayerMode {
// No extra layer is created. Drawing will happen to the source.
diff --git a/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h b/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h
index 9da5c9a..49ae114 100644
--- a/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h
+++ b/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h
@@ -82,8 +82,10 @@ public:
#endif
#if PLATFORM(CHROMIUM)
- class WillPublishCallback : public Noncopyable {
+ class WillPublishCallback {
+ WTF_MAKE_NONCOPYABLE(WillPublishCallback);
public:
+ WillPublishCallback() { }
virtual ~WillPublishCallback() { }
virtual void willPublish() = 0;
diff --git a/Source/WebCore/platform/graphics/gpu/LoopBlinnClassifier.h b/Source/WebCore/platform/graphics/gpu/LoopBlinnClassifier.h
index c665844..1bd67b8 100644
--- a/Source/WebCore/platform/graphics/gpu/LoopBlinnClassifier.h
+++ b/Source/WebCore/platform/graphics/gpu/LoopBlinnClassifier.h
@@ -30,14 +30,14 @@
#ifndef LoopBlinnClassifier_h
#define LoopBlinnClassifier_h
-#include <wtf/Noncopyable.h>
namespace WebCore {
class FloatPoint;
// Classifies cubic curves into specific types.
-class LoopBlinnClassifier : public Noncopyable {
+class LoopBlinnClassifier {
+ WTF_MAKE_NONCOPYABLE(LoopBlinnClassifier);
public:
// The types of cubic curves.
enum CurveType {
diff --git a/Source/WebCore/platform/graphics/gpu/LoopBlinnLocalTriangulator.h b/Source/WebCore/platform/graphics/gpu/LoopBlinnLocalTriangulator.h
index ea3d7e3..d01e6c9 100644
--- a/Source/WebCore/platform/graphics/gpu/LoopBlinnLocalTriangulator.h
+++ b/Source/WebCore/platform/graphics/gpu/LoopBlinnLocalTriangulator.h
@@ -30,19 +30,20 @@
#include "FloatPoint3D.h"
#include "LoopBlinnConstants.h"
#include <wtf/Assertions.h>
-#include <wtf/Noncopyable.h>
namespace WebCore {
// Performs a localized triangulation of the triangle mesh
// corresponding to the four control point vertices of a cubic curve
// segment.
-class LoopBlinnLocalTriangulator : public Noncopyable {
+class LoopBlinnLocalTriangulator {
+ WTF_MAKE_NONCOPYABLE(LoopBlinnLocalTriangulator);
public:
// The vertices that the triangulator operates upon, containing both
// the position information as well as the cubic texture
// coordinates.
- class Vertex : public Noncopyable {
+ class Vertex {
+ WTF_MAKE_NONCOPYABLE(Vertex);
public:
Vertex()
{
diff --git a/Source/WebCore/platform/graphics/gpu/PODArena.h b/Source/WebCore/platform/graphics/gpu/PODArena.h
index f68baef..6edc1db 100644
--- a/Source/WebCore/platform/graphics/gpu/PODArena.h
+++ b/Source/WebCore/platform/graphics/gpu/PODArena.h
@@ -158,7 +158,8 @@ private:
}
// Manages a chunk of memory and individual allocations out of it.
- class Chunk : public Noncopyable {
+ class Chunk {
+ WTF_MAKE_NONCOPYABLE(Chunk);
public:
// Allocates a block of memory of the given size from the passed
// Allocator.
diff --git a/Source/WebCore/platform/graphics/gpu/PODIntervalTree.h b/Source/WebCore/platform/graphics/gpu/PODIntervalTree.h
index 320ce60..5bf3de0 100644
--- a/Source/WebCore/platform/graphics/gpu/PODIntervalTree.h
+++ b/Source/WebCore/platform/graphics/gpu/PODIntervalTree.h
@@ -44,8 +44,8 @@ struct ValueToString;
// supports efficient (O(lg n)) insertion, removal and querying of
// intervals in the tree.
template<class T, class UserData = void*>
-class PODIntervalTree : public Noncopyable,
- public PODRedBlackTree<PODInterval<T, UserData> > {
+class PODIntervalTree : public PODRedBlackTree<PODInterval<T, UserData> > {
+ WTF_MAKE_NONCOPYABLE(PODIntervalTree);
public:
// Typedef to reduce typing when declaring intervals to be stored in
// this tree.
diff --git a/Source/WebCore/platform/graphics/gpu/PODRedBlackTree.h b/Source/WebCore/platform/graphics/gpu/PODRedBlackTree.h
index 6d5954c..bd08988 100644
--- a/Source/WebCore/platform/graphics/gpu/PODRedBlackTree.h
+++ b/Source/WebCore/platform/graphics/gpu/PODRedBlackTree.h
@@ -198,7 +198,8 @@ protected:
// The base Node class which is stored in the tree. Nodes are only
// an internal concept; users of the tree deal only with the data
// they store in it.
- class Node : public Noncopyable {
+ class Node {
+ WTF_MAKE_NONCOPYABLE(Node);
public:
// Constructor. Newly-created nodes are colored red.
explicit Node(const T& data)
@@ -659,7 +660,8 @@ private:
// Helper class for size()
// A Visitor which simply counts the number of visited elements.
- class Counter : public Visitor, public Noncopyable {
+ class Counter : public Visitor {
+ WTF_MAKE_NONCOPYABLE(Counter);
public:
Counter()
: m_count(0) { }
diff --git a/Source/WebCore/platform/graphics/gpu/Shader.h b/Source/WebCore/platform/graphics/gpu/Shader.h
index e5bd8de..4f62ca9 100644
--- a/Source/WebCore/platform/graphics/gpu/Shader.h
+++ b/Source/WebCore/platform/graphics/gpu/Shader.h
@@ -40,7 +40,8 @@ class AffineTransform;
class GraphicsContext3D;
class Color;
-class Shader : public Noncopyable {
+class Shader {
+ WTF_MAKE_NONCOPYABLE(Shader);
protected:
Shader(GraphicsContext3D*, unsigned program);
~Shader();
diff --git a/Source/WebCore/platform/graphics/gpu/TilingData.h b/Source/WebCore/platform/graphics/gpu/TilingData.h
index 1bdc51a..d1140bd 100644
--- a/Source/WebCore/platform/graphics/gpu/TilingData.h
+++ b/Source/WebCore/platform/graphics/gpu/TilingData.h
@@ -38,7 +38,8 @@ namespace WebCore {
class FloatRect;
class IntRect;
-class TilingData : public Noncopyable {
+class TilingData {
+ WTF_MAKE_NONCOPYABLE(TilingData);
public:
TilingData(int maxTextureSize, int totalSizeX, int totalSizeY, bool hasBorderTexels);
int maxTextureSize() const { return m_maxTextureSize; }
diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
index e10e61f..36b49df 100644
--- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
@@ -36,7 +36,8 @@
using namespace WebCore;
-class StreamingClient : public Noncopyable, public ResourceHandleClient {
+class StreamingClient : public ResourceHandleClient {
+ WTF_MAKE_NONCOPYABLE(StreamingClient);
public:
StreamingClient(WebKitWebSrc*);
virtual ~StreamingClient();
diff --git a/Source/WebCore/platform/graphics/haiku/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/haiku/FontCustomPlatformData.h
index cc348e3..86f99b2 100644
--- a/Source/WebCore/platform/graphics/haiku/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/haiku/FontCustomPlatformData.h
@@ -24,14 +24,14 @@
#include "FontOrientation.h"
#include "FontRenderingMode.h"
#include <wtf/Forward.h>
-#include <wtf/Noncopyable.h>
namespace WebCore {
class FontPlatformData;
class SharedBuffer;
- struct FontCustomPlatformData : Noncopyable {
+ struct FontCustomPlatformData {
+ WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
public:
FontCustomPlatformData() { }
~FontCustomPlatformData();
diff --git a/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h
index c11858c..7043d7e 100644
--- a/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h
@@ -36,7 +36,9 @@ namespace WebCore {
class FontPlatformData;
class SharedBuffer;
-struct FontCustomPlatformData : Noncopyable {
+struct FontCustomPlatformData {
+ WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
+public:
FontCustomPlatformData(ATSFontContainerRef container, CGFontRef cgFont)
: m_atsContainer(container)
, m_cgFont(cgFont)
diff --git a/Source/WebCore/platform/graphics/openvg/PainterOpenVG.h b/Source/WebCore/platform/graphics/openvg/PainterOpenVG.h
index 32f1fe5..3f1494e 100644
--- a/Source/WebCore/platform/graphics/openvg/PainterOpenVG.h
+++ b/Source/WebCore/platform/graphics/openvg/PainterOpenVG.h
@@ -41,7 +41,8 @@ class TiledImageOpenVG;
struct PlatformPainterState;
-class PainterOpenVG : public Noncopyable {
+class PainterOpenVG {
+ WTF_MAKE_NONCOPYABLE(PainterOpenVG);
public:
friend class SurfaceOpenVG;
friend struct PlatformPainterState;
diff --git a/Source/WebCore/platform/graphics/openvg/SurfaceOpenVG.h b/Source/WebCore/platform/graphics/openvg/SurfaceOpenVG.h
index 46d1646..19d95d8 100644
--- a/Source/WebCore/platform/graphics/openvg/SurfaceOpenVG.h
+++ b/Source/WebCore/platform/graphics/openvg/SurfaceOpenVG.h
@@ -42,7 +42,8 @@ class IntSize;
* of #ifdefs and should make it easy to add different surface/context
* implementations than EGL.
*/
-class SurfaceOpenVG : public Noncopyable {
+class SurfaceOpenVG {
+ WTF_MAKE_NONCOPYABLE(SurfaceOpenVG);
public:
enum MakeCurrentMode {
ApplyPainterStateOnSurfaceSwitch,
diff --git a/Source/WebCore/platform/graphics/qt/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/qt/FontCustomPlatformData.h
index 6c41d47..54fa679 100644
--- a/Source/WebCore/platform/graphics/qt/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/qt/FontCustomPlatformData.h
@@ -24,6 +24,7 @@
#include "FontOrientation.h"
#include "FontRenderingMode.h"
+#include <wtf/FastAllocBase.h>
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
@@ -32,7 +33,10 @@ namespace WebCore {
class FontPlatformData;
class SharedBuffer;
-struct FontCustomPlatformData : Noncopyable {
+struct FontCustomPlatformData {
+ WTF_MAKE_NONCOPYABLE(FontCustomPlatformData); WTF_MAKE_FAST_ALLOCATED;
+public:
+ FontCustomPlatformData() { }
~FontCustomPlatformData();
// for use with QFontDatabase::addApplicationFont/removeApplicationFont
diff --git a/Source/WebCore/platform/graphics/qt/FontPlatformData.h b/Source/WebCore/platform/graphics/qt/FontPlatformData.h
index 1c57e29..f268370 100644
--- a/Source/WebCore/platform/graphics/qt/FontPlatformData.h
+++ b/Source/WebCore/platform/graphics/qt/FontPlatformData.h
@@ -32,7 +32,8 @@
namespace WebCore {
-class FontPlatformDataPrivate : public Noncopyable {
+class FontPlatformDataPrivate {
+ WTF_MAKE_NONCOPYABLE(FontPlatformDataPrivate); WTF_MAKE_FAST_ALLOCATED;
public:
FontPlatformDataPrivate()
: refCount(1)
@@ -62,8 +63,10 @@ public:
-class FontPlatformData : public FastAllocBase {
+class FontPlatformData {
+ WTF_MAKE_FAST_ALLOCATED;
public:
+ FontPlatformData() { }
FontPlatformData(float size, bool bold, bool oblique);
FontPlatformData(const FontPlatformData &);
FontPlatformData(const FontDescription&, const AtomicString& familyName, int wordSpacing = 0, int letterSpacing = 0);
diff --git a/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp b/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
index c21b4ee..0592821 100644
--- a/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
@@ -174,7 +174,8 @@ static inline Qt::FillRule toQtFillRule(WindRule rule)
return Qt::OddEvenFill;
}
-class GraphicsContextPlatformPrivate : public Noncopyable {
+class GraphicsContextPlatformPrivate {
+ WTF_MAKE_NONCOPYABLE(GraphicsContextPlatformPrivate); WTF_MAKE_FAST_ALLOCATED;
public:
GraphicsContextPlatformPrivate(QPainter*, const QColor& initialSolidColor);
~GraphicsContextPlatformPrivate();
diff --git a/Source/WebCore/platform/graphics/qt/TransparencyLayer.h b/Source/WebCore/platform/graphics/qt/TransparencyLayer.h
index 5b2f8b2..e4828f6 100644
--- a/Source/WebCore/platform/graphics/qt/TransparencyLayer.h
+++ b/Source/WebCore/platform/graphics/qt/TransparencyLayer.h
@@ -42,7 +42,9 @@
namespace WebCore {
-struct TransparencyLayer : FastAllocBase {
+struct TransparencyLayer {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
TransparencyLayer(const QPainter* p, const QRect &rect, qreal opacity, QPixmap& alphaMask)
: pixmap(rect.width(), rect.height())
, opacity(opacity)
diff --git a/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.h
index e51b6b6..4228b40 100644
--- a/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.h
@@ -49,7 +49,9 @@ namespace WebCore {
class FontPlatformData;
class SharedBuffer;
-struct FontCustomPlatformData : Noncopyable {
+struct FontCustomPlatformData {
+ WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
+public:
#if OS(WINDOWS)
FontCustomPlatformData(HANDLE fontReference, const String& name)
: m_fontReference(fontReference)
diff --git a/Source/WebCore/platform/graphics/skia/GraphicsContextPlatformPrivate.h b/Source/WebCore/platform/graphics/skia/GraphicsContextPlatformPrivate.h
index 5e12ad6..44835a4 100644
--- a/Source/WebCore/platform/graphics/skia/GraphicsContextPlatformPrivate.h
+++ b/Source/WebCore/platform/graphics/skia/GraphicsContextPlatformPrivate.h
@@ -31,14 +31,14 @@
#ifndef GraphicsContextPlatformPrivate_h
#define GraphicsContextPlatformPrivate_h
-#include <wtf/Noncopyable.h>
class PlatformContextSkia;
namespace WebCore {
// This class just holds onto a PlatformContextSkia for GraphicsContext.
-class GraphicsContextPlatformPrivate : public Noncopyable {
+class GraphicsContextPlatformPrivate {
+ WTF_MAKE_NONCOPYABLE(GraphicsContextPlatformPrivate);
public:
GraphicsContextPlatformPrivate(PlatformContextSkia* platformContext)
: m_context(platformContext) { }
diff --git a/Source/WebCore/platform/graphics/skia/PlatformContextSkia.h b/Source/WebCore/platform/graphics/skia/PlatformContextSkia.h
index 11b311a..0304486 100644
--- a/Source/WebCore/platform/graphics/skia/PlatformContextSkia.h
+++ b/Source/WebCore/platform/graphics/skia/PlatformContextSkia.h
@@ -67,7 +67,8 @@ class Texture;
// responsible for managing the painting state which is store in separate
// SkPaint objects. This class provides the adaptor that allows the painting
// state to be pushed and popped along with the bitmap.
-class PlatformContextSkia : public Noncopyable {
+class PlatformContextSkia {
+ WTF_MAKE_NONCOPYABLE(PlatformContextSkia);
public:
// For printing, there shouldn't be any canvas. canvas can be NULL. If you
// supply a NULL canvas, you can also call setCanvas later.
diff --git a/Source/WebCore/platform/graphics/transforms/AffineTransform.h b/Source/WebCore/platform/graphics/transforms/AffineTransform.h
index 2adbb39..50d0655 100644
--- a/Source/WebCore/platform/graphics/transforms/AffineTransform.h
+++ b/Source/WebCore/platform/graphics/transforms/AffineTransform.h
@@ -55,7 +55,8 @@ class IntPoint;
class IntRect;
class TransformationMatrix;
-class AffineTransform : public FastAllocBase {
+class AffineTransform {
+ WTF_MAKE_FAST_ALLOCATED;
public:
typedef double Transform[6];
diff --git a/Source/WebCore/platform/graphics/transforms/TransformOperations.h b/Source/WebCore/platform/graphics/transforms/TransformOperations.h
index c0da377..981e1f6 100644
--- a/Source/WebCore/platform/graphics/transforms/TransformOperations.h
+++ b/Source/WebCore/platform/graphics/transforms/TransformOperations.h
@@ -31,7 +31,8 @@
namespace WebCore {
-class TransformOperations : public FastAllocBase {
+class TransformOperations {
+ WTF_MAKE_FAST_ALLOCATED;
public:
TransformOperations(bool makeIdentity = false);
diff --git a/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h b/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h
index 684b14c..c883675 100644
--- a/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h
+++ b/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h
@@ -64,7 +64,8 @@ class FloatPoint3D;
class FloatRect;
class FloatQuad;
-class TransformationMatrix : public FastAllocBase {
+class TransformationMatrix {
+ WTF_MAKE_FAST_ALLOCATED;
public:
typedef double Matrix4[4][4];
diff --git a/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h
index 1bdf270..de33c63 100644
--- a/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h
@@ -34,7 +34,9 @@ namespace WebCore {
class FontPlatformData;
class SharedBuffer;
-struct FontCustomPlatformData : Noncopyable {
+struct FontCustomPlatformData {
+ WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
+public:
FontCustomPlatformData(HANDLE fontReference, const String& name)
: m_fontReference(fontReference)
, m_name(name)
diff --git a/Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.h b/Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.h
index 3ab52b8..9c67037 100644
--- a/Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.h
+++ b/Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.h
@@ -33,7 +33,9 @@ namespace WebCore {
class FontPlatformData;
class SharedBuffer;
-struct FontCustomPlatformData : Noncopyable {
+struct FontCustomPlatformData {
+ WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
+public:
FontCustomPlatformData(cairo_font_face_t* fontFace)
: m_fontFace(fontFace)
{
diff --git a/Source/WebCore/platform/graphics/win/LocalWindowsContext.h b/Source/WebCore/platform/graphics/win/LocalWindowsContext.h
index c216140..5951e49 100644
--- a/Source/WebCore/platform/graphics/win/LocalWindowsContext.h
+++ b/Source/WebCore/platform/graphics/win/LocalWindowsContext.h
@@ -31,7 +31,8 @@
namespace WebCore {
-class LocalWindowsContext : public Noncopyable {
+class LocalWindowsContext {
+ WTF_MAKE_NONCOPYABLE(LocalWindowsContext);
public:
LocalWindowsContext(GraphicsContext* graphicsContext, const IntRect& rect, bool supportAlphaBlend = true, bool mayCreateBitmap = true)
: m_graphicsContext(graphicsContext)
diff --git a/Source/WebCore/platform/graphics/win/QTMovie.cpp b/Source/WebCore/platform/graphics/win/QTMovie.cpp
index efaf218..dfa1d36 100644
--- a/Source/WebCore/platform/graphics/win/QTMovie.cpp
+++ b/Source/WebCore/platform/graphics/win/QTMovie.cpp
@@ -63,7 +63,8 @@ union UppParam {
static Vector<CFStringRef>* gSupportedTypes = 0;
static SInt32 quickTimeVersion = 0;
-class QTMoviePrivate : public Noncopyable, public QTMovieTaskClient {
+class QTMoviePrivate : public QTMovieTaskClient {
+ WTF_MAKE_NONCOPYABLE(QTMoviePrivate);
public:
QTMoviePrivate();
~QTMoviePrivate();
diff --git a/Source/WebCore/platform/graphics/win/QTTrack.cpp b/Source/WebCore/platform/graphics/win/QTTrack.cpp
index 09142bc..bf80a81 100644
--- a/Source/WebCore/platform/graphics/win/QTTrack.cpp
+++ b/Source/WebCore/platform/graphics/win/QTTrack.cpp
@@ -31,7 +31,8 @@
using namespace std;
-class QTTrackPrivate : public Noncopyable {
+class QTTrackPrivate {
+ WTF_MAKE_NONCOPYABLE(QTTrackPrivate);
public:
QTTrackPrivate();
~QTTrackPrivate();
diff --git a/Source/WebCore/platform/graphics/win/WKCACFContextFlusher.h b/Source/WebCore/platform/graphics/win/WKCACFContextFlusher.h
index 17ec41d..78e848b 100644
--- a/Source/WebCore/platform/graphics/win/WKCACFContextFlusher.h
+++ b/Source/WebCore/platform/graphics/win/WKCACFContextFlusher.h
@@ -36,7 +36,8 @@ struct WKCACFContext;
namespace WebCore {
-class WKCACFContextFlusher : public Noncopyable {
+class WKCACFContextFlusher {
+ WTF_MAKE_NONCOPYABLE(WKCACFContextFlusher);
public:
static WKCACFContextFlusher& shared();
diff --git a/Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h b/Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h
index 02cdbdb..cc9dfcd 100644
--- a/Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h
+++ b/Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h
@@ -60,7 +60,8 @@ public:
// FIXME: Currently there is a WKCACFLayerRenderer for each WebView and each
// has its own CARenderOGLContext and Direct3DDevice9, which is inefficient.
// (https://bugs.webkit.org/show_bug.cgi?id=31855)
-class WKCACFLayerRenderer : public Noncopyable {
+class WKCACFLayerRenderer {
+ WTF_MAKE_NONCOPYABLE(WKCACFLayerRenderer);
friend PlatformCALayer;
public:
diff --git a/Source/WebCore/platform/graphics/wince/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/wince/FontCustomPlatformData.h
index abdc0f2..0508246 100644
--- a/Source/WebCore/platform/graphics/wince/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/wince/FontCustomPlatformData.h
@@ -37,7 +37,9 @@ namespace WebCore {
virtual void unregisterFont(const String& fontName) = 0;
};
- struct FontCustomPlatformData : Noncopyable {
+ struct FontCustomPlatformData {
+ WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
+ public:
FontCustomPlatformData(const String& name)
: m_name(name)
{
diff --git a/Source/WebCore/platform/graphics/wince/GraphicsContextWinCE.cpp b/Source/WebCore/platform/graphics/wince/GraphicsContextWinCE.cpp
index 1b8a704..9b672d2 100644
--- a/Source/WebCore/platform/graphics/wince/GraphicsContextWinCE.cpp
+++ b/Source/WebCore/platform/graphics/wince/GraphicsContextWinCE.cpp
@@ -438,7 +438,8 @@ static void rotateBitmap(SharedBitmap* destBmp, const SharedBitmap* sourceBmp, c
_rotateBitmap<unsigned, false>(destBmp, sourceBmp, transform);
}
-class TransparentLayerDC : Noncopyable {
+class TransparentLayerDC {
+ WTF_MAKE_NONCOPYABLE(TransparentLayerDC);
public:
TransparentLayerDC(GraphicsContextPlatformPrivate* data, IntRect& origRect, const IntRect* rectBeforeTransform = 0, int alpha = 255, bool paintImage = false);
~TransparentLayerDC();
@@ -558,7 +559,8 @@ void TransparentLayerDC::fillAlphaChannel()
}
}
-class ScopeDCProvider : Noncopyable {
+class ScopeDCProvider {
+ WTF_MAKE_NONCOPYABLE(ScopeDCProvider);
public:
explicit ScopeDCProvider(GraphicsContextPlatformPrivate* data)
: m_data(data)
diff --git a/Source/WebCore/platform/graphics/wx/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/wx/FontCustomPlatformData.h
index cc348e3..86f99b2 100644
--- a/Source/WebCore/platform/graphics/wx/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/wx/FontCustomPlatformData.h
@@ -24,14 +24,14 @@
#include "FontOrientation.h"
#include "FontRenderingMode.h"
#include <wtf/Forward.h>
-#include <wtf/Noncopyable.h>
namespace WebCore {
class FontPlatformData;
class SharedBuffer;
- struct FontCustomPlatformData : Noncopyable {
+ struct FontCustomPlatformData {
+ WTF_MAKE_NONCOPYABLE(FontCustomPlatformData);
public:
FontCustomPlatformData() { }
~FontCustomPlatformData();
diff --git a/Source/WebCore/platform/gtk/ClipboardGtk.h b/Source/WebCore/platform/gtk/ClipboardGtk.h
index e14a583..0c07c07 100644
--- a/Source/WebCore/platform/gtk/ClipboardGtk.h
+++ b/Source/WebCore/platform/gtk/ClipboardGtk.h
@@ -39,6 +39,7 @@ namespace WebCore {
// State available during IE's events for drag and drop and copy/paste
// Created from the EventHandlerGtk to be used by the dom
class ClipboardGtk : public Clipboard, public CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<ClipboardGtk> create(ClipboardAccessPolicy policy, GtkClipboard* clipboard, Frame* frame)
{
diff --git a/Source/WebCore/platform/image-decoders/ImageDecoder.h b/Source/WebCore/platform/image-decoders/ImageDecoder.h
index 39deee2..24bcdcb 100644
--- a/Source/WebCore/platform/image-decoders/ImageDecoder.h
+++ b/Source/WebCore/platform/image-decoders/ImageDecoder.h
@@ -221,7 +221,8 @@ namespace WebCore {
// setMaxNumPixels() to specify the biggest size that decoded images can
// have. Image decoders will deflate those images that are bigger than
// m_maxNumPixels. (Not supported by all image decoders yet)
- class ImageDecoder : public Noncopyable {
+ class ImageDecoder {
+ WTF_MAKE_NONCOPYABLE(ImageDecoder); WTF_MAKE_FAST_ALLOCATED;
public:
ImageDecoder(ImageSource::AlphaOption alphaOption, ImageSource::GammaAndColorProfileOption gammaAndColorProfileOption)
: m_scaled(false)
diff --git a/Source/WebCore/platform/mac/ClipboardMac.h b/Source/WebCore/platform/mac/ClipboardMac.h
index 7187ecf..39eadda 100644
--- a/Source/WebCore/platform/mac/ClipboardMac.h
+++ b/Source/WebCore/platform/mac/ClipboardMac.h
@@ -44,6 +44,7 @@ class Frame;
class FileList;
class ClipboardMac : public Clipboard, public CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<ClipboardMac> create(ClipboardType clipboardType, NSPasteboard *pasteboard, ClipboardAccessPolicy policy, Frame* frame)
{
diff --git a/Source/WebCore/platform/mac/LocalCurrentGraphicsContext.h b/Source/WebCore/platform/mac/LocalCurrentGraphicsContext.h
index 90beb40..8fde2cf 100644
--- a/Source/WebCore/platform/mac/LocalCurrentGraphicsContext.h
+++ b/Source/WebCore/platform/mac/LocalCurrentGraphicsContext.h
@@ -31,7 +31,8 @@ class GraphicsContext;
// This class automatically saves and restores the current NSGraphicsContext for
// functions which call out into AppKit and rely on the currentContext being set
-class LocalCurrentGraphicsContext : public Noncopyable {
+class LocalCurrentGraphicsContext {
+ WTF_MAKE_NONCOPYABLE(LocalCurrentGraphicsContext);
public:
LocalCurrentGraphicsContext(GraphicsContext* graphicsContext);
~LocalCurrentGraphicsContext();
diff --git a/Source/WebCore/platform/network/BlobData.h b/Source/WebCore/platform/network/BlobData.h
index 1ff6344..c1f5522 100644
--- a/Source/WebCore/platform/network/BlobData.h
+++ b/Source/WebCore/platform/network/BlobData.h
@@ -145,6 +145,7 @@ private:
typedef Vector<BlobDataItem> BlobDataItemList;
class BlobData {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<BlobData> create();
diff --git a/Source/WebCore/platform/network/FormDataBuilder.h b/Source/WebCore/platform/network/FormDataBuilder.h
index 87d0ef3..112e315 100644
--- a/Source/WebCore/platform/network/FormDataBuilder.h
+++ b/Source/WebCore/platform/network/FormDataBuilder.h
@@ -23,14 +23,14 @@
#include "PlatformString.h"
#include <wtf/Forward.h>
-#include <wtf/Noncopyable.h>
namespace WebCore {
class Document;
class TextEncoding;
-class FormDataBuilder : public Noncopyable {
+class FormDataBuilder {
+ WTF_MAKE_NONCOPYABLE(FormDataBuilder);
public:
static TextEncoding encodingFromAcceptCharset(const String& acceptCharset, Document* document);
diff --git a/Source/WebCore/platform/network/NetworkStateNotifier.h b/Source/WebCore/platform/network/NetworkStateNotifier.h
index d1f2db4..26f8d8a 100644
--- a/Source/WebCore/platform/network/NetworkStateNotifier.h
+++ b/Source/WebCore/platform/network/NetworkStateNotifier.h
@@ -26,6 +26,7 @@
#ifndef NetworkStateNotifier_h
#define NetworkStateNotifier_h
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
#if PLATFORM(MAC)
@@ -61,7 +62,8 @@ namespace WebCore {
class NetworkStateNotifierPrivate;
#endif
-class NetworkStateNotifier : public Noncopyable {
+class NetworkStateNotifier {
+ WTF_MAKE_NONCOPYABLE(NetworkStateNotifier); WTF_MAKE_FAST_ALLOCATED;
public:
NetworkStateNotifier();
void setNetworkStateChangedFunction(void (*)());
diff --git a/Source/WebCore/platform/network/ResourceHandleInternal.h b/Source/WebCore/platform/network/ResourceHandleInternal.h
index d833e32..ed66944 100644
--- a/Source/WebCore/platform/network/ResourceHandleInternal.h
+++ b/Source/WebCore/platform/network/ResourceHandleInternal.h
@@ -80,7 +80,8 @@ class NSURLConnection;
namespace WebCore {
class ResourceHandleClient;
- class ResourceHandleInternal : public Noncopyable {
+ class ResourceHandleInternal {
+ WTF_MAKE_NONCOPYABLE(ResourceHandleInternal); WTF_MAKE_FAST_ALLOCATED;
public:
ResourceHandleInternal(ResourceHandle* loader, const ResourceRequest& request, ResourceHandleClient* c, bool defersLoading, bool shouldContentSniff)
: m_client(c)
diff --git a/Source/WebCore/platform/network/ResourceRequestBase.h b/Source/WebCore/platform/network/ResourceRequestBase.h
index 5cb7ee3..dce33db 100644
--- a/Source/WebCore/platform/network/ResourceRequestBase.h
+++ b/Source/WebCore/platform/network/ResourceRequestBase.h
@@ -49,7 +49,8 @@ namespace WebCore {
struct CrossThreadResourceRequestData;
// Do not use this type directly. Use ResourceRequest instead.
- class ResourceRequestBase : public FastAllocBase {
+ class ResourceRequestBase {
+ WTF_MAKE_FAST_ALLOCATED;
public:
// The type of this ResourceRequest, based on how the resource will be used.
enum TargetType {
@@ -207,7 +208,10 @@ namespace WebCore {
inline bool operator==(const ResourceRequest& a, const ResourceRequest& b) { return ResourceRequestBase::compare(a, b); }
inline bool operator!=(ResourceRequest& a, const ResourceRequest& b) { return !(a == b); }
- struct CrossThreadResourceRequestDataBase : Noncopyable {
+ struct CrossThreadResourceRequestDataBase {
+ WTF_MAKE_NONCOPYABLE(CrossThreadResourceRequestDataBase); WTF_MAKE_FAST_ALLOCATED;
+ public:
+ CrossThreadResourceRequestDataBase() { }
KURL m_url;
ResourceRequestCachePolicy m_cachePolicy;
diff --git a/Source/WebCore/platform/network/ResourceResponseBase.h b/Source/WebCore/platform/network/ResourceResponseBase.h
index 9c54bab..e0774c2 100644
--- a/Source/WebCore/platform/network/ResourceResponseBase.h
+++ b/Source/WebCore/platform/network/ResourceResponseBase.h
@@ -41,7 +41,8 @@ class ResourceResponse;
struct CrossThreadResourceResponseData;
// Do not use this class directly, use the class ResponseResponse instead
-class ResourceResponseBase : public FastAllocBase {
+class ResourceResponseBase {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<ResourceResponse> adopt(PassOwnPtr<CrossThreadResourceResponseData>);
@@ -175,7 +176,10 @@ private:
inline bool operator==(const ResourceResponse& a, const ResourceResponse& b) { return ResourceResponseBase::compare(a, b); }
inline bool operator!=(const ResourceResponse& a, const ResourceResponse& b) { return !(a == b); }
-struct CrossThreadResourceResponseDataBase : Noncopyable {
+struct CrossThreadResourceResponseDataBase {
+ WTF_MAKE_NONCOPYABLE(CrossThreadResourceResponseDataBase);
+public:
+ CrossThreadResourceResponseDataBase() { }
KURL m_url;
String m_mimeType;
long long m_expectedContentLength;
diff --git a/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp b/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
index ebb6c5f..a7170fe 100644
--- a/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
+++ b/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
@@ -60,7 +60,8 @@ namespace WebCore {
#define READ_BUFFER_SIZE 8192
-class WebCoreSynchronousLoader : public ResourceHandleClient, public Noncopyable {
+class WebCoreSynchronousLoader : public ResourceHandleClient {
+ WTF_MAKE_NONCOPYABLE(WebCoreSynchronousLoader);
public:
WebCoreSynchronousLoader(ResourceError&, ResourceResponse &, Vector<char>&);
~WebCoreSynchronousLoader();
diff --git a/Source/WebCore/platform/network/win/ResourceHandleWin.cpp b/Source/WebCore/platform/network/win/ResourceHandleWin.cpp
index 38d9cd1..f50540c 100644
--- a/Source/WebCore/platform/network/win/ResourceHandleWin.cpp
+++ b/Source/WebCore/platform/network/win/ResourceHandleWin.cpp
@@ -76,7 +76,8 @@ static String queryHTTPHeader(HINTERNET requestHandle, DWORD infoLevel)
}
-class WebCoreSynchronousLoader : public ResourceHandleClient, public Noncopyable {
+class WebCoreSynchronousLoader : public ResourceHandleClient {
+ WTF_MAKE_NONCOPYABLE(WebCoreSynchronousLoader);
public:
WebCoreSynchronousLoader(ResourceError&, ResourceResponse&, Vector<char>&, const String& userAgent);
~WebCoreSynchronousLoader();
diff --git a/Source/WebCore/platform/qt/ClipboardQt.h b/Source/WebCore/platform/qt/ClipboardQt.h
index 5aca1a6..fb5abef 100644
--- a/Source/WebCore/platform/qt/ClipboardQt.h
+++ b/Source/WebCore/platform/qt/ClipboardQt.h
@@ -39,6 +39,7 @@ namespace WebCore {
// State available during IE's events for drag and drop and copy/paste
class ClipboardQt : public Clipboard, public CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<ClipboardQt> create(ClipboardAccessPolicy policy, const QMimeData* readableClipboard)
{
diff --git a/Source/WebCore/platform/sql/SQLiteDatabase.h b/Source/WebCore/platform/sql/SQLiteDatabase.h
index c329273..da53acc 100644
--- a/Source/WebCore/platform/sql/SQLiteDatabase.h
+++ b/Source/WebCore/platform/sql/SQLiteDatabase.h
@@ -50,7 +50,8 @@ extern const int SQLResultSchema;
extern const int SQLResultFull;
extern const int SQLResultInterrupt;
-class SQLiteDatabase : public Noncopyable {
+class SQLiteDatabase {
+ WTF_MAKE_NONCOPYABLE(SQLiteDatabase);
friend class SQLiteTransaction;
public:
SQLiteDatabase();
diff --git a/Source/WebCore/platform/sql/SQLiteStatement.h b/Source/WebCore/platform/sql/SQLiteStatement.h
index 1444f0e..fd1abfb 100644
--- a/Source/WebCore/platform/sql/SQLiteStatement.h
+++ b/Source/WebCore/platform/sql/SQLiteStatement.h
@@ -34,7 +34,8 @@ namespace WebCore {
class SQLValue;
-class SQLiteStatement : public Noncopyable {
+class SQLiteStatement {
+ WTF_MAKE_NONCOPYABLE(SQLiteStatement); WTF_MAKE_FAST_ALLOCATED;
public:
SQLiteStatement(SQLiteDatabase&, const String&);
~SQLiteStatement();
diff --git a/Source/WebCore/platform/sql/SQLiteTransaction.h b/Source/WebCore/platform/sql/SQLiteTransaction.h
index 924241f..ba686ba 100644
--- a/Source/WebCore/platform/sql/SQLiteTransaction.h
+++ b/Source/WebCore/platform/sql/SQLiteTransaction.h
@@ -26,14 +26,15 @@
#ifndef SQLiteTransaction_h
#define SQLiteTransaction_h
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
namespace WebCore {
class SQLiteDatabase;
-class SQLiteTransaction : public Noncopyable
-{
+class SQLiteTransaction {
+ WTF_MAKE_NONCOPYABLE(SQLiteTransaction); WTF_MAKE_FAST_ALLOCATED;
public:
SQLiteTransaction(SQLiteDatabase& db, bool readOnly = false);
~SQLiteTransaction();
diff --git a/Source/WebCore/platform/text/BidiResolver.h b/Source/WebCore/platform/text/BidiResolver.h
index 1f87115..97b9374 100644
--- a/Source/WebCore/platform/text/BidiResolver.h
+++ b/Source/WebCore/platform/text/BidiResolver.h
@@ -126,7 +126,8 @@ struct BidiCharacterRun {
BidiCharacterRun* m_next;
};
-template <class Iterator, class Run> class BidiResolver : public Noncopyable {
+template <class Iterator, class Run> class BidiResolver {
+ WTF_MAKE_NONCOPYABLE(BidiResolver);
public :
BidiResolver()
: m_direction(WTF::Unicode::OtherNeutral)
diff --git a/Source/WebCore/platform/text/RegularExpression.h b/Source/WebCore/platform/text/RegularExpression.h
index f1611e5..536ed48 100644
--- a/Source/WebCore/platform/text/RegularExpression.h
+++ b/Source/WebCore/platform/text/RegularExpression.h
@@ -30,7 +30,8 @@
namespace WebCore {
-class RegularExpression : public FastAllocBase {
+class RegularExpression {
+ WTF_MAKE_FAST_ALLOCATED;
public:
RegularExpression(const String&, TextCaseSensitivity);
~RegularExpression();
diff --git a/Source/WebCore/platform/text/TextCodec.h b/Source/WebCore/platform/text/TextCodec.h
index c6af38a..35229a3 100644
--- a/Source/WebCore/platform/text/TextCodec.h
+++ b/Source/WebCore/platform/text/TextCodec.h
@@ -57,8 +57,10 @@ namespace WebCore {
typedef char UnencodableReplacementArray[32];
- class TextCodec : public Noncopyable {
+ class TextCodec {
+ WTF_MAKE_NONCOPYABLE(TextCodec); WTF_MAKE_FAST_ALLOCATED;
public:
+ TextCodec() { }
virtual ~TextCodec();
String decode(const char* str, size_t length, bool flush = false)
diff --git a/Source/WebCore/platform/text/transcoder/FontTranscoder.h b/Source/WebCore/platform/text/transcoder/FontTranscoder.h
index 67db977..6990a10 100644
--- a/Source/WebCore/platform/text/transcoder/FontTranscoder.h
+++ b/Source/WebCore/platform/text/transcoder/FontTranscoder.h
@@ -40,7 +40,8 @@ namespace WebCore {
class FontDescription;
class TextEncoding;
-class FontTranscoder : public Noncopyable {
+class FontTranscoder {
+ WTF_MAKE_NONCOPYABLE(FontTranscoder); WTF_MAKE_FAST_ALLOCATED;
public:
void convert(String& text, const FontDescription&, const TextEncoding* = 0) const;
bool needsTranscoding(const FontDescription&, const TextEncoding* = 0) const;
diff --git a/Source/WebCore/platform/win/ClipboardWin.h b/Source/WebCore/platform/win/ClipboardWin.h
index ce64b85..779da26 100644
--- a/Source/WebCore/platform/win/ClipboardWin.h
+++ b/Source/WebCore/platform/win/ClipboardWin.h
@@ -41,6 +41,7 @@ class WCDataObject;
// State available during IE's events for drag and drop and copy/paste
class ClipboardWin : public Clipboard, public CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<ClipboardWin> create(ClipboardType clipboardType, IDataObject* dataObject, ClipboardAccessPolicy policy, Frame* frame)
{
diff --git a/Source/WebCore/platform/win/WindowMessageBroadcaster.h b/Source/WebCore/platform/win/WindowMessageBroadcaster.h
index e7856e7..d36c233 100644
--- a/Source/WebCore/platform/win/WindowMessageBroadcaster.h
+++ b/Source/WebCore/platform/win/WindowMessageBroadcaster.h
@@ -31,13 +31,13 @@
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
-#include <wtf/Noncopyable.h>
namespace WebCore {
class WindowMessageListener;
- class WindowMessageBroadcaster : public Noncopyable {
+ class WindowMessageBroadcaster {
+ WTF_MAKE_NONCOPYABLE(WindowMessageBroadcaster);
public:
static void addListener(HWND, WindowMessageListener*);
static void removeListener(HWND, WindowMessageListener*);
diff --git a/Source/WebCore/plugins/PluginDatabase.h b/Source/WebCore/plugins/PluginDatabase.h
index b14605f..c412c09 100644
--- a/Source/WebCore/plugins/PluginDatabase.h
+++ b/Source/WebCore/plugins/PluginDatabase.h
@@ -44,7 +44,8 @@ namespace WebCore {
typedef HashSet<RefPtr<PluginPackage>, PluginPackageHash> PluginSet;
- class PluginDatabase : public Noncopyable {
+ class PluginDatabase {
+ WTF_MAKE_NONCOPYABLE(PluginDatabase); WTF_MAKE_FAST_ALLOCATED;
public:
PluginDatabase();
diff --git a/Source/WebCore/plugins/PluginMainThreadScheduler.h b/Source/WebCore/plugins/PluginMainThreadScheduler.h
index 610e89c..29bc4e6 100644
--- a/Source/WebCore/plugins/PluginMainThreadScheduler.h
+++ b/Source/WebCore/plugins/PluginMainThreadScheduler.h
@@ -36,7 +36,8 @@ typedef NPP_t* NPP;
namespace WebCore {
-class PluginMainThreadScheduler : public Noncopyable {
+class PluginMainThreadScheduler {
+ WTF_MAKE_NONCOPYABLE(PluginMainThreadScheduler); WTF_MAKE_FAST_ALLOCATED;
public:
typedef void MainThreadFunction(void*);
diff --git a/Source/WebCore/plugins/PluginView.h b/Source/WebCore/plugins/PluginView.h
index 044d6e2..8f8f13f 100644
--- a/Source/WebCore/plugins/PluginView.h
+++ b/Source/WebCore/plugins/PluginView.h
@@ -95,7 +95,8 @@ namespace WebCore {
PluginStatusLoadedSuccessfully
};
- class PluginRequest : public Noncopyable {
+ class PluginRequest {
+ WTF_MAKE_NONCOPYABLE(PluginRequest); WTF_MAKE_FAST_ALLOCATED;
public:
PluginRequest(const FrameLoadRequest& frameLoadRequest, bool sendNotification, void* notifyData, bool shouldAllowPopups)
: m_frameLoadRequest(frameLoadRequest)
diff --git a/Source/WebCore/rendering/ColumnInfo.h b/Source/WebCore/rendering/ColumnInfo.h
index 5e6f619..d77d6ca 100644
--- a/Source/WebCore/rendering/ColumnInfo.h
+++ b/Source/WebCore/rendering/ColumnInfo.h
@@ -31,7 +31,8 @@
namespace WebCore {
-class ColumnInfo : public Noncopyable {
+class ColumnInfo {
+ WTF_MAKE_NONCOPYABLE(ColumnInfo); WTF_MAKE_FAST_ALLOCATED;
public:
ColumnInfo()
: m_desiredColumnWidth(0)
diff --git a/Source/WebCore/rendering/LayoutState.h b/Source/WebCore/rendering/LayoutState.h
index 0d06cb1..c499435 100644
--- a/Source/WebCore/rendering/LayoutState.h
+++ b/Source/WebCore/rendering/LayoutState.h
@@ -37,7 +37,8 @@ class RenderArena;
class RenderBox;
class RenderObject;
-class LayoutState : public Noncopyable {
+class LayoutState {
+ WTF_MAKE_NONCOPYABLE(LayoutState);
public:
LayoutState()
: m_clipped(false)
diff --git a/Source/WebCore/rendering/RenderArena.h b/Source/WebCore/rendering/RenderArena.h
index 32139fb..e1ff535 100644
--- a/Source/WebCore/rendering/RenderArena.h
+++ b/Source/WebCore/rendering/RenderArena.h
@@ -36,13 +36,15 @@
#define RenderArena_h
#include "Arena.h"
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
namespace WebCore {
static const size_t gMaxRecycledSize = 400;
-class RenderArena : public Noncopyable {
+class RenderArena {
+ WTF_MAKE_NONCOPYABLE(RenderArena); WTF_MAKE_FAST_ALLOCATED;
public:
RenderArena(unsigned arenaSize = 4096);
~RenderArena();
diff --git a/Source/WebCore/rendering/RenderBlock.h b/Source/WebCore/rendering/RenderBlock.h
index 9529bd6..f8829ee 100644
--- a/Source/WebCore/rendering/RenderBlock.h
+++ b/Source/WebCore/rendering/RenderBlock.h
@@ -360,7 +360,9 @@ private:
bool everHadLayout;
};
- struct FloatingObject : Noncopyable {
+ struct FloatingObject {
+ WTF_MAKE_NONCOPYABLE(FloatingObject); WTF_MAKE_FAST_ALLOCATED;
+ public:
// Note that Type uses bits so you can use FloatBoth as a mask to query for both left and right.
enum Type { FloatLeft = 1, FloatRight = 2, FloatBoth = 3 };
@@ -678,7 +680,9 @@ private:
PositionedObjectsListHashSet* m_positionedObjects;
// Allocated only when some of these fields have non-default values
- struct RenderBlockRareData : Noncopyable {
+ struct RenderBlockRareData {
+ WTF_MAKE_NONCOPYABLE(RenderBlockRareData); WTF_MAKE_FAST_ALLOCATED;
+ public:
RenderBlockRareData(const RenderBlock* block)
: m_margins(positiveMarginBeforeDefault(block), negativeMarginBeforeDefault(block), positiveMarginAfterDefault(block), negativeMarginAfterDefault(block))
, m_paginationStrut(0)
diff --git a/Source/WebCore/rendering/RenderBoxModelObject.cpp b/Source/WebCore/rendering/RenderBoxModelObject.cpp
index fb024fc..f2412a1 100644
--- a/Source/WebCore/rendering/RenderBoxModelObject.cpp
+++ b/Source/WebCore/rendering/RenderBoxModelObject.cpp
@@ -63,7 +63,8 @@ typedef HashMap<LastPaintSizeMapKey, IntSize> LastPaintSizeMap;
typedef HashMap<const RenderBoxModelObject*, RenderBoxModelObject*> ContinuationMap;
static ContinuationMap* continuationMap = 0;
-class ImageQualityController : public Noncopyable {
+class ImageQualityController {
+ WTF_MAKE_NONCOPYABLE(ImageQualityController); WTF_MAKE_FAST_ALLOCATED;
public:
ImageQualityController();
bool shouldPaintAtLowQuality(GraphicsContext*, RenderBoxModelObject*, Image*, const void* layer, const IntSize&);
diff --git a/Source/WebCore/rendering/RenderFrameSet.h b/Source/WebCore/rendering/RenderFrameSet.h
index d0ab346..1e511d2 100644
--- a/Source/WebCore/rendering/RenderFrameSet.h
+++ b/Source/WebCore/rendering/RenderFrameSet.h
@@ -73,7 +73,8 @@ public:
private:
static const int noSplit = -1;
- class GridAxis : public Noncopyable {
+ class GridAxis {
+ WTF_MAKE_NONCOPYABLE(GridAxis);
public:
GridAxis();
void resize(int);
diff --git a/Source/WebCore/rendering/RenderImageResource.h b/Source/WebCore/rendering/RenderImageResource.h
index 2346712..a20c55a 100644
--- a/Source/WebCore/rendering/RenderImageResource.h
+++ b/Source/WebCore/rendering/RenderImageResource.h
@@ -29,13 +29,13 @@
#include "CachedImage.h"
#include "CachedResourceHandle.h"
#include "StyleImage.h"
-#include <wtf/Noncopyable.h>
namespace WebCore {
class RenderObject;
-class RenderImageResource : public Noncopyable {
+class RenderImageResource {
+ WTF_MAKE_NONCOPYABLE(RenderImageResource); WTF_MAKE_FAST_ALLOCATED;
public:
virtual ~RenderImageResource();
diff --git a/Source/WebCore/rendering/RenderLayerBacking.h b/Source/WebCore/rendering/RenderLayerBacking.h
index 5c6ed12..726b777 100644
--- a/Source/WebCore/rendering/RenderLayerBacking.h
+++ b/Source/WebCore/rendering/RenderLayerBacking.h
@@ -53,7 +53,8 @@ enum CompositingLayerType {
//
// There is one RenderLayerBacking for each RenderLayer that is composited.
-class RenderLayerBacking : public GraphicsLayerClient, public Noncopyable {
+class RenderLayerBacking : public GraphicsLayerClient {
+ WTF_MAKE_NONCOPYABLE(RenderLayerBacking); WTF_MAKE_FAST_ALLOCATED;
public:
RenderLayerBacking(RenderLayer*);
~RenderLayerBacking();
diff --git a/Source/WebCore/rendering/RenderMarquee.h b/Source/WebCore/rendering/RenderMarquee.h
index 79998ed..98fddb9 100644
--- a/Source/WebCore/rendering/RenderMarquee.h
+++ b/Source/WebCore/rendering/RenderMarquee.h
@@ -53,7 +53,8 @@ namespace WebCore {
class RenderLayer;
// This class handles the auto-scrolling of layers with overflow: marquee.
-class RenderMarquee : public Noncopyable {
+class RenderMarquee {
+ WTF_MAKE_NONCOPYABLE(RenderMarquee); WTF_MAKE_FAST_ALLOCATED;
public:
explicit RenderMarquee(RenderLayer*);
virtual ~RenderMarquee();
diff --git a/Source/WebCore/rendering/RenderOverflow.h b/Source/WebCore/rendering/RenderOverflow.h
index 7dc2bcb..33e8cff 100644
--- a/Source/WebCore/rendering/RenderOverflow.h
+++ b/Source/WebCore/rendering/RenderOverflow.h
@@ -37,7 +37,8 @@ namespace WebCore
// Examples of visual overflow are shadows, text stroke (and eventually outline and border-image).
// This object is allocated only when some of these fields have non-default values in the owning box.
-class RenderOverflow : public Noncopyable {
+class RenderOverflow {
+ WTF_MAKE_NONCOPYABLE(RenderOverflow); WTF_MAKE_FAST_ALLOCATED;
public:
RenderOverflow(const IntRect& layoutRect, const IntRect& visualRect)
: m_topLayoutOverflow(layoutRect.y())
diff --git a/Source/WebCore/rendering/RenderSelectionInfo.h b/Source/WebCore/rendering/RenderSelectionInfo.h
index a09fc1a..45ca813 100644
--- a/Source/WebCore/rendering/RenderSelectionInfo.h
+++ b/Source/WebCore/rendering/RenderSelectionInfo.h
@@ -30,7 +30,8 @@
namespace WebCore {
-class RenderSelectionInfoBase : public Noncopyable {
+class RenderSelectionInfoBase {
+ WTF_MAKE_NONCOPYABLE(RenderSelectionInfoBase); WTF_MAKE_FAST_ALLOCATED;
public:
RenderSelectionInfoBase()
: m_object(0)
diff --git a/Source/WebCore/rendering/RenderView.h b/Source/WebCore/rendering/RenderView.h
index 1dfd4ce..7e5b4e1 100644
--- a/Source/WebCore/rendering/RenderView.h
+++ b/Source/WebCore/rendering/RenderView.h
@@ -264,7 +264,8 @@ void toRenderView(const RenderView*);
// Stack-based class to assist with LayoutState push/pop
-class LayoutStateMaintainer : public Noncopyable {
+class LayoutStateMaintainer {
+ WTF_MAKE_NONCOPYABLE(LayoutStateMaintainer);
public:
// ctor to push now
LayoutStateMaintainer(RenderView* view, RenderBox* root, IntSize offset, bool disableState = false, int pageHeight = 0, bool pageHeightChanged = false, ColumnInfo* colInfo = 0)
diff --git a/Source/WebCore/rendering/RenderWidgetProtector.h b/Source/WebCore/rendering/RenderWidgetProtector.h
index 788304c..8bf6ac9 100644
--- a/Source/WebCore/rendering/RenderWidgetProtector.h
+++ b/Source/WebCore/rendering/RenderWidgetProtector.h
@@ -30,7 +30,8 @@
namespace WebCore {
-class RenderWidgetProtector : private Noncopyable {
+class RenderWidgetProtector {
+ WTF_MAKE_NONCOPYABLE(RenderWidgetProtector);
public:
RenderWidgetProtector(RenderWidget* object)
: m_object(object)
diff --git a/Source/WebCore/rendering/TableLayout.h b/Source/WebCore/rendering/TableLayout.h
index e0fa8ee..c5f61f6 100644
--- a/Source/WebCore/rendering/TableLayout.h
+++ b/Source/WebCore/rendering/TableLayout.h
@@ -21,13 +21,15 @@
#ifndef TableLayout_h
#define TableLayout_h
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
namespace WebCore {
class RenderTable;
-class TableLayout : public Noncopyable {
+class TableLayout {
+ WTF_MAKE_NONCOPYABLE(TableLayout); WTF_MAKE_FAST_ALLOCATED;
public:
TableLayout(RenderTable* table)
: m_table(table)
diff --git a/Source/WebCore/rendering/TransformState.h b/Source/WebCore/rendering/TransformState.h
index 0b4ca46..36fc6ec 100644
--- a/Source/WebCore/rendering/TransformState.h
+++ b/Source/WebCore/rendering/TransformState.h
@@ -31,14 +31,14 @@
#include "FloatQuad.h"
#include "IntSize.h"
#include "TransformationMatrix.h"
-#include <wtf/Noncopyable.h>
#include <wtf/PassRefPtr.h>
#include <wtf/OwnPtr.h>
#include <wtf/RefCounted.h>
namespace WebCore {
-class TransformState : public Noncopyable {
+class TransformState {
+ WTF_MAKE_NONCOPYABLE(TransformState);
public:
enum TransformDirection { ApplyTransformDirection, UnapplyInverseTransformDirection };
enum TransformAccumulation { FlattenTransform, AccumulateTransform };
diff --git a/Source/WebCore/rendering/VerticalPositionCache.h b/Source/WebCore/rendering/VerticalPositionCache.h
index 4deaef5..b25b2f6 100644
--- a/Source/WebCore/rendering/VerticalPositionCache.h
+++ b/Source/WebCore/rendering/VerticalPositionCache.h
@@ -38,7 +38,8 @@ const int PositionTop = -0x7fffffff;
const int PositionBottom = 0x7fffffff;
const int PositionUndefined = 0x80000000;
-class VerticalPositionCache : public Noncopyable {
+class VerticalPositionCache {
+ WTF_MAKE_NONCOPYABLE(VerticalPositionCache);
public:
VerticalPositionCache()
{ }
diff --git a/Source/WebCore/rendering/style/ContentData.h b/Source/WebCore/rendering/style/ContentData.h
index 4f964a2..15f6912 100644
--- a/Source/WebCore/rendering/style/ContentData.h
+++ b/Source/WebCore/rendering/style/ContentData.h
@@ -33,7 +33,8 @@ namespace WebCore {
class StyleImage;
-struct ContentData : Noncopyable {
+struct ContentData {
+ WTF_MAKE_NONCOPYABLE(ContentData); WTF_MAKE_FAST_ALLOCATED;
public:
ContentData()
: m_type(CONTENT_NONE)
diff --git a/Source/WebCore/rendering/style/CounterContent.h b/Source/WebCore/rendering/style/CounterContent.h
index 52757ad..814039e 100644
--- a/Source/WebCore/rendering/style/CounterContent.h
+++ b/Source/WebCore/rendering/style/CounterContent.h
@@ -30,7 +30,8 @@
namespace WebCore {
-class CounterContent : public FastAllocBase {
+class CounterContent {
+ WTF_MAKE_FAST_ALLOCATED;
public:
CounterContent(const AtomicString& identifier, EListStyleType style, const AtomicString& separator)
: m_identifier(identifier)
diff --git a/Source/WebCore/rendering/style/FillLayer.h b/Source/WebCore/rendering/style/FillLayer.h
index 49fb294..847e8df 100644
--- a/Source/WebCore/rendering/style/FillLayer.h
+++ b/Source/WebCore/rendering/style/FillLayer.h
@@ -59,7 +59,8 @@ struct FillSize {
LengthSize size;
};
-class FillLayer : public FastAllocBase {
+class FillLayer {
+ WTF_MAKE_FAST_ALLOCATED;
public:
FillLayer(EFillLayerType);
~FillLayer();
diff --git a/Source/WebCore/rendering/style/ShadowData.h b/Source/WebCore/rendering/style/ShadowData.h
index fb5926d..0be3fc1 100644
--- a/Source/WebCore/rendering/style/ShadowData.h
+++ b/Source/WebCore/rendering/style/ShadowData.h
@@ -26,7 +26,6 @@
#define ShadowData_h
#include "Color.h"
-#include <wtf/FastAllocBase.h>
namespace WebCore {
@@ -37,7 +36,8 @@ enum ShadowStyle { Normal, Inset };
// This struct holds information about shadows for the text-shadow and box-shadow properties.
-class ShadowData : public FastAllocBase {
+class ShadowData {
+ WTF_MAKE_FAST_ALLOCATED;
public:
ShadowData()
: m_x(0)
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceClipper.h b/Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
index 7f862a7..99861d8 100644
--- a/Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
@@ -35,7 +35,9 @@
namespace WebCore {
-struct ClipperData : FastAllocBase {
+struct ClipperData {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
OwnPtr<ImageBuffer> clipMaskImage;
};
diff --git a/Source/WebCore/rendering/svg/SVGImageBufferTools.h b/Source/WebCore/rendering/svg/SVGImageBufferTools.h
index cfb15b2..11577c0 100644
--- a/Source/WebCore/rendering/svg/SVGImageBufferTools.h
+++ b/Source/WebCore/rendering/svg/SVGImageBufferTools.h
@@ -32,7 +32,8 @@ class FloatSize;
class GraphicsContext;
class RenderObject;
-class SVGImageBufferTools : public Noncopyable {
+class SVGImageBufferTools {
+ WTF_MAKE_NONCOPYABLE(SVGImageBufferTools);
public:
static bool createImageBuffer(const FloatRect& absoluteTargetRect, const FloatRect& clampedAbsoluteTargetRect, OwnPtr<ImageBuffer>&, ColorSpace);
static void renderSubtreeToImageBuffer(ImageBuffer*, RenderObject*, const AffineTransform&);
diff --git a/Source/WebCore/rendering/svg/SVGMarkerLayoutInfo.h b/Source/WebCore/rendering/svg/SVGMarkerLayoutInfo.h
index 5e75f0b..32317b9 100644
--- a/Source/WebCore/rendering/svg/SVGMarkerLayoutInfo.h
+++ b/Source/WebCore/rendering/svg/SVGMarkerLayoutInfo.h
@@ -43,7 +43,8 @@ struct MarkerLayout {
AffineTransform matrix;
};
-class SVGMarkerLayoutInfo : public Noncopyable {
+class SVGMarkerLayoutInfo {
+ WTF_MAKE_NONCOPYABLE(SVGMarkerLayoutInfo);
public:
SVGMarkerLayoutInfo();
~SVGMarkerLayoutInfo();
diff --git a/Source/WebCore/rendering/svg/SVGResources.h b/Source/WebCore/rendering/svg/SVGResources.h
index dd328b8..48cca23 100644
--- a/Source/WebCore/rendering/svg/SVGResources.h
+++ b/Source/WebCore/rendering/svg/SVGResources.h
@@ -38,7 +38,8 @@ class RenderSVGResourceMasker;
class SVGRenderStyle;
// Holds a set of resources associated with a RenderObject
-class SVGResources : public Noncopyable {
+class SVGResources {
+ WTF_MAKE_NONCOPYABLE(SVGResources); WTF_MAKE_FAST_ALLOCATED;
public:
SVGResources();
diff --git a/Source/WebCore/rendering/svg/SVGResourcesCache.h b/Source/WebCore/rendering/svg/SVGResourcesCache.h
index 30eaeca..bc73f4d 100644
--- a/Source/WebCore/rendering/svg/SVGResourcesCache.h
+++ b/Source/WebCore/rendering/svg/SVGResourcesCache.h
@@ -31,7 +31,8 @@ class RenderStyle;
class RenderSVGResourceContainer;
class SVGResources;
-class SVGResourcesCache : public Noncopyable {
+class SVGResourcesCache {
+ WTF_MAKE_NONCOPYABLE(SVGResourcesCache); WTF_MAKE_FAST_ALLOCATED;
public:
SVGResourcesCache();
~SVGResourcesCache();
diff --git a/Source/WebCore/rendering/svg/SVGResourcesCycleSolver.h b/Source/WebCore/rendering/svg/SVGResourcesCycleSolver.h
index 0653304..099f91c 100644
--- a/Source/WebCore/rendering/svg/SVGResourcesCycleSolver.h
+++ b/Source/WebCore/rendering/svg/SVGResourcesCycleSolver.h
@@ -29,7 +29,8 @@ class RenderObject;
class RenderSVGResourceContainer;
class SVGResources;
-class SVGResourcesCycleSolver : public Noncopyable {
+class SVGResourcesCycleSolver {
+ WTF_MAKE_NONCOPYABLE(SVGResourcesCycleSolver);
public:
SVGResourcesCycleSolver(RenderObject*, SVGResources*);
~SVGResourcesCycleSolver();
diff --git a/Source/WebCore/rendering/svg/SVGTextChunkBuilder.h b/Source/WebCore/rendering/svg/SVGTextChunkBuilder.h
index 36342e7..321f391 100644
--- a/Source/WebCore/rendering/svg/SVGTextChunkBuilder.h
+++ b/Source/WebCore/rendering/svg/SVGTextChunkBuilder.h
@@ -35,7 +35,8 @@ struct SVGTextFragment;
// Phase two performed the actual per-character layout, computing the final positions for each character, stored in the SVGInlineTextBox objects (SVGTextFragment).
// Phase three performs all modifications that have to be applied to each individual text chunk (text-anchor & textLength).
-class SVGTextChunkBuilder : public Noncopyable {
+class SVGTextChunkBuilder {
+ WTF_MAKE_NONCOPYABLE(SVGTextChunkBuilder);
public:
SVGTextChunkBuilder();
diff --git a/Source/WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.h b/Source/WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.h
index f29ac64..c68185b 100644
--- a/Source/WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.h
+++ b/Source/WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.h
@@ -38,7 +38,8 @@ class RenderSVGText;
// to create the InlineBox tree based on text chunk boundaries & BiDi information.
// The second layout phase is carried out by SVGTextLayoutEngine.
-class SVGTextLayoutAttributesBuilder : public Noncopyable {
+class SVGTextLayoutAttributesBuilder {
+ WTF_MAKE_NONCOPYABLE(SVGTextLayoutAttributesBuilder);
public:
SVGTextLayoutAttributesBuilder();
void buildLayoutAttributesForTextSubtree(RenderSVGText*);
diff --git a/Source/WebCore/rendering/svg/SVGTextLayoutEngine.h b/Source/WebCore/rendering/svg/SVGTextLayoutEngine.h
index ad058d8..631e4cd 100644
--- a/Source/WebCore/rendering/svg/SVGTextLayoutEngine.h
+++ b/Source/WebCore/rendering/svg/SVGTextLayoutEngine.h
@@ -44,7 +44,8 @@ class SVGRenderStyle;
// RenderSVGInlineText renderers to compute the final positions for each character
// which are stored in the SVGInlineTextBox objects.
-class SVGTextLayoutEngine : public Noncopyable {
+class SVGTextLayoutEngine {
+ WTF_MAKE_NONCOPYABLE(SVGTextLayoutEngine);
public:
SVGTextLayoutEngine();
SVGTextChunkBuilder& chunkLayoutBuilder() { return m_chunkLayoutBuilder; }
diff --git a/Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.h b/Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.h
index d753b39..6794bf3 100644
--- a/Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.h
+++ b/Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.h
@@ -33,7 +33,8 @@ class SVGRenderStyle;
class SVGTextMetrics;
// Helper class used by SVGTextLayoutEngine to handle 'alignment-baseline' / 'dominant-baseline' and 'baseline-shift'.
-class SVGTextLayoutEngineBaseline : public Noncopyable {
+class SVGTextLayoutEngineBaseline {
+ WTF_MAKE_NONCOPYABLE(SVGTextLayoutEngineBaseline);
public:
SVGTextLayoutEngineBaseline(const Font&);
diff --git a/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h b/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h
index 0a6d736..71d4707 100644
--- a/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h
+++ b/Source/WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h
@@ -30,7 +30,8 @@ class SVGRenderStyle;
class SVGElement;
// Helper class used by SVGTextLayoutEngine to handle 'kerning' / 'letter-spacing' and 'word-spacing'.
-class SVGTextLayoutEngineSpacing : public Noncopyable {
+class SVGTextLayoutEngineSpacing {
+ WTF_MAKE_NONCOPYABLE(SVGTextLayoutEngineSpacing);
public:
SVGTextLayoutEngineSpacing(const Font&);
diff --git a/Source/WebCore/storage/DatabaseTask.h b/Source/WebCore/storage/DatabaseTask.h
index b61e465..e1df591 100644
--- a/Source/WebCore/storage/DatabaseTask.h
+++ b/Source/WebCore/storage/DatabaseTask.h
@@ -43,7 +43,8 @@ namespace WebCore {
// Can be used to wait until DatabaseTask is completed.
// Has to be passed into DatabaseTask::create to be associated with the task.
-class DatabaseTaskSynchronizer : public Noncopyable {
+class DatabaseTaskSynchronizer {
+ WTF_MAKE_NONCOPYABLE(DatabaseTaskSynchronizer);
public:
DatabaseTaskSynchronizer();
@@ -67,7 +68,8 @@ private:
#endif
};
-class DatabaseTask : public Noncopyable {
+class DatabaseTask {
+ WTF_MAKE_NONCOPYABLE(DatabaseTask); WTF_MAKE_FAST_ALLOCATED;
public:
virtual ~DatabaseTask();
diff --git a/Source/WebCore/storage/DatabaseTracker.h b/Source/WebCore/storage/DatabaseTracker.h
index 7145e6b..a1a5bdf 100644
--- a/Source/WebCore/storage/DatabaseTracker.h
+++ b/Source/WebCore/storage/DatabaseTracker.h
@@ -56,7 +56,8 @@ class DatabaseTrackerClient;
struct SecurityOriginTraits;
#endif // !PLATFORM(CHROMIUM)
-class DatabaseTracker : public Noncopyable {
+class DatabaseTracker {
+ WTF_MAKE_NONCOPYABLE(DatabaseTracker); WTF_MAKE_FAST_ALLOCATED;
public:
static void initializeTracker(const String& databasePath);
static DatabaseTracker& tracker();
diff --git a/Source/WebCore/storage/IDBPendingTransactionMonitor.h b/Source/WebCore/storage/IDBPendingTransactionMonitor.h
index 783a731..5bc6acd 100644
--- a/Source/WebCore/storage/IDBPendingTransactionMonitor.h
+++ b/Source/WebCore/storage/IDBPendingTransactionMonitor.h
@@ -44,7 +44,8 @@ class IDBTransactionBackendInterface;
// FIXME: move the vector of transactions to TLS. Keeping it static
// will not work once we add support for workers. Another possible
// solution is to keep the vector in the ScriptExecutionContext.
-class IDBPendingTransactionMonitor : public Noncopyable {
+class IDBPendingTransactionMonitor {
+ WTF_MAKE_NONCOPYABLE(IDBPendingTransactionMonitor);
public:
static void addPendingTransaction(IDBTransactionBackendInterface*);
static void removePendingTransaction(IDBTransactionBackendInterface*);
diff --git a/Source/WebCore/storage/LocalStorageTask.h b/Source/WebCore/storage/LocalStorageTask.h
index a2e35ea..27a8eb5 100644
--- a/Source/WebCore/storage/LocalStorageTask.h
+++ b/Source/WebCore/storage/LocalStorageTask.h
@@ -37,7 +37,8 @@ namespace WebCore {
class LocalStorageThread;
// FIXME: Rename this class to StorageTask
- class LocalStorageTask : public Noncopyable {
+ class LocalStorageTask {
+ WTF_MAKE_NONCOPYABLE(LocalStorageTask); WTF_MAKE_FAST_ALLOCATED;
public:
enum Type { AreaImport, AreaSync, DeleteEmptyDatabase, TerminateThread };
diff --git a/Source/WebCore/storage/LocalStorageThread.h b/Source/WebCore/storage/LocalStorageThread.h
index 6f05911..a2c78c6 100644
--- a/Source/WebCore/storage/LocalStorageThread.h
+++ b/Source/WebCore/storage/LocalStorageThread.h
@@ -40,7 +40,8 @@ namespace WebCore {
class LocalStorageTask;
// FIXME: Rename this class to StorageThread
- class LocalStorageThread : public Noncopyable {
+ class LocalStorageThread {
+ WTF_MAKE_NONCOPYABLE(LocalStorageThread); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<LocalStorageThread> create();
~LocalStorageThread();
diff --git a/Source/WebCore/storage/OriginQuotaManager.h b/Source/WebCore/storage/OriginQuotaManager.h
index ec9620c..82d7c74 100644
--- a/Source/WebCore/storage/OriginQuotaManager.h
+++ b/Source/WebCore/storage/OriginQuotaManager.h
@@ -41,7 +41,8 @@ namespace WebCore {
class AbstractDatabase;
class OriginUsageRecord;
-class OriginQuotaManager : public Noncopyable {
+class OriginQuotaManager {
+ WTF_MAKE_NONCOPYABLE(OriginQuotaManager); WTF_MAKE_FAST_ALLOCATED;
public:
OriginQuotaManager();
diff --git a/Source/WebCore/storage/OriginUsageRecord.h b/Source/WebCore/storage/OriginUsageRecord.h
index a830e68..7557eaa 100644
--- a/Source/WebCore/storage/OriginUsageRecord.h
+++ b/Source/WebCore/storage/OriginUsageRecord.h
@@ -39,7 +39,8 @@ namespace WebCore {
// Objects of this class can be used from multiple threads with external synchronization.
// String arguments are also supposed to be deeply copied by the caller when necessary.
-class OriginUsageRecord : public Noncopyable {
+class OriginUsageRecord {
+ WTF_MAKE_NONCOPYABLE(OriginUsageRecord); WTF_MAKE_FAST_ALLOCATED;
public:
OriginUsageRecord();
diff --git a/Source/WebCore/storage/SQLTransactionClient.h b/Source/WebCore/storage/SQLTransactionClient.h
index fed0657..3c5ec2d 100644
--- a/Source/WebCore/storage/SQLTransactionClient.h
+++ b/Source/WebCore/storage/SQLTransactionClient.h
@@ -33,6 +33,7 @@
#if ENABLE(DATABASE)
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
namespace WebCore {
@@ -41,8 +42,10 @@ class AbstractDatabase;
// A client to the SQLTransaction class. Allows SQLTransaction to notify interested
// parties that certain things have happened in a transaction.
-class SQLTransactionClient : public Noncopyable {
+class SQLTransactionClient {
+ WTF_MAKE_NONCOPYABLE(SQLTransactionClient); WTF_MAKE_FAST_ALLOCATED;
public:
+ SQLTransactionClient() { }
void didCommitWriteTransaction(AbstractDatabase*);
void didExecuteStatement(AbstractDatabase*);
bool didExceedQuota(AbstractDatabase*);
diff --git a/Source/WebCore/storage/SQLTransactionCoordinator.h b/Source/WebCore/storage/SQLTransactionCoordinator.h
index 94360c0..fd76782 100644
--- a/Source/WebCore/storage/SQLTransactionCoordinator.h
+++ b/Source/WebCore/storage/SQLTransactionCoordinator.h
@@ -43,8 +43,10 @@ namespace WebCore {
class SQLTransaction;
- class SQLTransactionCoordinator : public Noncopyable {
+ class SQLTransactionCoordinator {
+ WTF_MAKE_NONCOPYABLE(SQLTransactionCoordinator); WTF_MAKE_FAST_ALLOCATED;
public:
+ SQLTransactionCoordinator() { }
void acquireLock(SQLTransaction*);
void releaseLock(SQLTransaction*);
void shutdown();
diff --git a/Source/WebCore/svg/SVGDocumentExtensions.h b/Source/WebCore/svg/SVGDocumentExtensions.h
index a0cf2bb..0ed62a9 100644
--- a/Source/WebCore/svg/SVGDocumentExtensions.h
+++ b/Source/WebCore/svg/SVGDocumentExtensions.h
@@ -38,7 +38,8 @@ class SVGStyledElement;
class SVGSMILElement;
class SVGSVGElement;
-class SVGDocumentExtensions : public Noncopyable {
+class SVGDocumentExtensions {
+ WTF_MAKE_NONCOPYABLE(SVGDocumentExtensions); WTF_MAKE_FAST_ALLOCATED;
public:
typedef HashSet<RefPtr<SVGStyledElement> > SVGPendingElements;
SVGDocumentExtensions(Document*);
@@ -68,9 +69,6 @@ private:
HashMap<AtomicString, SVGPendingElements*> m_pendingResources;
OwnPtr<SVGResourcesCache> m_resourcesCache;
- SVGDocumentExtensions(const SVGDocumentExtensions&);
- SVGDocumentExtensions& operator=(const SVGDocumentExtensions&);
-
public:
// This HashMap contains a list of pending resources. Pending resources, are such
// which are referenced by any object in the SVG document, but do NOT exist yet.
diff --git a/Source/WebCore/svg/SVGElementRareData.h b/Source/WebCore/svg/SVGElementRareData.h
index 4276c4a..3318dee 100644
--- a/Source/WebCore/svg/SVGElementRareData.h
+++ b/Source/WebCore/svg/SVGElementRareData.h
@@ -31,7 +31,8 @@ class SVGCursorElement;
class SVGElement;
class SVGElementInstance;
-class SVGElementRareData : public Noncopyable {
+class SVGElementRareData {
+ WTF_MAKE_NONCOPYABLE(SVGElementRareData); WTF_MAKE_FAST_ALLOCATED;
public:
SVGElementRareData()
: m_cursorElement(0)
diff --git a/Source/WebCore/svg/SVGFontData.h b/Source/WebCore/svg/SVGFontData.h
index e897a59..f202d26 100644
--- a/Source/WebCore/svg/SVGFontData.h
+++ b/Source/WebCore/svg/SVGFontData.h
@@ -25,7 +25,8 @@
namespace WebCore {
-class SVGFontData : public Noncopyable {
+class SVGFontData {
+ WTF_MAKE_NONCOPYABLE(SVGFontData); WTF_MAKE_FAST_ALLOCATED;
public:
SVGFontData(SVGFontFaceElement*);
virtual ~SVGFontData() { }
diff --git a/Source/WebCore/svg/SVGPathBlender.h b/Source/WebCore/svg/SVGPathBlender.h
index c0ae7f3..8e43b94 100644
--- a/Source/WebCore/svg/SVGPathBlender.h
+++ b/Source/WebCore/svg/SVGPathBlender.h
@@ -23,11 +23,11 @@
#if ENABLE(SVG)
#include "SVGPathConsumer.h"
#include "SVGPathSource.h"
-#include <wtf/Noncopyable.h>
namespace WebCore {
-class SVGPathBlender : public Noncopyable {
+class SVGPathBlender {
+ WTF_MAKE_NONCOPYABLE(SVGPathBlender); WTF_MAKE_FAST_ALLOCATED;
public:
SVGPathBlender();
diff --git a/Source/WebCore/svg/SVGPathByteStream.h b/Source/WebCore/svg/SVGPathByteStream.h
index b8882b6..a444ac0 100644
--- a/Source/WebCore/svg/SVGPathByteStream.h
+++ b/Source/WebCore/svg/SVGPathByteStream.h
@@ -43,7 +43,8 @@ typedef union {
unsigned char bytes[sizeof(unsigned short)];
} UnsignedShortByte;
-class SVGPathByteStream : public Noncopyable {
+class SVGPathByteStream {
+ WTF_MAKE_NONCOPYABLE(SVGPathByteStream); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<SVGPathByteStream> create()
{
diff --git a/Source/WebCore/svg/SVGPathConsumer.h b/Source/WebCore/svg/SVGPathConsumer.h
index b7c5e73..af3f79b 100644
--- a/Source/WebCore/svg/SVGPathConsumer.h
+++ b/Source/WebCore/svg/SVGPathConsumer.h
@@ -26,6 +26,7 @@
#if ENABLE(SVG)
#include "FloatPoint.h"
+#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
namespace WebCore {
@@ -40,8 +41,10 @@ enum PathParsingMode {
UnalteredParsing
};
-class SVGPathConsumer : public Noncopyable {
+class SVGPathConsumer {
+ WTF_MAKE_NONCOPYABLE(SVGPathConsumer); WTF_MAKE_FAST_ALLOCATED;
public:
+ SVGPathConsumer() { }
virtual void incrementPathSegmentCount() = 0;
virtual bool continueConsuming() = 0;
virtual void cleanup() = 0;
diff --git a/Source/WebCore/svg/SVGPathParser.h b/Source/WebCore/svg/SVGPathParser.h
index 7679a95..096131c 100644
--- a/Source/WebCore/svg/SVGPathParser.h
+++ b/Source/WebCore/svg/SVGPathParser.h
@@ -29,12 +29,12 @@
#include "SVGPathConsumer.h"
#include "SVGPathSeg.h"
#include "SVGPathSource.h"
-#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
namespace WebCore {
-class SVGPathParser : public Noncopyable {
+class SVGPathParser {
+ WTF_MAKE_NONCOPYABLE(SVGPathParser); WTF_MAKE_FAST_ALLOCATED;
public:
SVGPathParser();
diff --git a/Source/WebCore/svg/SVGPathSource.h b/Source/WebCore/svg/SVGPathSource.h
index d1a6149..77bf9fa 100644
--- a/Source/WebCore/svg/SVGPathSource.h
+++ b/Source/WebCore/svg/SVGPathSource.h
@@ -25,8 +25,10 @@
namespace WebCore {
-class SVGPathSource : public Noncopyable {
+class SVGPathSource {
+ WTF_MAKE_NONCOPYABLE(SVGPathSource); WTF_MAKE_FAST_ALLOCATED;
public:
+ SVGPathSource() { }
virtual ~SVGPathSource() { }
virtual bool hasMoreData() const = 0;
diff --git a/Source/WebCore/svg/SVGViewSpec.h b/Source/WebCore/svg/SVGViewSpec.h
index 686cec3..cd10ca4 100644
--- a/Source/WebCore/svg/SVGViewSpec.h
+++ b/Source/WebCore/svg/SVGViewSpec.h
@@ -32,8 +32,8 @@ namespace WebCore {
class SVGElement;
class SVGViewSpec : public SVGFitToViewBox,
- public SVGZoomAndPan,
- public Noncopyable {
+ public SVGZoomAndPan {
+ WTF_MAKE_NONCOPYABLE(SVGViewSpec);
public:
SVGViewSpec(SVGElement*);
diff --git a/Source/WebCore/svg/graphics/SVGImage.cpp b/Source/WebCore/svg/graphics/SVGImage.cpp
index 97f86be..fc2fd08 100644
--- a/Source/WebCore/svg/graphics/SVGImage.cpp
+++ b/Source/WebCore/svg/graphics/SVGImage.cpp
@@ -55,7 +55,8 @@
namespace WebCore {
-class SVGImageChromeClient : public EmptyChromeClient, public Noncopyable {
+class SVGImageChromeClient : public EmptyChromeClient {
+ WTF_MAKE_NONCOPYABLE(SVGImageChromeClient); WTF_MAKE_FAST_ALLOCATED;
public:
SVGImageChromeClient(SVGImage* image)
: m_image(image)
diff --git a/Source/WebCore/webaudio/RealtimeAnalyser.h b/Source/WebCore/webaudio/RealtimeAnalyser.h
index 686c17c..cc791fb 100644
--- a/Source/WebCore/webaudio/RealtimeAnalyser.h
+++ b/Source/WebCore/webaudio/RealtimeAnalyser.h
@@ -39,7 +39,8 @@ class Float32Array;
class Uint8Array;
#endif
-class RealtimeAnalyser : public Noncopyable {
+class RealtimeAnalyser {
+ WTF_MAKE_NONCOPYABLE(RealtimeAnalyser);
public:
RealtimeAnalyser();
virtual ~RealtimeAnalyser();
diff --git a/Source/WebCore/websockets/ThreadableWebSocketChannel.h b/Source/WebCore/websockets/ThreadableWebSocketChannel.h
index 05b3767..956e0fe 100644
--- a/Source/WebCore/websockets/ThreadableWebSocketChannel.h
+++ b/Source/WebCore/websockets/ThreadableWebSocketChannel.h
@@ -43,8 +43,10 @@ class KURL;
class ScriptExecutionContext;
class WebSocketChannelClient;
-class ThreadableWebSocketChannel : public Noncopyable {
+class ThreadableWebSocketChannel {
+ WTF_MAKE_NONCOPYABLE(ThreadableWebSocketChannel);
public:
+ ThreadableWebSocketChannel() { }
static PassRefPtr<ThreadableWebSocketChannel> create(ScriptExecutionContext*, WebSocketChannelClient*, const KURL&, const String& protocol);
virtual void connect() = 0;
diff --git a/Source/WebCore/websockets/WebSocketChannel.h b/Source/WebCore/websockets/WebSocketChannel.h
index 9c52377..a39cd0e 100644
--- a/Source/WebCore/websockets/WebSocketChannel.h
+++ b/Source/WebCore/websockets/WebSocketChannel.h
@@ -49,6 +49,7 @@ namespace WebCore {
class WebSocketChannelClient;
class WebSocketChannel : public RefCounted<WebSocketChannel>, public SocketStreamHandleClient, public ThreadableWebSocketChannel {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<WebSocketChannel> create(ScriptExecutionContext* context, WebSocketChannelClient* client, const KURL& url, const String& protocol) { return adoptRef(new WebSocketChannel(context, client, url, protocol)); }
virtual ~WebSocketChannel();
diff --git a/Source/WebCore/websockets/WebSocketHandshake.h b/Source/WebCore/websockets/WebSocketHandshake.h
index a5b4260..371d852 100644
--- a/Source/WebCore/websockets/WebSocketHandshake.h
+++ b/Source/WebCore/websockets/WebSocketHandshake.h
@@ -37,13 +37,13 @@
#include "PlatformString.h"
#include "WebSocketHandshakeRequest.h"
#include "WebSocketHandshakeResponse.h"
-#include <wtf/Noncopyable.h>
namespace WebCore {
class ScriptExecutionContext;
- class WebSocketHandshake : public Noncopyable {
+ class WebSocketHandshake {
+ WTF_MAKE_NONCOPYABLE(WebSocketHandshake);
public:
enum Mode {
Incomplete, Normal, Failed, Connected
diff --git a/Source/WebCore/websockets/WorkerThreadableWebSocketChannel.h b/Source/WebCore/websockets/WorkerThreadableWebSocketChannel.h
index 366e4fa..9f0b01a 100644
--- a/Source/WebCore/websockets/WorkerThreadableWebSocketChannel.h
+++ b/Source/WebCore/websockets/WorkerThreadableWebSocketChannel.h
@@ -52,6 +52,7 @@ class WorkerLoaderProxy;
class WorkerRunLoop;
class WorkerThreadableWebSocketChannel : public RefCounted<WorkerThreadableWebSocketChannel>, public ThreadableWebSocketChannel {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<ThreadableWebSocketChannel> create(WorkerContext* workerContext, WebSocketChannelClient* client, const String& taskMode, const KURL& url, const String& protocol)
{
@@ -77,7 +78,8 @@ protected:
private:
// Generated by the bridge. The Peer and its bridge should have identical
// lifetimes.
- class Peer : public WebSocketChannelClient, public Noncopyable {
+ class Peer : public WebSocketChannelClient {
+ WTF_MAKE_NONCOPYABLE(Peer); WTF_MAKE_FAST_ALLOCATED;
public:
static Peer* create(RefPtr<ThreadableWebSocketChannelClientWrapper> clientWrapper, WorkerLoaderProxy& loaderProxy, ScriptExecutionContext* context, const String& taskMode, const KURL& url, const String& protocol)
{
diff --git a/Source/WebCore/workers/DefaultSharedWorkerRepository.h b/Source/WebCore/workers/DefaultSharedWorkerRepository.h
index 21e14a1..435b613 100644
--- a/Source/WebCore/workers/DefaultSharedWorkerRepository.h
+++ b/Source/WebCore/workers/DefaultSharedWorkerRepository.h
@@ -53,7 +53,8 @@ namespace WebCore {
class SharedWorkerProxy;
// Platform-specific implementation of the SharedWorkerRepository static interface.
- class DefaultSharedWorkerRepository : public Noncopyable {
+ class DefaultSharedWorkerRepository {
+ WTF_MAKE_NONCOPYABLE(DefaultSharedWorkerRepository); WTF_MAKE_FAST_ALLOCATED;
public:
// Invoked once the worker script has been loaded to fire up the worker thread.
void workerScriptLoaded(SharedWorkerProxy&, const String& userAgent, const String& workerScript, PassOwnPtr<MessagePortChannel>);
diff --git a/Source/WebCore/workers/WorkerContext.h b/Source/WebCore/workers/WorkerContext.h
index ae370e0..2e802f2 100644
--- a/Source/WebCore/workers/WorkerContext.h
+++ b/Source/WebCore/workers/WorkerContext.h
@@ -144,7 +144,8 @@ namespace WebCore {
bool isClosing() { return m_closing; }
// An observer interface to be notified when the worker thread is getting stopped.
- class Observer : public Noncopyable {
+ class Observer {
+ WTF_MAKE_NONCOPYABLE(Observer);
public:
Observer(WorkerContext*);
virtual ~Observer();
diff --git a/Source/WebCore/workers/WorkerMessagingProxy.h b/Source/WebCore/workers/WorkerMessagingProxy.h
index 33937ce..ab6113a 100644
--- a/Source/WebCore/workers/WorkerMessagingProxy.h
+++ b/Source/WebCore/workers/WorkerMessagingProxy.h
@@ -46,7 +46,8 @@ namespace WebCore {
class ScriptExecutionContext;
class Worker;
- class WorkerMessagingProxy : public WorkerContextProxy, public WorkerObjectProxy, public WorkerLoaderProxy, public Noncopyable {
+ class WorkerMessagingProxy : public WorkerContextProxy, public WorkerObjectProxy, public WorkerLoaderProxy {
+ WTF_MAKE_NONCOPYABLE(WorkerMessagingProxy); WTF_MAKE_FAST_ALLOCATED;
public:
WorkerMessagingProxy(Worker*);
diff --git a/Source/WebCore/workers/WorkerRunLoop.cpp b/Source/WebCore/workers/WorkerRunLoop.cpp
index 83f243f..7b3149c 100644
--- a/Source/WebCore/workers/WorkerRunLoop.cpp
+++ b/Source/WebCore/workers/WorkerRunLoop.cpp
@@ -104,7 +104,8 @@ String WorkerRunLoop::defaultMode()
return String();
}
-class RunLoopSetup : public Noncopyable {
+class RunLoopSetup {
+ WTF_MAKE_NONCOPYABLE(RunLoopSetup);
public:
RunLoopSetup(WorkerRunLoop& runLoop)
: m_runLoop(runLoop)
diff --git a/Source/WebCore/workers/WorkerRunLoop.h b/Source/WebCore/workers/WorkerRunLoop.h
index 9d4edfd..3feb4e8 100644
--- a/Source/WebCore/workers/WorkerRunLoop.h
+++ b/Source/WebCore/workers/WorkerRunLoop.h
@@ -65,7 +65,8 @@ namespace WebCore {
static String defaultMode();
- class Task : public Noncopyable {
+ class Task {
+ WTF_MAKE_NONCOPYABLE(Task); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<Task> create(PassOwnPtr<ScriptExecutionContext::Task> task, const String& mode);
~Task() { }
diff --git a/Source/WebCore/workers/WorkerThread.cpp b/Source/WebCore/workers/WorkerThread.cpp
index f61120e..e1f1a66 100644
--- a/Source/WebCore/workers/WorkerThread.cpp
+++ b/Source/WebCore/workers/WorkerThread.cpp
@@ -61,7 +61,8 @@ unsigned WorkerThread::workerThreadCount()
return m_threadCount;
}
-struct WorkerThreadStartupData : Noncopyable {
+struct WorkerThreadStartupData {
+ WTF_MAKE_NONCOPYABLE(WorkerThreadStartupData); WTF_MAKE_FAST_ALLOCATED;
public:
static PassOwnPtr<WorkerThreadStartupData> create(const KURL& scriptURL, const String& userAgent, const String& sourceCode)
{
diff --git a/Source/WebCore/xml/XMLHttpRequest.cpp b/Source/WebCore/xml/XMLHttpRequest.cpp
index 48a4f7f..c05ab29 100644
--- a/Source/WebCore/xml/XMLHttpRequest.cpp
+++ b/Source/WebCore/xml/XMLHttpRequest.cpp
@@ -65,7 +65,9 @@ namespace WebCore {
static WTF::RefCountedLeakCounter xmlHttpRequestCounter("XMLHttpRequest");
#endif
-struct XMLHttpRequestStaticData : Noncopyable {
+struct XMLHttpRequestStaticData {
+ WTF_MAKE_NONCOPYABLE(XMLHttpRequestStaticData); WTF_MAKE_FAST_ALLOCATED;
+public:
XMLHttpRequestStaticData();
String m_proxyHeaderPrefix;
String m_secHeaderPrefix;
diff --git a/Source/WebCore/xml/XMLHttpRequest.h b/Source/WebCore/xml/XMLHttpRequest.h
index bc6815d..b15d358 100644
--- a/Source/WebCore/xml/XMLHttpRequest.h
+++ b/Source/WebCore/xml/XMLHttpRequest.h
@@ -44,6 +44,7 @@ class TextResourceDecoder;
class ThreadableLoader;
class XMLHttpRequest : public RefCounted<XMLHttpRequest>, public EventTarget, private ThreadableLoaderClient, public ActiveDOMObject {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<XMLHttpRequest> create(ScriptExecutionContext* context) { return adoptRef(new XMLHttpRequest(context)); }
~XMLHttpRequest();
diff --git a/Source/WebCore/xml/XPathExpressionNode.h b/Source/WebCore/xml/XPathExpressionNode.h
index c04d45b..4b5baa8 100644
--- a/Source/WebCore/xml/XPathExpressionNode.h
+++ b/Source/WebCore/xml/XPathExpressionNode.h
@@ -39,7 +39,9 @@ namespace WebCore {
namespace XPath {
- struct EvaluationContext : FastAllocBase {
+ struct EvaluationContext {
+ WTF_MAKE_FAST_ALLOCATED;
+ public:
RefPtr<Node> node;
unsigned long size;
unsigned long position;
@@ -53,7 +55,8 @@ namespace WebCore {
virtual ~ParseNode() { }
};
- class Expression : public ParseNode, public Noncopyable {
+ class Expression : public ParseNode {
+ WTF_MAKE_NONCOPYABLE(Expression); WTF_MAKE_FAST_ALLOCATED;
public:
static EvaluationContext& evaluationContext();
diff --git a/Source/WebCore/xml/XPathNodeSet.h b/Source/WebCore/xml/XPathNodeSet.h
index d5c47be..619d91c 100644
--- a/Source/WebCore/xml/XPathNodeSet.h
+++ b/Source/WebCore/xml/XPathNodeSet.h
@@ -37,7 +37,8 @@ namespace WebCore {
namespace XPath {
- class NodeSet : public FastAllocBase {
+ class NodeSet {
+ WTF_MAKE_FAST_ALLOCATED;
public:
NodeSet() : m_isSorted(true), m_subtreesAreDisjoint(false) { }
diff --git a/Source/WebCore/xml/XPathParser.h b/Source/WebCore/xml/XPathParser.h
index 0ee447a..f49b44b 100644
--- a/Source/WebCore/xml/XPathParser.h
+++ b/Source/WebCore/xml/XPathParser.h
@@ -58,7 +58,8 @@ namespace WebCore {
Token(int t, EqTestOp::Opcode v): type(t), eqop(v) {}
};
- class Parser : public Noncopyable {
+ class Parser {
+ WTF_MAKE_NONCOPYABLE(Parser);
public:
Parser();
~Parser();
diff --git a/Source/WebCore/xml/XPathPredicate.h b/Source/WebCore/xml/XPathPredicate.h
index 5f2482a..3600154 100644
--- a/Source/WebCore/xml/XPathPredicate.h
+++ b/Source/WebCore/xml/XPathPredicate.h
@@ -105,7 +105,8 @@ namespace WebCore {
virtual Value::Type resultType() const { return Value::NodeSetValue; }
};
- class Predicate : public Noncopyable {
+ class Predicate {
+ WTF_MAKE_NONCOPYABLE(Predicate); WTF_MAKE_FAST_ALLOCATED;
public:
Predicate(Expression*);
~Predicate();
diff --git a/Source/WebCore/xml/XPathStep.h b/Source/WebCore/xml/XPathStep.h
index ec022b3..b031baf 100644
--- a/Source/WebCore/xml/XPathStep.h
+++ b/Source/WebCore/xml/XPathStep.h
@@ -39,7 +39,8 @@ namespace WebCore {
class Predicate;
- class Step : public ParseNode, public Noncopyable {
+ class Step : public ParseNode {
+ WTF_MAKE_NONCOPYABLE(Step); WTF_MAKE_FAST_ALLOCATED;
public:
enum Axis {
AncestorAxis, AncestorOrSelfAxis, AttributeAxis,
@@ -49,7 +50,8 @@ namespace WebCore {
SelfAxis
};
- class NodeTest : public FastAllocBase {
+ class NodeTest {
+ WTF_MAKE_FAST_ALLOCATED;
public:
enum Kind {
TextNodeTest, CommentNodeTest, ProcessingInstructionNodeTest, AnyNodeTest, NameTest
diff --git a/Source/WebCore/xml/XSLImportRule.h b/Source/WebCore/xml/XSLImportRule.h
index f3a9318..5c0ca8a 100644
--- a/Source/WebCore/xml/XSLImportRule.h
+++ b/Source/WebCore/xml/XSLImportRule.h
@@ -35,6 +35,7 @@ namespace WebCore {
class CachedXSLStyleSheet;
class XSLImportRule : public StyleBase, private CachedResourceClient {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<XSLImportRule> create(XSLStyleSheet* parentSheet, const String& href)
{
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index dc89558..ef70b92 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,14 @@
+2011-01-20 Zoltan Horvath <zoltan at webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Refactoring of the custom allocation framework
+ https://bugs.webkit.org/show_bug.cgi?id=49897
+
+ Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
+ The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
+ equivalent macro implementation at the necessary places.
+
2011-01-17 Dan Bernstein <mitz at apple.com>
Rubber-stamped by Mark Rowe.
diff --git a/Source/WebKit/chromium/src/BoundObject.h b/Source/WebKit/chromium/src/BoundObject.h
index 769e83f..394ff7c 100644
--- a/Source/WebKit/chromium/src/BoundObject.h
+++ b/Source/WebKit/chromium/src/BoundObject.h
@@ -39,7 +39,8 @@ namespace WebKit {
// BoundObject is a helper class that lets you map JavaScript method calls
// directly to C++ method calls. It should be destroyed once JS object is
// built.
-class BoundObject : public Noncopyable {
+class BoundObject {
+ WTF_MAKE_NONCOPYABLE(BoundObject);
public:
BoundObject(v8::Handle<v8::Context> context, void* v8This, const char* objectName);
virtual ~BoundObject();
diff --git a/Source/WebKit/chromium/src/DebuggerAgentManager.cpp b/Source/WebKit/chromium/src/DebuggerAgentManager.cpp
index 0860cb1..b76bcfe 100644
--- a/Source/WebKit/chromium/src/DebuggerAgentManager.cpp
+++ b/Source/WebKit/chromium/src/DebuggerAgentManager.cpp
@@ -55,7 +55,8 @@ bool DebuggerAgentManager::s_exposeV8DebuggerProtocol = false;
namespace {
-class CallerIdWrapper : public v8::Debug::ClientData, public Noncopyable {
+class CallerIdWrapper : public v8::Debug::ClientData {
+ WTF_MAKE_NONCOPYABLE(CallerIdWrapper);
public:
CallerIdWrapper() : m_callerIsMananager(true), m_callerId(0) { }
explicit CallerIdWrapper(int callerId)
diff --git a/Source/WebKit/chromium/src/DebuggerAgentManager.h b/Source/WebKit/chromium/src/DebuggerAgentManager.h
index 66bd714..a323311 100644
--- a/Source/WebKit/chromium/src/DebuggerAgentManager.h
+++ b/Source/WebKit/chromium/src/DebuggerAgentManager.h
@@ -63,7 +63,8 @@ class WebViewImpl;
// would expect some actions from the handler. If there is no appropriate
// debugger agent to handle such messages the manager will perform the action
// itself, otherwise v8 may hang waiting for the action.
-class DebuggerAgentManager : public Noncopyable {
+class DebuggerAgentManager {
+ WTF_MAKE_NONCOPYABLE(DebuggerAgentManager);
public:
static void debugAttach(DebuggerAgentImpl* debuggerAgent);
static void debugDetach(DebuggerAgentImpl* debuggerAgent);
diff --git a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h
index fc21f3e..2867917 100644
--- a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h
+++ b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h
@@ -44,8 +44,8 @@ namespace WebKit {
class WebDevToolsFrontendClient;
class WebDevToolsFrontendImpl;
-class InspectorFrontendClientImpl : public WebCore::InspectorFrontendClient
- , public Noncopyable {
+class InspectorFrontendClientImpl : public WebCore::InspectorFrontendClient {
+ WTF_MAKE_NONCOPYABLE(InspectorFrontendClientImpl);
public:
InspectorFrontendClientImpl(WebCore::Page*, WebDevToolsFrontendClient*, WebDevToolsFrontendImpl*);
virtual ~InspectorFrontendClientImpl();
diff --git a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h
index 866a1cb..dc7d2df 100644
--- a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h
+++ b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h
@@ -55,8 +55,8 @@ struct WebDevToolsMessageData;
using WTF::String;
-class WebDevToolsFrontendImpl : public WebKit::WebDevToolsFrontend
- , public Noncopyable {
+class WebDevToolsFrontendImpl : public WebKit::WebDevToolsFrontend {
+ WTF_MAKE_NONCOPYABLE(WebDevToolsFrontendImpl);
public:
WebDevToolsFrontendImpl(
WebKit::WebViewImpl* webViewImpl,
diff --git a/Source/WebKit/chromium/src/WebFrameImpl.cpp b/Source/WebKit/chromium/src/WebFrameImpl.cpp
index a13eec0..4d19053 100644
--- a/Source/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/Source/WebKit/chromium/src/WebFrameImpl.cpp
@@ -284,7 +284,8 @@ WebPluginContainerImpl* WebFrameImpl::pluginContainerFromFrame(Frame* frame)
// Simple class to override some of PrintContext behavior. Some of the methods
// made virtual so that they can be overriden by ChromePluginPrintContext.
-class ChromePrintContext : public PrintContext, public Noncopyable {
+class ChromePrintContext : public PrintContext {
+ WTF_MAKE_NONCOPYABLE(ChromePrintContext);
public:
ChromePrintContext(Frame* frame)
: PrintContext(frame)
diff --git a/Source/WebKit/chromium/src/WebPopupMenuImpl.h b/Source/WebKit/chromium/src/WebPopupMenuImpl.h
index b8ef7ba..41a952e 100644
--- a/Source/WebKit/chromium/src/WebPopupMenuImpl.h
+++ b/Source/WebKit/chromium/src/WebPopupMenuImpl.h
@@ -56,6 +56,7 @@ struct WebRect;
class WebPopupMenuImpl : public WebPopupMenu,
public WebCore::FramelessScrollViewClient,
public RefCounted<WebPopupMenuImpl> {
+ WTF_MAKE_FAST_ALLOCATED;
public:
// WebWidget
virtual void close();
diff --git a/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h b/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h
index 4bbae25..67c4608 100644
--- a/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h
@@ -27,7 +27,8 @@
#include "HTMLMediaElement.h"
#include <wtf/RefPtr.h>
-class FullscreenVideoController : public Noncopyable {
+class FullscreenVideoController {
+ WTF_MAKE_NONCOPYABLE(FullscreenVideoController);
public:
FullscreenVideoController();
virtual ~FullscreenVideoController();
diff --git a/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h b/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h
index d4bbea2..3fb8b16 100644
--- a/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h
+++ b/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.h
@@ -27,7 +27,8 @@
#include "HTMLMediaElement.h"
#include <wtf/RefPtr.h>
-class FullscreenVideoController : public Noncopyable {
+class FullscreenVideoController {
+ WTF_MAKE_NONCOPYABLE(FullscreenVideoController);
public:
FullscreenVideoController();
virtual ~FullscreenVideoController();
diff --git a/Source/WebKit/gtk/webkit/webkitdownload.cpp b/Source/WebKit/gtk/webkit/webkitdownload.cpp
index 60b8e6d..a7890c1 100644
--- a/Source/WebKit/gtk/webkit/webkitdownload.cpp
+++ b/Source/WebKit/gtk/webkit/webkitdownload.cpp
@@ -57,7 +57,8 @@ using namespace WebCore;
* out what is to be downloaded, and do it itself.
*/
-class DownloadClient : public Noncopyable, public ResourceHandleClient {
+class DownloadClient : public ResourceHandleClient {
+ WTF_MAKE_NONCOPYABLE(DownloadClient);
public:
DownloadClient(WebKitDownload*);
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
index f784ade..4f2c566 100644
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
+++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
@@ -313,7 +313,8 @@ private:
bool demarshalValueFromArray(JSC::ExecState*, NSArray *array, NSUInteger& index, JSC::JSValue& result);
void demarshalValues(JSC::ExecState*, data_t valuesData, mach_msg_type_number_t valuesLength, JSC::MarkedArgumentBuffer& result);
- class LocalObjectMap : Noncopyable {
+ class LocalObjectMap {
+ WTF_MAKE_NONCOPYABLE(LocalObjectMap);
public:
LocalObjectMap();
~LocalObjectMap();
diff --git a/Source/WebKit/mac/Storage/WebDatabaseTrackerClient.mm b/Source/WebKit/mac/Storage/WebDatabaseTrackerClient.mm
index 2913739..65aba43 100644
--- a/Source/WebKit/mac/Storage/WebDatabaseTrackerClient.mm
+++ b/Source/WebKit/mac/Storage/WebDatabaseTrackerClient.mm
@@ -52,7 +52,8 @@ WebDatabaseTrackerClient::~WebDatabaseTrackerClient()
{
}
-class DidModifyOriginData : public Noncopyable {
+class DidModifyOriginData {
+ WTF_MAKE_NONCOPYABLE(DidModifyOriginData);
public:
static void dispatchToMainThread(WebDatabaseTrackerClient* client, SecurityOrigin* origin)
{
diff --git a/Source/WebKit/win/COMEnumVariant.h b/Source/WebKit/win/COMEnumVariant.h
index a93a3c2..6725107 100644
--- a/Source/WebKit/win/COMEnumVariant.h
+++ b/Source/WebKit/win/COMEnumVariant.h
@@ -29,12 +29,12 @@
#define NOMINMAX
#include <unknwn.h>
-#include <wtf/Noncopyable.h>
#include "COMVariantSetter.h"
template<typename ContainerType>
-class COMEnumVariant : public IEnumVARIANT, public Noncopyable {
+class COMEnumVariant : public IEnumVARIANT {
+ WTF_MAKE_NONCOPYABLE(COMEnumVariant);
public:
static COMEnumVariant* adopt(ContainerType&);
static COMEnumVariant* createInstance(const ContainerType&);
diff --git a/Source/WebKit/win/COMPropertyBag.h b/Source/WebKit/win/COMPropertyBag.h
index 610c367..620458e 100644
--- a/Source/WebKit/win/COMPropertyBag.h
+++ b/Source/WebKit/win/COMPropertyBag.h
@@ -35,7 +35,8 @@
#include "COMVariantSetter.h"
template<typename ValueType, typename KeyType = typename WTF::String, typename HashType = typename WTF::StringHash>
-class COMPropertyBag : public IPropertyBag, public IPropertyBag2, Noncopyable {
+class COMPropertyBag : public IPropertyBag, public IPropertyBag2 {
+ WTF_MAKE_NONCOPYABLE(COMPropertyBag);
public:
typedef HashMap<KeyType, ValueType, HashType> HashMapType;
diff --git a/Source/WebKit/win/FullscreenVideoController.h b/Source/WebKit/win/FullscreenVideoController.h
index 6b56ab5..a65529e 100644
--- a/Source/WebKit/win/FullscreenVideoController.h
+++ b/Source/WebKit/win/FullscreenVideoController.h
@@ -102,7 +102,8 @@ private:
int m_dragStartOffset;
};
-class FullscreenVideoController : WebCore::MediaPlayerPrivateFullscreenClient, public Noncopyable {
+class FullscreenVideoController : WebCore::MediaPlayerPrivateFullscreenClient {
+ WTF_MAKE_NONCOPYABLE(FullscreenVideoController);
public:
FullscreenVideoController();
virtual ~FullscreenVideoController();
diff --git a/Source/WebKit/win/WebDatabaseManager.cpp b/Source/WebKit/win/WebDatabaseManager.cpp
index bdcb549..e2b81e1 100644
--- a/Source/WebKit/win/WebDatabaseManager.cpp
+++ b/Source/WebKit/win/WebDatabaseManager.cpp
@@ -52,7 +52,8 @@ static inline bool isEqual(LPCWSTR s1, LPCWSTR s2)
return !wcscmp(s1, s2);
}
-class DatabaseDetailsPropertyBag : public IPropertyBag, public Noncopyable {
+class DatabaseDetailsPropertyBag : public IPropertyBag {
+ WTF_MAKE_NONCOPYABLE(DatabaseDetailsPropertyBag);
public:
static DatabaseDetailsPropertyBag* createInstance(const DatabaseDetails&);
@@ -328,7 +329,8 @@ HRESULT STDMETHODCALLTYPE WebDatabaseManager::deleteDatabase(
return S_OK;
}
-class DidModifyOriginData : public Noncopyable {
+class DidModifyOriginData {
+ WTF_MAKE_NONCOPYABLE(DidModifyOriginData);
public:
static void dispatchToMainThread(WebDatabaseManager* databaseManager, SecurityOrigin* origin)
{
diff --git a/Source/WebKit/win/WebInspector.h b/Source/WebKit/win/WebInspector.h
index 053a593..e2d2fcd 100644
--- a/Source/WebKit/win/WebInspector.h
+++ b/Source/WebKit/win/WebInspector.h
@@ -34,7 +34,8 @@
class WebView;
-class WebInspector : public IWebInspector, public IWebInspectorPrivate, public Noncopyable {
+class WebInspector : public IWebInspector, public IWebInspectorPrivate {
+ WTF_MAKE_NONCOPYABLE(WebInspector);
public:
static WebInspector* createInstance(WebView*);
diff --git a/Source/WebKit/win/WebLocalizableStrings.cpp b/Source/WebKit/win/WebLocalizableStrings.cpp
index da6b221..e9b99ad 100644
--- a/Source/WebKit/win/WebLocalizableStrings.cpp
+++ b/Source/WebKit/win/WebLocalizableStrings.cpp
@@ -72,7 +72,8 @@ static LocalizedStringMap frameworkLocStrings()
return map;
}
-class LocalizedString : public Noncopyable {
+class LocalizedString {
+ WTF_MAKE_NONCOPYABLE(LocalizedString);
public:
LocalizedString(CFStringRef string)
: m_cfString(string)
diff --git a/Source/WebKit/win/WebScriptWorld.h b/Source/WebKit/win/WebScriptWorld.h
index f088a72..01511de 100644
--- a/Source/WebKit/win/WebScriptWorld.h
+++ b/Source/WebKit/win/WebScriptWorld.h
@@ -31,7 +31,8 @@ namespace WebCore {
class DOMWrapperWorld;
}
-class WebScriptWorld : public Noncopyable, public IWebScriptWorld {
+class WebScriptWorld : public IWebScriptWorld {
+ WTF_MAKE_NONCOPYABLE(WebScriptWorld);
public:
static WebScriptWorld* standardWorld();
static COMPtr<WebScriptWorld> createInstance();
diff --git a/Source/WebKit/win/WebSerializedJSValue.h b/Source/WebKit/win/WebSerializedJSValue.h
index a2d6d56..6e3747d 100644
--- a/Source/WebKit/win/WebSerializedJSValue.h
+++ b/Source/WebKit/win/WebSerializedJSValue.h
@@ -34,7 +34,8 @@ namespace WebCore {
class SerializedScriptValue;
}
-class WebSerializedJSValue : public Noncopyable, public IWebSerializedJSValue, public IWebSerializedJSValuePrivate {
+class WebSerializedJSValue : public IWebSerializedJSValue, public IWebSerializedJSValuePrivate {
+ WTF_MAKE_NONCOPYABLE(WebSerializedJSValue);
public:
static COMPtr<WebSerializedJSValue> createInstance();
diff --git a/Source/WebKit/win/WebUserContentURLPattern.h b/Source/WebKit/win/WebUserContentURLPattern.h
index e8f6b67..42854b4 100644
--- a/Source/WebKit/win/WebUserContentURLPattern.h
+++ b/Source/WebKit/win/WebUserContentURLPattern.h
@@ -32,7 +32,8 @@ namespace WebCore {
class UserContentURLPattern;
}
-class WebUserContentURLPattern : public Noncopyable, public IWebUserContentURLPattern {
+class WebUserContentURLPattern : public IWebUserContentURLPattern {
+ WTF_MAKE_NONCOPYABLE(WebUserContentURLPattern);
public:
static COMPtr<WebUserContentURLPattern> createInstance();
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index dc6dc5b..e34aa6f 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,3 +1,14 @@
+2011-01-20 Zoltan Horvath <zoltan at webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Refactoring of the custom allocation framework
+ https://bugs.webkit.org/show_bug.cgi?id=49897
+
+ Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
+ The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
+ equivalent macro implementation at the necessary places.
+
2011-01-19 Simon Fraser <simon.fraser at apple.com>
Fix the WebKit2 build.
diff --git a/Source/WebKit2/Platform/Module.h b/Source/WebKit2/Platform/Module.h
index 0825bf6..ec7523c 100644
--- a/Source/WebKit2/Platform/Module.h
+++ b/Source/WebKit2/Platform/Module.h
@@ -39,7 +39,8 @@
namespace WebKit {
-class Module : public Noncopyable {
+class Module {
+ WTF_MAKE_NONCOPYABLE(Module);
public:
Module(const String& path);
~Module();
diff --git a/Source/WebKit2/Platform/SharedMemory.h b/Source/WebKit2/Platform/SharedMemory.h
index 05dc0dd..9854132 100644
--- a/Source/WebKit2/Platform/SharedMemory.h
+++ b/Source/WebKit2/Platform/SharedMemory.h
@@ -52,7 +52,8 @@ public:
ReadWrite
};
- class Handle : Noncopyable {
+ class Handle {
+ WTF_MAKE_NONCOPYABLE(Handle);
public:
Handle();
~Handle();
diff --git a/Source/WebKit2/PluginProcess/PluginProcess.h b/Source/WebKit2/PluginProcess/PluginProcess.h
index d7f592e..6c221e7 100644
--- a/Source/WebKit2/PluginProcess/PluginProcess.h
+++ b/Source/WebKit2/PluginProcess/PluginProcess.h
@@ -40,6 +40,7 @@ class WebProcessConnection;
struct PluginProcessCreationParameters;
class PluginProcess : ChildProcess {
+ WTF_MAKE_NONCOPYABLE(PluginProcess);
public:
static PluginProcess& shared();
diff --git a/Source/WebKit2/Shared/ChildProcess.h b/Source/WebKit2/Shared/ChildProcess.h
index 78fe1f4..8c5e8e3 100644
--- a/Source/WebKit2/Shared/ChildProcess.h
+++ b/Source/WebKit2/Shared/ChildProcess.h
@@ -27,13 +27,11 @@
#define ChildProcess_h
#include "Connection.h"
-#include <wtf/Noncopyable.h>
namespace WebKit {
class ChildProcess : protected CoreIPC::Connection::Client {
WTF_MAKE_NONCOPYABLE(ChildProcess);
-
protected:
ChildProcess();
~ChildProcess();
diff --git a/Source/WebKit2/Shared/WebMemorySampler.h b/Source/WebKit2/Shared/WebMemorySampler.h
index 93254d9..c50d3bf 100644
--- a/Source/WebKit2/Shared/WebMemorySampler.h
+++ b/Source/WebKit2/Shared/WebMemorySampler.h
@@ -69,8 +69,8 @@ struct WebMemoryStatistics
Vector<size_t> values;
};
-class WebMemorySampler : public Noncopyable {
-
+class WebMemorySampler {
+ WTF_MAKE_NONCOPYABLE(WebMemorySampler);
public:
static WebMemorySampler* shared();
void start(const double interval=0);
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h b/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h
index c265f2e..a150d67 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h
+++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h
@@ -41,7 +41,8 @@ namespace WebKit {
class PluginProcessProxy;
class WebProcessProxy;
-class PluginProcessManager : Noncopyable {
+class PluginProcessManager {
+ WTF_MAKE_NONCOPYABLE(PluginProcessManager);
public:
static PluginProcessManager& shared();
diff --git a/Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp b/Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp
index 485f892..1e0c251 100644
--- a/Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp
+++ b/Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp
@@ -253,7 +253,8 @@ Vector<String> PluginInfoStore::pluginsDirectories()
return directories;
}
-class PathWalker : public Noncopyable {
+class PathWalker {
+ WTF_MAKE_NONCOPYABLE(PathWalker);
public:
PathWalker(const String& directory)
{
diff --git a/Source/WebKit2/UIProcess/VisitedLinkProvider.h b/Source/WebKit2/UIProcess/VisitedLinkProvider.h
index 015515c..a428d5b 100644
--- a/Source/WebKit2/UIProcess/VisitedLinkProvider.h
+++ b/Source/WebKit2/UIProcess/VisitedLinkProvider.h
@@ -31,13 +31,13 @@
#include <WebCore/LinkHash.h>
#include <wtf/Forward.h>
#include <wtf/HashSet.h>
-#include <wtf/Noncopyable.h>
namespace WebKit {
class WebContext;
-class VisitedLinkProvider : Noncopyable {
+class VisitedLinkProvider {
+ WTF_MAKE_NONCOPYABLE(VisitedLinkProvider);
public:
explicit VisitedLinkProvider(WebContext*);
diff --git a/Source/WebKit2/WebProcess/Downloads/Download.h b/Source/WebKit2/WebProcess/Downloads/Download.h
index 2319ec7..bacdd01 100644
--- a/Source/WebKit2/WebProcess/Downloads/Download.h
+++ b/Source/WebKit2/WebProcess/Downloads/Download.h
@@ -63,7 +63,6 @@ class WebPage;
class Download : public CoreIPC::MessageSender<Download> {
WTF_MAKE_NONCOPYABLE(Download);
-
public:
static PassOwnPtr<Download> create(uint64_t downloadID, const WebCore::ResourceRequest&);
~Download();
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.h b/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.h
index 6737bd4..3518221 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.h
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.h
@@ -40,7 +40,8 @@ namespace WebKit {
class NPRuntimeObjectMap;
// NPJSObject is an NPObject that wraps a JSObject.
-class NPJSObject : public NPObject, Noncopyable {
+class NPJSObject : public NPObject {
+ WTF_MAKE_NONCOPYABLE(NPJSObject);
public:
static NPJSObject* create(NPRuntimeObjectMap* objectMap, JSC::JSObject* jsObject);
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h b/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h
index d7ba853..8b60f17 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h
+++ b/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h
@@ -38,7 +38,8 @@ namespace WebKit {
class PluginProcessConnection;
-class PluginProcessConnectionManager : Noncopyable {
+class PluginProcessConnectionManager {
+ WTF_MAKE_NONCOPYABLE(PluginProcessConnectionManager);
public:
static PluginProcessConnectionManager& shared();
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 7521ee2..f186ced 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,13 @@
+2011-01-20 Zoltan Horvath <zoltan at webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Refactoring of the custom allocation framework
+ https://bugs.webkit.org/show_bug.cgi?id=49897
+
+ Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
+ The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
+ equivalent macro implementation at the necessary places.
2011-01-20 Yi Shen <yi.4.shen at nokia.com>
Unreviewed.
diff --git a/Tools/DumpRenderTree/chromium/CppBoundClass.h b/Tools/DumpRenderTree/chromium/CppBoundClass.h
index 6cb638e..6151a9c 100644
--- a/Tools/DumpRenderTree/chromium/CppBoundClass.h
+++ b/Tools/DumpRenderTree/chromium/CppBoundClass.h
@@ -58,7 +58,8 @@ typedef Vector<CppVariant> CppArgumentList;
// CppBoundClass lets you map Javascript method calls and property accesses
// directly to C++ method calls and CppVariant* variable access.
-class CppBoundClass : public Noncopyable {
+class CppBoundClass {
+ WTF_MAKE_NONCOPYABLE(CppBoundClass);
public:
class PropertyCallback {
public:
diff --git a/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h b/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h
index e1478d0..665435c 100644
--- a/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h
+++ b/Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h
@@ -49,8 +49,8 @@ struct WebDevToolsMessageData;
class DRTDevToolsClient;
-class DRTDevToolsAgent : public WebKit::WebDevToolsAgentClient
- , public Noncopyable {
+class DRTDevToolsAgent : public WebKit::WebDevToolsAgentClient {
+ WTF_MAKE_NONCOPYABLE(DRTDevToolsAgent);
public:
DRTDevToolsAgent();
virtual ~DRTDevToolsAgent() {}
diff --git a/Tools/DumpRenderTree/chromium/DRTDevToolsClient.h b/Tools/DumpRenderTree/chromium/DRTDevToolsClient.h
index 9ca1402..0cba51c 100644
--- a/Tools/DumpRenderTree/chromium/DRTDevToolsClient.h
+++ b/Tools/DumpRenderTree/chromium/DRTDevToolsClient.h
@@ -48,8 +48,8 @@ class WebView;
class DRTDevToolsAgent;
-class DRTDevToolsClient : public WebKit::WebDevToolsFrontendClient
- , public Noncopyable {
+class DRTDevToolsClient : public WebKit::WebDevToolsFrontendClient {
+ WTF_MAKE_NONCOPYABLE(DRTDevToolsClient);
public:
DRTDevToolsClient(DRTDevToolsAgent*, WebKit::WebView*);
virtual ~DRTDevToolsClient();
diff --git a/Tools/DumpRenderTree/chromium/TestNavigationController.h b/Tools/DumpRenderTree/chromium/TestNavigationController.h
index b671489..8502a96 100644
--- a/Tools/DumpRenderTree/chromium/TestNavigationController.h
+++ b/Tools/DumpRenderTree/chromium/TestNavigationController.h
@@ -111,7 +111,8 @@ public:
// Test shell's NavigationController. The goal is to be as close to the Chrome
// version as possible.
-class TestNavigationController: public Noncopyable {
+class TestNavigationController {
+ WTF_MAKE_NONCOPYABLE(TestNavigationController);
public:
TestNavigationController(NavigationHost*);
~TestNavigationController();
diff --git a/Tools/DumpRenderTree/chromium/WebThemeControlDRTWin.h b/Tools/DumpRenderTree/chromium/WebThemeControlDRTWin.h
index 4e22461..ede1458 100644
--- a/Tools/DumpRenderTree/chromium/WebThemeControlDRTWin.h
+++ b/Tools/DumpRenderTree/chromium/WebThemeControlDRTWin.h
@@ -46,7 +46,8 @@
// Skia forward declarations
struct SkIRect;
-class WebThemeControlDRTWin : public Noncopyable {
+class WebThemeControlDRTWin {
+ WTF_MAKE_NONCOPYABLE(WebThemeControlDRTWin);
public:
// This list of states mostly mirrors the list in WebCore/platform/ThemeTypes.h
// but is maintained separately since that isn't public and also to minimize
diff --git a/Tools/DumpRenderTree/chromium/WebThemeEngineDRTWin.h b/Tools/DumpRenderTree/chromium/WebThemeEngineDRTWin.h
index 2e15cf8..9b1e817 100644
--- a/Tools/DumpRenderTree/chromium/WebThemeEngineDRTWin.h
+++ b/Tools/DumpRenderTree/chromium/WebThemeEngineDRTWin.h
@@ -50,7 +50,8 @@
#include "win/WebThemeEngine.h"
#include <wtf/Noncopyable.h>
-class WebThemeEngineDRTWin : public WebKit::WebThemeEngine, public Noncopyable {
+class WebThemeEngineDRTWin : public WebKit::WebThemeEngine {
+ WTF_MAKE_NONCOPYABLE(WebThemeEngineDRTWin);
public:
WebThemeEngineDRTWin() {}
diff --git a/Tools/WebKitAPITest/HostWindow.h b/Tools/WebKitAPITest/HostWindow.h
index a2734ed..2aaa85f 100644
--- a/Tools/WebKitAPITest/HostWindow.h
+++ b/Tools/WebKitAPITest/HostWindow.h
@@ -30,7 +30,8 @@
namespace WebKitAPITest {
-class HostWindow : public Noncopyable {
+class HostWindow {
+ WTF_MAKE_NONCOPYABLE(HostWindow);
public:
HostWindow();
~HostWindow();
diff --git a/Tools/WebKitAPITest/TestsController.h b/Tools/WebKitAPITest/TestsController.h
index 11b457d..bdcc455 100644
--- a/Tools/WebKitAPITest/TestsController.h
+++ b/Tools/WebKitAPITest/TestsController.h
@@ -28,13 +28,13 @@
#include <windows.h>
#include <wtf/Forward.h>
#include <wtf/Deque.h>
-#include <wtf/Noncopyable.h>
namespace WebKitAPITest {
class Test;
-class TestsController : public Noncopyable {
+class TestsController {
+ WTF_MAKE_NONCOPYABLE(TestsController);
public:
static TestsController& shared();
diff --git a/Tools/WebKitTestRunner/TestInvocation.h b/Tools/WebKitTestRunner/TestInvocation.h
index fec1f7a..efc6635 100644
--- a/Tools/WebKitTestRunner/TestInvocation.h
+++ b/Tools/WebKitTestRunner/TestInvocation.h
@@ -31,7 +31,8 @@
namespace WTR {
-class TestInvocation : public Noncopyable {
+class TestInvocation {
+ WTF_MAKE_NONCOPYABLE(TestInvocation);
public:
TestInvocation(const char*);
~TestInvocation();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list