summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/fpdfapi/page/cpdf_clippath.h4
-rw-r--r--core/fpdfapi/page/cpdf_colorstate.h4
-rw-r--r--core/fpdfapi/page/cpdf_contentmark.h4
-rw-r--r--core/fpdfapi/page/cpdf_generalstate.h2
-rw-r--r--core/fpdfapi/page/cpdf_path.h4
-rw-r--r--core/fpdfapi/page/cpdf_textstate.h4
-rw-r--r--core/fxcrt/cfx_shared_copy_on_write.h (renamed from core/fxcrt/cfx_count_ref.h)23
-rw-r--r--core/fxcrt/cfx_shared_copy_on_write_unittest.cpp (renamed from core/fxcrt/cfx_count_ref_unittest.cpp)30
-rw-r--r--core/fxge/cfx_graphstate.h4
-rw-r--r--core/fxge/fx_dib.h4
10 files changed, 43 insertions, 40 deletions
diff --git a/core/fpdfapi/page/cpdf_clippath.h b/core/fpdfapi/page/cpdf_clippath.h
index 25fc3860da..dd44cb250e 100644
--- a/core/fpdfapi/page/cpdf_clippath.h
+++ b/core/fpdfapi/page/cpdf_clippath.h
@@ -12,7 +12,7 @@
#include <vector>
#include "core/fpdfapi/page/cpdf_path.h"
-#include "core/fxcrt/cfx_count_ref.h"
+#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
@@ -57,7 +57,7 @@ class CPDF_ClipPath {
std::vector<std::unique_ptr<CPDF_TextObject>> m_TextList;
};
- CFX_CountRef<PathData> m_Ref;
+ CFX_SharedCopyOnWrite<PathData> m_Ref;
};
#endif // CORE_FPDFAPI_PAGE_CPDF_CLIPPATH_H_
diff --git a/core/fpdfapi/page/cpdf_colorstate.h b/core/fpdfapi/page/cpdf_colorstate.h
index 916abed7ee..49c71b66f9 100644
--- a/core/fpdfapi/page/cpdf_colorstate.h
+++ b/core/fpdfapi/page/cpdf_colorstate.h
@@ -8,7 +8,7 @@
#define CORE_FPDFAPI_PAGE_CPDF_COLORSTATE_H_
#include "core/fpdfapi/page/cpdf_color.h"
-#include "core/fxcrt/cfx_count_ref.h"
+#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_system.h"
@@ -71,7 +71,7 @@ class CPDF_ColorState {
FX_FLOAT* pValue,
uint32_t nValues);
- CFX_CountRef<ColorData> m_Ref;
+ CFX_SharedCopyOnWrite<ColorData> m_Ref;
};
#endif // CORE_FPDFAPI_PAGE_CPDF_COLORSTATE_H_
diff --git a/core/fpdfapi/page/cpdf_contentmark.h b/core/fpdfapi/page/cpdf_contentmark.h
index 9d137faa35..485fe3b4c6 100644
--- a/core/fpdfapi/page/cpdf_contentmark.h
+++ b/core/fpdfapi/page/cpdf_contentmark.h
@@ -10,7 +10,7 @@
#include <vector>
#include "core/fpdfapi/page/cpdf_contentmarkitem.h"
-#include "core/fxcrt/cfx_count_ref.h"
+#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_system.h"
@@ -58,7 +58,7 @@ class CPDF_ContentMark {
std::vector<CPDF_ContentMarkItem> m_Marks;
};
- CFX_CountRef<MarkData> m_Ref;
+ CFX_SharedCopyOnWrite<MarkData> m_Ref;
};
#endif // CORE_FPDFAPI_PAGE_CPDF_CONTENTMARK_H_
diff --git a/core/fpdfapi/page/cpdf_generalstate.h b/core/fpdfapi/page/cpdf_generalstate.h
index 8c6b0622f4..5211c52e5b 100644
--- a/core/fpdfapi/page/cpdf_generalstate.h
+++ b/core/fpdfapi/page/cpdf_generalstate.h
@@ -103,7 +103,7 @@ class CPDF_GeneralState {
FX_FLOAT m_Smoothness;
};
- CFX_CountRef<StateData> m_Ref;
+ CFX_SharedCopyOnWrite<StateData> m_Ref;
};
#endif // CORE_FPDFAPI_PAGE_CPDF_GENERALSTATE_H_
diff --git a/core/fpdfapi/page/cpdf_path.h b/core/fpdfapi/page/cpdf_path.h
index 6322f08ba2..d69672a4de 100644
--- a/core/fpdfapi/page/cpdf_path.h
+++ b/core/fpdfapi/page/cpdf_path.h
@@ -7,7 +7,7 @@
#ifndef CORE_FPDFAPI_PAGE_CPDF_PATH_H_
#define CORE_FPDFAPI_PAGE_CPDF_PATH_H_
-#include "core/fxcrt/cfx_count_ref.h"
+#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxge/cfx_fxgedevice.h"
#include "core/fxge/cfx_pathdata.h"
@@ -44,7 +44,7 @@ class CPDF_Path {
const CFX_PathData* GetObject() const { return m_Ref.GetObject(); }
private:
- CFX_CountRef<CFX_PathData> m_Ref;
+ CFX_SharedCopyOnWrite<CFX_PathData> m_Ref;
};
#endif // CORE_FPDFAPI_PAGE_CPDF_PATH_H_
diff --git a/core/fpdfapi/page/cpdf_textstate.h b/core/fpdfapi/page/cpdf_textstate.h
index e76e376c3b..4723469fd9 100644
--- a/core/fpdfapi/page/cpdf_textstate.h
+++ b/core/fpdfapi/page/cpdf_textstate.h
@@ -7,7 +7,7 @@
#ifndef CORE_FPDFAPI_PAGE_CPDF_TEXTSTATE_H_
#define CORE_FPDFAPI_PAGE_CPDF_TEXTSTATE_H_
-#include "core/fxcrt/cfx_count_ref.h"
+#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include "core/fxcrt/fx_basic.h"
class CPDF_Document;
@@ -81,7 +81,7 @@ class CPDF_TextState {
FX_FLOAT m_CTM[4];
};
- CFX_CountRef<TextData> m_Ref;
+ CFX_SharedCopyOnWrite<TextData> m_Ref;
};
bool SetTextRenderingModeFromInt(int iMode, TextRenderingMode* mode);
diff --git a/core/fxcrt/cfx_count_ref.h b/core/fxcrt/cfx_shared_copy_on_write.h
index 3b9ccff8fe..cd6cf6adc5 100644
--- a/core/fxcrt/cfx_count_ref.h
+++ b/core/fxcrt/cfx_shared_copy_on_write.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_FXCRT_CFX_COUNT_REF_H_
-#define CORE_FXCRT_CFX_COUNT_REF_H_
+#ifndef CORE_FXCRT_CFX_SHARED_COPY_ON_WRITE_H_
+#define CORE_FXCRT_CFX_SHARED_COPY_ON_WRITE_H_
#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/fx_system.h"
@@ -13,11 +13,12 @@
// A shared object with Copy on Write semantics that makes it appear as
// if each one were independent.
template <class ObjClass>
-class CFX_CountRef {
+class CFX_SharedCopyOnWrite {
public:
- CFX_CountRef() {}
- CFX_CountRef(const CFX_CountRef& other) : m_pObject(other.m_pObject) {}
- ~CFX_CountRef() {}
+ CFX_SharedCopyOnWrite() {}
+ CFX_SharedCopyOnWrite(const CFX_SharedCopyOnWrite& other)
+ : m_pObject(other.m_pObject) {}
+ ~CFX_SharedCopyOnWrite() {}
template <typename... Args>
ObjClass* Emplace(Args... params) {
@@ -25,7 +26,7 @@ class CFX_CountRef {
return m_pObject.Get();
}
- CFX_CountRef& operator=(const CFX_CountRef& that) {
+ CFX_SharedCopyOnWrite& operator=(const CFX_SharedCopyOnWrite& that) {
if (*this != that)
m_pObject = that.m_pObject;
return *this;
@@ -43,10 +44,12 @@ class CFX_CountRef {
return m_pObject.Get();
}
- bool operator==(const CFX_CountRef& that) const {
+ bool operator==(const CFX_SharedCopyOnWrite& that) const {
return m_pObject == that.m_pObject;
}
- bool operator!=(const CFX_CountRef& that) const { return !(*this == that); }
+ bool operator!=(const CFX_SharedCopyOnWrite& that) const {
+ return !(*this == that);
+ }
explicit operator bool() const { return !!m_pObject; }
private:
@@ -78,4 +81,4 @@ class CFX_CountRef {
CFX_RetainPtr<CountedObj> m_pObject;
};
-#endif // CORE_FXCRT_CFX_COUNT_REF_H_
+#endif // CORE_FXCRT_CFX_SHARED_COPY_ON_WRITE_H_
diff --git a/core/fxcrt/cfx_count_ref_unittest.cpp b/core/fxcrt/cfx_shared_copy_on_write_unittest.cpp
index 6ab56327d3..b0205d899b 100644
--- a/core/fxcrt/cfx_count_ref_unittest.cpp
+++ b/core/fxcrt/cfx_shared_copy_on_write_unittest.cpp
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "core/fxcrt/cfx_count_ref.h"
+#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include <map>
#include <string>
@@ -46,26 +46,26 @@ class Object {
} // namespace
-TEST(fxcrt, CountRefNull) {
+TEST(fxcrt, SharedCopyOnWriteNull) {
Observer observer;
{
- CFX_CountRef<Object> ptr;
+ CFX_SharedCopyOnWrite<Object> ptr;
EXPECT_EQ(nullptr, ptr.GetObject());
}
}
-TEST(fxcrt, CountRefCopy) {
+TEST(fxcrt, SharedCopyOnWriteCopy) {
Observer observer;
{
- CFX_CountRef<Object> ptr1;
+ CFX_SharedCopyOnWrite<Object> ptr1;
ptr1.Emplace(&observer, std::string("one"));
{
- CFX_CountRef<Object> ptr2 = ptr1;
+ CFX_SharedCopyOnWrite<Object> ptr2 = ptr1;
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));
}
{
- CFX_CountRef<Object> ptr3(ptr1);
+ CFX_SharedCopyOnWrite<Object> ptr3(ptr1);
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));
}
@@ -75,10 +75,10 @@ TEST(fxcrt, CountRefCopy) {
EXPECT_EQ(1, observer.GetDestructionCount("one"));
}
-TEST(fxcrt, CountRefAssignOverOld) {
+TEST(fxcrt, SharedCopyOnWriteAssignOverOld) {
Observer observer;
{
- CFX_CountRef<Object> ptr1;
+ CFX_SharedCopyOnWrite<Object> ptr1;
ptr1.Emplace(&observer, std::string("one"));
ptr1.Emplace(&observer, std::string("two"));
EXPECT_EQ(1, observer.GetConstructionCount("one"));
@@ -89,12 +89,12 @@ TEST(fxcrt, CountRefAssignOverOld) {
EXPECT_EQ(1, observer.GetDestructionCount("two"));
}
-TEST(fxcrt, CountRefAssignOverRetained) {
+TEST(fxcrt, SharedCopyOnWriteAssignOverRetained) {
Observer observer;
{
- CFX_CountRef<Object> ptr1;
+ CFX_SharedCopyOnWrite<Object> ptr1;
ptr1.Emplace(&observer, std::string("one"));
- CFX_CountRef<Object> ptr2(ptr1);
+ CFX_SharedCopyOnWrite<Object> ptr2(ptr1);
ptr1.Emplace(&observer, std::string("two"));
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(1, observer.GetConstructionCount("two"));
@@ -105,10 +105,10 @@ TEST(fxcrt, CountRefAssignOverRetained) {
EXPECT_EQ(1, observer.GetDestructionCount("two"));
}
-TEST(fxcrt, CountRefGetModify) {
+TEST(fxcrt, SharedCopyOnWriteGetModify) {
Observer observer;
{
- CFX_CountRef<Object> ptr;
+ CFX_SharedCopyOnWrite<Object> ptr;
EXPECT_NE(nullptr, ptr.GetPrivateCopy(&observer, std::string("one")));
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));
@@ -117,7 +117,7 @@ TEST(fxcrt, CountRefGetModify) {
EXPECT_EQ(1, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));
{
- CFX_CountRef<Object> other(ptr);
+ CFX_SharedCopyOnWrite<Object> other(ptr);
EXPECT_NE(nullptr, ptr.GetPrivateCopy(&observer, std::string("one")));
EXPECT_EQ(2, observer.GetConstructionCount("one"));
EXPECT_EQ(0, observer.GetDestructionCount("one"));
diff --git a/core/fxge/cfx_graphstate.h b/core/fxge/cfx_graphstate.h
index 19cd03c8e1..a838dfc17c 100644
--- a/core/fxge/cfx_graphstate.h
+++ b/core/fxge/cfx_graphstate.h
@@ -7,7 +7,7 @@
#ifndef CORE_FXGE_CFX_GRAPHSTATE_H_
#define CORE_FXGE_CFX_GRAPHSTATE_H_
-#include "core/fxcrt/cfx_count_ref.h"
+#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include "core/fxge/cfx_graphstatedata.h"
class CPDF_Array;
@@ -38,7 +38,7 @@ class CFX_GraphState {
const CFX_GraphStateData* GetObject() const { return m_Ref.GetObject(); }
private:
- CFX_CountRef<CFX_GraphStateData> m_Ref;
+ CFX_SharedCopyOnWrite<CFX_GraphStateData> m_Ref;
};
#endif // CORE_FXGE_CFX_GRAPHSTATE_H_
diff --git a/core/fxge/fx_dib.h b/core/fxge/fx_dib.h
index 038d103989..6ffad8c8c9 100644
--- a/core/fxge/fx_dib.h
+++ b/core/fxge/fx_dib.h
@@ -10,7 +10,7 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/cfx_count_ref.h"
+#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
@@ -389,7 +389,7 @@ class CFX_DIBExtractor {
std::unique_ptr<CFX_DIBitmap> m_pBitmap;
};
-typedef CFX_CountRef<CFX_DIBitmap> CFX_DIBitmapRef;
+typedef CFX_SharedCopyOnWrite<CFX_DIBitmap> CFX_DIBitmapRef;
class CFX_FilteredDIB : public CFX_DIBSource {
public: