Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: src/utils/win/SkIStream.cpp

Issue 861413002: Remove staging SkStream::unref(). (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix stragglers. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #define WIN32_LEAN_AND_MEAN 10 #define WIN32_LEAN_AND_MEAN
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 { return E_NOTIMPL; } 96 { return E_NOTIMPL; }
97 97
98 HRESULT STDMETHODCALLTYPE SkBaseIStream::Stat(STATSTG* pStatstg 98 HRESULT STDMETHODCALLTYPE SkBaseIStream::Stat(STATSTG* pStatstg
99 , DWORD grfStatFlag) 99 , DWORD grfStatFlag)
100 { return E_NOTIMPL; } 100 { return E_NOTIMPL; }
101 101
102 102
103 /** 103 /**
104 * SkIStream 104 * SkIStream
105 */ 105 */
106 SkIStream::SkIStream(SkStream* stream, bool unrefOnRelease) 106 SkIStream::SkIStream(SkStream* stream, bool deleteOnRelease)
107 : SkBaseIStream() 107 : SkBaseIStream()
108 , fSkStream(stream) 108 , fSkStream(stream)
109 , fUnrefOnRelease(unrefOnRelease) 109 , fDeleteOnRelease(deleteOnRelease)
110 , fLocation() 110 , fLocation()
111 { 111 {
112 this->fSkStream->rewind(); 112 this->fSkStream->rewind();
113 } 113 }
114 114
115 SkIStream::~SkIStream() { 115 SkIStream::~SkIStream() {
116 if (this->fSkStream && fUnrefOnRelease) { 116 if (this->fSkStream && fDeleteOnRelease) {
scroggo 2015/01/22 13:55:36 It appears fSkStream can never be NULL, so this ca
117 this->fSkStream->unref(); 117 delete this->fSkStream;
118 } 118 }
119 } 119 }
120 120
121 HRESULT SkIStream::CreateFromSkStream(SkStream* stream 121 HRESULT SkIStream::CreateFromSkStream(SkStream* stream
122 , bool unrefOnRelease 122 , bool deleteOnRelease
123 , IStream ** ppStream) 123 , IStream ** ppStream)
124 { 124 {
125 if (NULL == stream) { 125 if (NULL == stream) {
126 return E_INVALIDARG; 126 return E_INVALIDARG;
127 } 127 }
128 *ppStream = new SkIStream(stream, unrefOnRelease); 128 *ppStream = new SkIStream(stream, deleteOnRelease);
129 return S_OK; 129 return S_OK;
130 } 130 }
131 131
132 // ISequentialStream Interface 132 // ISequentialStream Interface
133 HRESULT STDMETHODCALLTYPE SkIStream::Read(void* pv, ULONG cb, ULONG* pcbRead) { 133 HRESULT STDMETHODCALLTYPE SkIStream::Read(void* pv, ULONG cb, ULONG* pcbRead) {
134 *pcbRead = static_cast<ULONG>(this->fSkStream->read(pv, cb)); 134 *pcbRead = static_cast<ULONG>(this->fSkStream->read(pv, cb));
135 this->fLocation.QuadPart += *pcbRead; 135 this->fLocation.QuadPart += *pcbRead;
136 return (*pcbRead == cb) ? S_OK : S_FALSE; 136 return (*pcbRead == cb) ? S_OK : S_FALSE;
137 } 137 }
138 138
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 if (0 == (grfStatFlag & STATFLAG_NONAME)) { 268 if (0 == (grfStatFlag & STATFLAG_NONAME)) {
269 return STG_E_INVALIDFLAG; 269 return STG_E_INVALIDFLAG;
270 } 270 }
271 pStatstg->pwcsName = NULL; 271 pStatstg->pwcsName = NULL;
272 pStatstg->cbSize.QuadPart = 0; 272 pStatstg->cbSize.QuadPart = 0;
273 pStatstg->clsid = CLSID_NULL; 273 pStatstg->clsid = CLSID_NULL;
274 pStatstg->type = STGTY_STREAM; 274 pStatstg->type = STGTY_STREAM;
275 pStatstg->grfMode = STGM_WRITE; 275 pStatstg->grfMode = STGM_WRITE;
276 return S_OK; 276 return S_OK;
277 } 277 }
OLDNEW
« include/utils/win/SkIStream.h ('K') | « src/utils/win/SkDWriteFontFileStream.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698