Remove base/base64 and file_version_info Change-Id: I6f3b2cf8f1f8e972c6c695fe7784cf38a5455274 Reviewed-on: https://gn-review.googlesource.com/1523 Commit-Queue: Scott Graham <scottmg@chromium.org> Reviewed-by: Brett Wilson <brettw@chromium.org>
diff --git a/base/base64.cc b/base/base64.cc deleted file mode 100644 index ca8ee93..0000000 --- a/base/base64.cc +++ /dev/null
@@ -1,39 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/base64.h" - -#include <stddef.h> - -#include "third_party/modp_b64/modp_b64.h" - -namespace base { - -void Base64Encode(const StringPiece& input, std::string* output) { - std::string temp; - temp.resize(modp_b64_encode_len(input.size())); // makes room for null byte - - // modp_b64_encode_len() returns at least 1, so temp[0] is safe to use. - size_t output_size = modp_b64_encode(&(temp[0]), input.data(), input.size()); - - temp.resize(output_size); // strips off null byte - output->swap(temp); -} - -bool Base64Decode(const StringPiece& input, std::string* output) { - std::string temp; - temp.resize(modp_b64_decode_len(input.size())); - - // does not null terminate result since result is binary data! - size_t input_size = input.size(); - size_t output_size = modp_b64_decode(&(temp[0]), input.data(), input_size); - if (output_size == MODP_B64_ERROR) - return false; - - temp.resize(output_size); - output->swap(temp); - return true; -} - -} // namespace base
diff --git a/base/base64.h b/base/base64.h deleted file mode 100644 index dd72c39..0000000 --- a/base/base64.h +++ /dev/null
@@ -1,25 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef BASE_BASE64_H_ -#define BASE_BASE64_H_ - -#include <string> - -#include "base/base_export.h" -#include "base/strings/string_piece.h" - -namespace base { - -// Encodes the input string in base64. The encoding can be done in-place. -BASE_EXPORT void Base64Encode(const StringPiece& input, std::string* output); - -// Decodes the base64 input string. Returns true if successful and false -// otherwise. The output string is only modified if successful. The decoding can -// be done in-place. -BASE_EXPORT bool Base64Decode(const StringPiece& input, std::string* output); - -} // namespace base - -#endif // BASE_BASE64_H_
diff --git a/base/base64_decode_fuzzer.cc b/base/base64_decode_fuzzer.cc deleted file mode 100644 index 3716f72..0000000 --- a/base/base64_decode_fuzzer.cc +++ /dev/null
@@ -1,15 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include <string> - -#include "base/base64.h" -#include "base/strings/string_piece.h" - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - std::string decode_output; - base::StringPiece data_piece(reinterpret_cast<const char*>(data), size); - base::Base64Decode(data_piece, &decode_output); - return 0; -}
diff --git a/base/base64_encode_fuzzer.cc b/base/base64_encode_fuzzer.cc deleted file mode 100644 index c324be0..0000000 --- a/base/base64_encode_fuzzer.cc +++ /dev/null
@@ -1,20 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include <string> - -#include "base/base64.h" -#include "base/logging.h" -#include "base/strings/string_piece.h" - -// Encode some random data, and then decode it. -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - std::string encode_output; - std::string decode_output; - base::StringPiece data_piece(reinterpret_cast<const char*>(data), size); - base::Base64Encode(data_piece, &encode_output); - CHECK(base::Base64Decode(encode_output, &decode_output)); - CHECK_EQ(data_piece, decode_output); - return 0; -}
diff --git a/base/base64url.cc b/base/base64url.cc deleted file mode 100644 index 0a2c045..0000000 --- a/base/base64url.cc +++ /dev/null
@@ -1,101 +0,0 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/base64url.h" - -#include <stddef.h> - -#include "base/base64.h" -#include "base/macros.h" -#include "base/numerics/safe_math.h" -#include "base/strings/string_util.h" -#include "third_party/modp_b64/modp_b64.h" - -namespace base { - -const char kPaddingChar = '='; - -// Base64url maps {+, /} to {-, _} in order for the encoded content to be safe -// to use in a URL. These characters will be translated by this implementation. -const char kBase64Chars[] = "+/"; -const char kBase64UrlSafeChars[] = "-_"; - -void Base64UrlEncode(const StringPiece& input, - Base64UrlEncodePolicy policy, - std::string* output) { - Base64Encode(input, output); - - ReplaceChars(*output, "+", "-", output); - ReplaceChars(*output, "/", "_", output); - - switch (policy) { - case Base64UrlEncodePolicy::INCLUDE_PADDING: - // The padding included in |*output| will not be amended. - break; - case Base64UrlEncodePolicy::OMIT_PADDING: - // The padding included in |*output| will be removed. - const size_t last_non_padding_pos = - output->find_last_not_of(kPaddingChar); - if (last_non_padding_pos != std::string::npos) - output->resize(last_non_padding_pos + 1); - - break; - } -} - -bool Base64UrlDecode(const StringPiece& input, - Base64UrlDecodePolicy policy, - std::string* output) { - // Characters outside of the base64url alphabet are disallowed, which includes - // the {+, /} characters found in the conventional base64 alphabet. - if (input.find_first_of(kBase64Chars) != std::string::npos) - return false; - - const size_t required_padding_characters = input.size() % 4; - const bool needs_replacement = - input.find_first_of(kBase64UrlSafeChars) != std::string::npos; - - switch (policy) { - case Base64UrlDecodePolicy::REQUIRE_PADDING: - // Fail if the required padding is not included in |input|. - if (required_padding_characters > 0) - return false; - break; - case Base64UrlDecodePolicy::IGNORE_PADDING: - // Missing padding will be silently appended. - break; - case Base64UrlDecodePolicy::DISALLOW_PADDING: - // Fail if padding characters are included in |input|. - if (input.find_first_of(kPaddingChar) != std::string::npos) - return false; - break; - } - - // If the string either needs replacement of URL-safe characters to normal - // base64 ones, or additional padding, a copy of |input| needs to be made in - // order to make these adjustments without side effects. - if (required_padding_characters > 0 || needs_replacement) { - std::string base64_input; - - CheckedNumeric<size_t> base64_input_size = input.size(); - if (required_padding_characters > 0) - base64_input_size += 4 - required_padding_characters; - - base64_input.reserve(base64_input_size.ValueOrDie()); - input.AppendToString(&base64_input); - - // Substitute the base64url URL-safe characters to their base64 equivalents. - ReplaceChars(base64_input, "-", "+", &base64_input); - ReplaceChars(base64_input, "_", "/", &base64_input); - - // Append the necessary padding characters. - base64_input.resize(base64_input_size.ValueOrDie(), '='); - - return Base64Decode(base64_input, output); - } - - return Base64Decode(input, output); -} - -} // namespace base
diff --git a/base/base64url.h b/base/base64url.h deleted file mode 100644 index 66a4824..0000000 --- a/base/base64url.h +++ /dev/null
@@ -1,56 +0,0 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef BASE_BASE64URL_H_ -#define BASE_BASE64URL_H_ - -#include <string> - -#include "base/base_export.h" -#include "base/compiler_specific.h" -#include "base/macros.h" -#include "base/strings/string_piece.h" - -namespace base { - -enum class Base64UrlEncodePolicy { - // Include the trailing padding in the output, when necessary. - INCLUDE_PADDING, - - // Remove the trailing padding from the output. - OMIT_PADDING -}; - -// Encodes the |input| string in base64url, defined in RFC 4648: -// https://tools.ietf.org/html/rfc4648#section-5 -// -// The |policy| defines whether padding should be included or omitted from the -// encoded |*output|. |input| and |*output| may reference the same storage. -BASE_EXPORT void Base64UrlEncode(const StringPiece& input, - Base64UrlEncodePolicy policy, - std::string* output); - -enum class Base64UrlDecodePolicy { - // Require inputs contain trailing padding if non-aligned. - REQUIRE_PADDING, - - // Accept inputs regardless of whether or not they have the correct padding. - IGNORE_PADDING, - - // Reject inputs if they contain any trailing padding. - DISALLOW_PADDING -}; - -// Decodes the |input| string in base64url, defined in RFC 4648: -// https://tools.ietf.org/html/rfc4648#section-5 -// -// The |policy| defines whether padding will be required, ignored or disallowed -// altogether. |input| and |*output| may reference the same storage. -BASE_EXPORT bool Base64UrlDecode(const StringPiece& input, - Base64UrlDecodePolicy policy, - std::string* output) WARN_UNUSED_RESULT; - -} // namespace base - -#endif // BASE_BASE64URL_H_
diff --git a/base/file_version_info.h b/base/file_version_info.h deleted file mode 100644 index 3240bbe..0000000 --- a/base/file_version_info.h +++ /dev/null
@@ -1,73 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef BASE_FILE_VERSION_INFO_H_ -#define BASE_FILE_VERSION_INFO_H_ - -#include <string> - -#include "build_config.h" -#include "base/base_export.h" -#include "base/strings/string16.h" - -#if defined(OS_WIN) -#include <windows.h> -#endif - -namespace base { -class FilePath; -} - -// Provides an interface for accessing the version information for a file. This -// is the information you access when you select a file in the Windows Explorer, -// right-click select Properties, then click the Version tab, and on the Mac -// when you select a file in the Finder and do a Get Info. -// -// This list of properties is straight out of Win32's VerQueryValue -// <http://msdn.microsoft.com/en-us/library/ms647464.aspx> and the Mac -// version returns values from the Info.plist as appropriate. TODO(avi): make -// this a less-obvious Windows-ism. - -class BASE_EXPORT FileVersionInfo { - public: - virtual ~FileVersionInfo() {} -#if defined(OS_WIN) || defined(OS_MACOSX) - // Creates a FileVersionInfo for the specified path. Returns NULL if something - // goes wrong (typically the file does not exit or cannot be opened). The - // returned object should be deleted when you are done with it. - static FileVersionInfo* CreateFileVersionInfo( - const base::FilePath& file_path); -#endif // OS_WIN || OS_MACOSX - -#if defined(OS_WIN) - // Creates a FileVersionInfo for the specified module. Returns NULL in case - // of error. The returned object should be deleted when you are done with it. - static FileVersionInfo* CreateFileVersionInfoForModule(HMODULE module); -#else - // Creates a FileVersionInfo for the current module. Returns NULL in case - // of error. The returned object should be deleted when you are done with it. - static FileVersionInfo* CreateFileVersionInfoForCurrentModule(); -#endif // OS_WIN - - // Accessors to the different version properties. - // Returns an empty string if the property is not found. - virtual base::string16 company_name() = 0; - virtual base::string16 company_short_name() = 0; - virtual base::string16 product_name() = 0; - virtual base::string16 product_short_name() = 0; - virtual base::string16 internal_name() = 0; - virtual base::string16 product_version() = 0; - virtual base::string16 private_build() = 0; - virtual base::string16 special_build() = 0; - virtual base::string16 comments() = 0; - virtual base::string16 original_filename() = 0; - virtual base::string16 file_description() = 0; - virtual base::string16 file_version() = 0; - virtual base::string16 legal_copyright() = 0; - virtual base::string16 legal_trademarks() = 0; - virtual base::string16 last_change() = 0; - virtual bool is_official_build() = 0; -}; - -#endif // BASE_FILE_VERSION_INFO_H_
diff --git a/base/file_version_info_mac.h b/base/file_version_info_mac.h deleted file mode 100644 index 9cc4b10..0000000 --- a/base/file_version_info_mac.h +++ /dev/null
@@ -1,51 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef BASE_FILE_VERSION_INFO_MAC_H_ -#define BASE_FILE_VERSION_INFO_MAC_H_ - -#include <CoreFoundation/CoreFoundation.h> -#include <string> - -#include "base/file_version_info.h" -#include "base/mac/scoped_nsobject.h" -#include "base/macros.h" - -@class NSBundle; - -class FileVersionInfoMac : public FileVersionInfo { - public: - explicit FileVersionInfoMac(NSBundle *bundle); - ~FileVersionInfoMac() override; - - // Accessors to the different version properties. - // Returns an empty string if the property is not found. - base::string16 company_name() override; - base::string16 company_short_name() override; - base::string16 product_name() override; - base::string16 product_short_name() override; - base::string16 internal_name() override; - base::string16 product_version() override; - base::string16 private_build() override; - base::string16 special_build() override; - base::string16 comments() override; - base::string16 original_filename() override; - base::string16 file_description() override; - base::string16 file_version() override; - base::string16 legal_copyright() override; - base::string16 legal_trademarks() override; - base::string16 last_change() override; - bool is_official_build() override; - - private: - // Returns a base::string16 value for a property name. - // Returns the empty string if the property does not exist. - base::string16 GetString16Value(CFStringRef name); - - base::scoped_nsobject<NSBundle> bundle_; - - DISALLOW_COPY_AND_ASSIGN(FileVersionInfoMac); -}; - -#endif // BASE_FILE_VERSION_INFO_MAC_H_
diff --git a/base/file_version_info_mac.mm b/base/file_version_info_mac.mm deleted file mode 100644 index ec0743c..0000000 --- a/base/file_version_info_mac.mm +++ /dev/null
@@ -1,124 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/file_version_info_mac.h" - -#import <Foundation/Foundation.h> - -#include "base/files/file_path.h" -#include "base/logging.h" -#include "base/mac/bundle_locations.h" -#include "base/mac/foundation_util.h" -#include "base/strings/sys_string_conversions.h" -#include "build_config.h" - -FileVersionInfoMac::FileVersionInfoMac(NSBundle *bundle) - : bundle_([bundle retain]) { -} - -FileVersionInfoMac::~FileVersionInfoMac() {} - -// static -FileVersionInfo* FileVersionInfo::CreateFileVersionInfoForCurrentModule() { - return CreateFileVersionInfo(base::mac::FrameworkBundlePath()); -} - -// static -FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( - const base::FilePath& file_path) { - NSString* path = base::SysUTF8ToNSString(file_path.value()); - NSBundle* bundle = [NSBundle bundleWithPath:path]; - return new FileVersionInfoMac(bundle); -} - -base::string16 FileVersionInfoMac::company_name() { - return base::string16(); -} - -base::string16 FileVersionInfoMac::company_short_name() { - return base::string16(); -} - -base::string16 FileVersionInfoMac::internal_name() { - return base::string16(); -} - -base::string16 FileVersionInfoMac::product_name() { - return GetString16Value(kCFBundleNameKey); -} - -base::string16 FileVersionInfoMac::product_short_name() { - return GetString16Value(kCFBundleNameKey); -} - -base::string16 FileVersionInfoMac::comments() { - return base::string16(); -} - -base::string16 FileVersionInfoMac::legal_copyright() { - return GetString16Value(CFSTR("CFBundleGetInfoString")); -} - -base::string16 FileVersionInfoMac::product_version() { - // On OS X, CFBundleVersion is used by LaunchServices, and must follow - // specific formatting rules, so the four-part Chrome version is in - // CFBundleShortVersionString. On iOS, both have a policy-enfoced limit - // of three version components, so the full version is stored in a custom - // key (CrBundleVersion) falling back to CFBundleVersion if not present. -#if defined(OS_IOS) - base::string16 version(GetString16Value(CFSTR("CrBundleVersion"))); - if (version.length() > 0) - return version; - return GetString16Value(CFSTR("CFBundleVersion")); -#else - return GetString16Value(CFSTR("CFBundleShortVersionString")); -#endif // defined(OS_IOS) -} - -base::string16 FileVersionInfoMac::file_description() { - return base::string16(); -} - -base::string16 FileVersionInfoMac::legal_trademarks() { - return base::string16(); -} - -base::string16 FileVersionInfoMac::private_build() { - return base::string16(); -} - -base::string16 FileVersionInfoMac::file_version() { - return product_version(); -} - -base::string16 FileVersionInfoMac::original_filename() { - return GetString16Value(kCFBundleNameKey); -} - -base::string16 FileVersionInfoMac::special_build() { - return base::string16(); -} - -base::string16 FileVersionInfoMac::last_change() { - return GetString16Value(CFSTR("SCMRevision")); -} - -bool FileVersionInfoMac::is_official_build() { -#if defined (GOOGLE_CHROME_BUILD) - return true; -#else - return false; -#endif -} - -base::string16 FileVersionInfoMac::GetString16Value(CFStringRef name) { - if (bundle_) { - NSString *ns_name = base::mac::CFToNSCast(name); - NSString* value = [bundle_ objectForInfoDictionaryKey:ns_name]; - if (value) { - return base::SysNSStringToUTF16(value); - } - } - return base::string16(); -}
diff --git a/base/file_version_info_win.cc b/base/file_version_info_win.cc deleted file mode 100644 index 4affd81..0000000 --- a/base/file_version_info_win.cc +++ /dev/null
@@ -1,218 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/file_version_info_win.h" - -#include <windows.h> -#include <stddef.h> - -#include "base/files/file_path.h" -#include "base/logging.h" -#include "base/threading/thread_restrictions.h" -#include "base/win/resource_util.h" - -using base::FilePath; - -namespace { - -struct LanguageAndCodePage { - WORD language; - WORD code_page; -}; - -// Returns the \\VarFileInfo\\Translation value extracted from the -// VS_VERSION_INFO resource in |data|. -LanguageAndCodePage* GetTranslate(const void* data) { - LanguageAndCodePage* translate = nullptr; - UINT length; - if (::VerQueryValue(data, L"\\VarFileInfo\\Translation", - reinterpret_cast<void**>(&translate), &length)) { - return translate; - } - return nullptr; -} - -VS_FIXEDFILEINFO* GetVsFixedFileInfo(const void* data) { - VS_FIXEDFILEINFO* fixed_file_info = nullptr; - UINT length; - if (::VerQueryValue(data, L"\\", reinterpret_cast<void**>(&fixed_file_info), - &length)) { - return fixed_file_info; - } - return nullptr; -} - -} // namespace - -FileVersionInfoWin::~FileVersionInfoWin() = default; - -// static -FileVersionInfo* FileVersionInfo::CreateFileVersionInfoForModule( - HMODULE module) { - void* data; - size_t version_info_length; - const bool has_version_resource = base::win::GetResourceFromModule( - module, VS_VERSION_INFO, RT_VERSION, &data, &version_info_length); - if (!has_version_resource) - return nullptr; - - const LanguageAndCodePage* translate = GetTranslate(data); - if (!translate) - return nullptr; - - return new FileVersionInfoWin(data, translate->language, - translate->code_page); -} - -// static -FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( - const FilePath& file_path) { - base::AssertBlockingAllowed(); - - DWORD dummy; - const wchar_t* path = file_path.value().c_str(); - const DWORD length = ::GetFileVersionInfoSize(path, &dummy); - if (length == 0) - return nullptr; - - std::vector<uint8_t> data(length, 0); - - if (!::GetFileVersionInfo(path, dummy, length, data.data())) - return nullptr; - - const LanguageAndCodePage* translate = GetTranslate(data.data()); - if (!translate) - return nullptr; - - return new FileVersionInfoWin(std::move(data), translate->language, - translate->code_page); -} - -base::string16 FileVersionInfoWin::company_name() { - return GetStringValue(L"CompanyName"); -} - -base::string16 FileVersionInfoWin::company_short_name() { - return GetStringValue(L"CompanyShortName"); -} - -base::string16 FileVersionInfoWin::internal_name() { - return GetStringValue(L"InternalName"); -} - -base::string16 FileVersionInfoWin::product_name() { - return GetStringValue(L"ProductName"); -} - -base::string16 FileVersionInfoWin::product_short_name() { - return GetStringValue(L"ProductShortName"); -} - -base::string16 FileVersionInfoWin::comments() { - return GetStringValue(L"Comments"); -} - -base::string16 FileVersionInfoWin::legal_copyright() { - return GetStringValue(L"LegalCopyright"); -} - -base::string16 FileVersionInfoWin::product_version() { - return GetStringValue(L"ProductVersion"); -} - -base::string16 FileVersionInfoWin::file_description() { - return GetStringValue(L"FileDescription"); -} - -base::string16 FileVersionInfoWin::legal_trademarks() { - return GetStringValue(L"LegalTrademarks"); -} - -base::string16 FileVersionInfoWin::private_build() { - return GetStringValue(L"PrivateBuild"); -} - -base::string16 FileVersionInfoWin::file_version() { - return GetStringValue(L"FileVersion"); -} - -base::string16 FileVersionInfoWin::original_filename() { - return GetStringValue(L"OriginalFilename"); -} - -base::string16 FileVersionInfoWin::special_build() { - return GetStringValue(L"SpecialBuild"); -} - -base::string16 FileVersionInfoWin::last_change() { - return GetStringValue(L"LastChange"); -} - -bool FileVersionInfoWin::is_official_build() { - return (GetStringValue(L"Official Build").compare(L"1") == 0); -} - -bool FileVersionInfoWin::GetValue(const wchar_t* name, - std::wstring* value_str) { - WORD lang_codepage[8]; - size_t i = 0; - // Use the language and codepage from the DLL. - lang_codepage[i++] = language_; - lang_codepage[i++] = code_page_; - // Use the default language and codepage from the DLL. - lang_codepage[i++] = ::GetUserDefaultLangID(); - lang_codepage[i++] = code_page_; - // Use the language from the DLL and Latin codepage (most common). - lang_codepage[i++] = language_; - lang_codepage[i++] = 1252; - // Use the default language and Latin codepage (most common). - lang_codepage[i++] = ::GetUserDefaultLangID(); - lang_codepage[i++] = 1252; - - i = 0; - while (i < arraysize(lang_codepage)) { - wchar_t sub_block[MAX_PATH]; - WORD language = lang_codepage[i++]; - WORD code_page = lang_codepage[i++]; - _snwprintf_s(sub_block, MAX_PATH, MAX_PATH, - L"\\StringFileInfo\\%04x%04x\\%ls", language, code_page, name); - LPVOID value = NULL; - uint32_t size; - BOOL r = ::VerQueryValue(data_, sub_block, &value, &size); - if (r && value) { - value_str->assign(static_cast<wchar_t*>(value)); - return true; - } - } - return false; -} - -std::wstring FileVersionInfoWin::GetStringValue(const wchar_t* name) { - std::wstring str; - if (GetValue(name, &str)) - return str; - else - return L""; -} - -FileVersionInfoWin::FileVersionInfoWin(std::vector<uint8_t>&& data, - WORD language, - WORD code_page) - : owned_data_(std::move(data)), - data_(owned_data_.data()), - language_(language), - code_page_(code_page), - fixed_file_info_(GetVsFixedFileInfo(data_)) { - DCHECK(!owned_data_.empty()); -} - -FileVersionInfoWin::FileVersionInfoWin(void* data, - WORD language, - WORD code_page) - : data_(data), - language_(language), - code_page_(code_page), - fixed_file_info_(GetVsFixedFileInfo(data)) { - DCHECK(data_); -}
diff --git a/base/file_version_info_win.h b/base/file_version_info_win.h deleted file mode 100644 index d91b67f..0000000 --- a/base/file_version_info_win.h +++ /dev/null
@@ -1,77 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef BASE_FILE_VERSION_INFO_WIN_H_ -#define BASE_FILE_VERSION_INFO_WIN_H_ - -#include <windows.h> - -#include <stdint.h> - -#include <memory> -#include <string> -#include <vector> - -#include "base/base_export.h" -#include "base/file_version_info.h" -#include "base/macros.h" - -struct tagVS_FIXEDFILEINFO; -typedef tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; - -class BASE_EXPORT FileVersionInfoWin : public FileVersionInfo { - public: - ~FileVersionInfoWin() override; - - // Accessors to the different version properties. - // Returns an empty string if the property is not found. - base::string16 company_name() override; - base::string16 company_short_name() override; - base::string16 product_name() override; - base::string16 product_short_name() override; - base::string16 internal_name() override; - base::string16 product_version() override; - base::string16 private_build() override; - base::string16 special_build() override; - base::string16 comments() override; - base::string16 original_filename() override; - base::string16 file_description() override; - base::string16 file_version() override; - base::string16 legal_copyright() override; - base::string16 legal_trademarks() override; - base::string16 last_change() override; - bool is_official_build() override; - - // Lets you access other properties not covered above. - bool GetValue(const wchar_t* name, std::wstring* value); - - // Similar to GetValue but returns a wstring (empty string if the property - // does not exist). - std::wstring GetStringValue(const wchar_t* name); - - // Get the fixed file info if it exists. Otherwise NULL - const VS_FIXEDFILEINFO* fixed_file_info() const { return fixed_file_info_; } - - private: - friend FileVersionInfo; - - // |data| is a VS_VERSION_INFO resource. |language| and |code_page| are - // extracted from the \VarFileInfo\Translation value of |data|. - FileVersionInfoWin(std::vector<uint8_t>&& data, - WORD language, - WORD code_page); - FileVersionInfoWin(void* data, WORD language, WORD code_page); - - const std::vector<uint8_t> owned_data_; - const void* const data_; - const WORD language_; - const WORD code_page_; - - // This is a pointer into |data_| if it exists. Otherwise nullptr. - const VS_FIXEDFILEINFO* const fixed_file_info_; - - DISALLOW_COPY_AND_ASSIGN(FileVersionInfoWin); -}; - -#endif // BASE_FILE_VERSION_INFO_WIN_H_
diff --git a/build/gen.py b/build/gen.py index 21b4008..01fe35f 100755 --- a/build/gen.py +++ b/build/gen.py
@@ -683,7 +683,6 @@ 'base/debug/debugger_win.cc', 'base/debug/profiler.cc', 'base/debug/stack_trace_win.cc', - 'base/file_version_info_win.cc', 'base/files/file_enumerator_win.cc', 'base/files/file_path_watcher_win.cc', 'base/files/file_util_win.cc',