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

Side by Side Diff: core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp

Issue 1194933003: Make CPDF_Object::GetString() a virtual method. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: rebase Created 5 years, 5 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 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "../../../include/fpdfapi/fpdf_serial.h" 7 #include "../../../include/fpdfapi/fpdf_serial.h"
8 CFDF_Document::CFDF_Document() : CPDF_IndirectObjects(NULL) 8 CFDF_Document::CFDF_Document() : CPDF_IndirectObjects(NULL)
9 { 9 {
10 m_pRootDict = NULL; 10 m_pRootDict = NULL;
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 ((CPDF_Dictionary*)pFileSpec)->RemoveAt(FX_BSTRC("FS")); 151 ((CPDF_Dictionary*)pFileSpec)->RemoveAt(FX_BSTRC("FS"));
152 } 152 }
153 } 153 }
154 CFX_WideString FPDF_FileSpec_GetWin32Path(const CPDF_Object* pFileSpec) 154 CFX_WideString FPDF_FileSpec_GetWin32Path(const CPDF_Object* pFileSpec)
155 { 155 {
156 CFX_WideString wsFileName; 156 CFX_WideString wsFileName;
157 if (pFileSpec->GetType() == PDFOBJ_DICTIONARY) { 157 if (pFileSpec->GetType() == PDFOBJ_DICTIONARY) {
158 CPDF_Dictionary* pDict = (CPDF_Dictionary*)pFileSpec; 158 CPDF_Dictionary* pDict = (CPDF_Dictionary*)pFileSpec;
159 wsFileName = pDict->GetUnicodeText(FX_BSTRC("UF")); 159 wsFileName = pDict->GetUnicodeText(FX_BSTRC("UF"));
160 if (wsFileName.IsEmpty()) { 160 if (wsFileName.IsEmpty()) {
161 wsFileName = CFX_WideString::FromLocal(pDict->GetString(FX_BSTRC("F" ))); 161 wsFileName = CFX_WideString::FromLocal(pDict->GetStringAt("F"));
162 } 162 }
163 if (pDict->GetString(FX_BSTRC("FS")) == FX_BSTRC("URL")) { 163 if (pDict->GetStringAt("FS") == "URL") {
164 return wsFileName; 164 return wsFileName;
165 } 165 }
166 if (wsFileName.IsEmpty() && pDict->KeyExist(FX_BSTRC("DOS"))) { 166 if (wsFileName.IsEmpty() && pDict->KeyExist(FX_BSTRC("DOS"))) {
167 wsFileName = CFX_WideString::FromLocal(pDict->GetString(FX_BSTRC("DO S"))); 167 wsFileName = CFX_WideString::FromLocal(pDict->GetStringAt("DOS"));
168 } 168 }
169 } 169 }
170 else if (!pFileSpec) 170 else if (!pFileSpec)
171 wsFileName = CFX_WideString(); 171 wsFileName = CFX_WideString();
172 else { 172 else {
173 wsFileName = CFX_WideString::FromLocal(pFileSpec->GetString()); 173 wsFileName = CFX_WideString::FromLocal(pFileSpec->GetString());
174 } 174 }
175 if (wsFileName[0] != '/') { 175 if (wsFileName[0] != '/') {
176 return ChangeSlash(wsFileName.c_str()); 176 return ChangeSlash(wsFileName.c_str());
177 } 177 }
178 if (wsFileName[2] == '/') { 178 if (wsFileName[2] == '/') {
179 CFX_WideString result; 179 CFX_WideString result;
180 result += wsFileName[1]; 180 result += wsFileName[1];
181 result += ':'; 181 result += ':';
182 result += ChangeSlash(wsFileName.c_str() + 2); 182 result += ChangeSlash(wsFileName.c_str() + 2);
183 return result; 183 return result;
184 } else { 184 } else {
185 CFX_WideString result; 185 CFX_WideString result;
186 result += '\\'; 186 result += '\\';
187 result += ChangeSlash(wsFileName.c_str()); 187 result += ChangeSlash(wsFileName.c_str());
188 return result; 188 return result;
189 } 189 }
190 } 190 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698