// Copyright 2017 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #include "xfa/fxfa/app/cxfa_textuserdata.h" #include "xfa/fde/css/cfde_csscomputedstyle.h" #include "xfa/fde/css/cfde_cssstyleselector.h" #include "xfa/fde/css/fde_css.h" #include "xfa/fxfa/app/cxfa_linkuserdata.h" CXFA_TextUserData::CXFA_TextUserData( const CFX_RetainPtr& pStyle) : m_pStyle(pStyle), m_pLinkData(nullptr), m_dwRefCount(0) {} CXFA_TextUserData::CXFA_TextUserData( const CFX_RetainPtr& pStyle, CXFA_LinkUserData* pLinkData) : m_pStyle(pStyle), m_pLinkData(pLinkData), m_dwRefCount(0) {} CXFA_TextUserData::~CXFA_TextUserData() { if (m_pLinkData) m_pLinkData->Release(); } uint32_t CXFA_TextUserData::Retain() { return ++m_dwRefCount; } uint32_t CXFA_TextUserData::Release() { uint32_t dwRefCount = --m_dwRefCount; if (dwRefCount == 0) delete this; return dwRefCount; }