 Chromium Code Reviews
 Chromium Code Reviews Issue 1296043002:
  Merge to XFA: Use override in more classes in core/  (Closed) 
  Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
    
  
    Issue 1296043002:
  Merge to XFA: Use override in more classes in core/  (Closed) 
  Base URL: https://pdfium.googlesource.com/pdfium.git@xfa| Index: core/src/fxcrt/extension.h | 
| diff --git a/core/src/fxcrt/extension.h b/core/src/fxcrt/extension.h | 
| index 0fdf8ab7bfd9ed4d94001314728d71acb06b2869..9960c033496e4929f2dfc70464a4ac2d53f36908 100644 | 
| --- a/core/src/fxcrt/extension.h | 
| +++ b/core/src/fxcrt/extension.h | 
| @@ -30,40 +30,43 @@ class IFXCRT_FileAccess { | 
| virtual FX_BOOL Truncate(FX_FILESIZE szFile) = 0; | 
| }; | 
| IFXCRT_FileAccess* FXCRT_FileAccess_Create(); | 
| + | 
| class CFX_CRTFileAccess : public IFX_FileAccess { | 
| 
Lei Zhang
2015/08/15 04:49:07
This is new in XFA.
 | 
| public: | 
| CFX_CRTFileAccess() : m_RefCount(0) {} | 
| - virtual void Release() { | 
| + // IFX_FileAccess | 
| + void Release() override { | 
| if (--m_RefCount == 0) | 
| delete this; | 
| } | 
| - IFX_FileAccess* Retain() { | 
| + IFX_FileAccess* Retain() override { | 
| m_RefCount++; | 
| return (IFX_FileAccess*)this; | 
| } | 
| - virtual FX_BOOL Init(const CFX_WideStringC& wsPath) { | 
| + void GetPath(CFX_WideString& wsPath) override { wsPath = m_path; } | 
| + | 
| + IFX_FileStream* CreateFileStream(FX_DWORD dwModes) override { | 
| + return FX_CreateFileStream(m_path, dwModes); | 
| + } | 
| + | 
| + FX_BOOL Init(const CFX_WideStringC& wsPath) { | 
| m_path = wsPath; | 
| m_RefCount = 1; | 
| return TRUE; | 
| } | 
| - virtual void GetPath(CFX_WideString& wsPath) { wsPath = m_path; } | 
| - | 
| - virtual IFX_FileStream* CreateFileStream(FX_DWORD dwModes) { | 
| - return FX_CreateFileStream(m_path, dwModes); | 
| - } | 
| - | 
| protected: | 
| CFX_WideString m_path; | 
| FX_DWORD m_RefCount; | 
| }; | 
| + | 
| class CFX_CRTFileStream final : public IFX_FileStream { | 
| public: | 
| CFX_CRTFileStream(IFXCRT_FileAccess* pFA) : m_pFile(pFA), m_dwCount(1) {} | 
| - ~CFX_CRTFileStream() { | 
| + ~CFX_CRTFileStream() override { | 
| if (m_pFile) { | 
| m_pFile->Release(); | 
| } | 
| @@ -100,6 +103,7 @@ class CFX_CRTFileStream final : public IFX_FileStream { | 
| IFXCRT_FileAccess* m_pFile; | 
| FX_DWORD m_dwCount; | 
| }; | 
| + | 
| #define FX_MEMSTREAM_BlockSize (64 * 1024) | 
| #define FX_MEMSTREAM_Consecutive 0x01 | 
| #define FX_MEMSTREAM_TakeOver 0x02 | 
| @@ -124,7 +128,7 @@ class CFX_MemoryStream final : public IFX_MemoryStream { | 
| m_dwFlags = | 
| FX_MEMSTREAM_Consecutive | (bTakeOver ? FX_MEMSTREAM_TakeOver : 0); | 
| } | 
| - ~CFX_MemoryStream() { | 
| + ~CFX_MemoryStream() override { | 
| if (m_dwFlags & FX_MEMSTREAM_TakeOver) { | 
| for (int32_t i = 0; i < m_Blocks.GetSize(); i++) { | 
| FX_Free((uint8_t*)m_Blocks[i]); | 
| @@ -317,6 +321,7 @@ class CFX_MemoryStream final : public IFX_MemoryStream { | 
| return TRUE; | 
| } | 
| }; | 
| + | 
| #ifdef __cplusplus | 
| extern "C" { | 
| #endif |