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

Unified Diff: chrome/install_static/install_details.cc

Issue 2491463002: Revert of Windows install_static refactor. (Closed)
Patch Set: Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/install_static/install_details.h ('k') | chrome/install_static/install_details_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/install_static/install_details.cc
diff --git a/chrome/install_static/install_details.cc b/chrome/install_static/install_details.cc
deleted file mode 100644
index c4d96a289a58b09c7a3817848e7346e7da4310e4..0000000000000000000000000000000000000000
--- a/chrome/install_static/install_details.cc
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2016 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 "chrome/install_static/install_details.h"
-
-#include <assert.h>
-#include <string.h>
-
-#include <type_traits>
-
-#include "chrome/install_static/install_modes.h"
-#include "chrome/install_static/install_util.h"
-#include "chrome_elf/nt_registry/nt_registry.h"
-#include "components/version_info/version_info_values.h"
-
-namespace install_static {
-
-namespace {
-
-// The version is set at compile-time to a W.X.Y.Z value.
-constexpr char kProductVersion[] = PRODUCT_VERSION;
-
-// This module's instance (intentionally leaked at shutdown).
-InstallDetails* g_module_details = nullptr;
-
-} // namespace
-
-std::wstring InstallDetails::GetClientStateKeyPath(bool binaries) const {
- return binaries && multi_install()
- ? GetBinariesClientStateKeyPath()
- : install_static::GetClientStateKeyPath(app_guid());
-}
-
-std::wstring InstallDetails::GetClientStateMediumKeyPath(bool binaries) const {
- return binaries && multi_install()
- ? GetBinariesClientStateMediumKeyPath()
- : install_static::GetClientStateMediumKeyPath(app_guid());
-}
-
-bool InstallDetails::VersionMismatch() const {
- // Check the product version and the size of the mode structure.
- return payload_->size != sizeof(Payload) ||
- strcmp(payload_->product_version, &kProductVersion[0]) != 0 ||
- payload_->mode->size != sizeof(InstallConstants);
-}
-
-// static
-const InstallDetails& InstallDetails::Get() {
- assert(g_module_details);
- return *g_module_details;
-}
-
-// static
-void InstallDetails::SetForProcess(
- std::unique_ptr<PrimaryInstallDetails> details) {
- assert(!details || !g_module_details);
- // Tests may set then reset via null. In this case, delete the old instance.
- delete g_module_details;
- // Intentionally leaked at shutdown.
- g_module_details = details.release();
-}
-
-// static
-const InstallDetails::Payload* InstallDetails::GetPayload() {
- assert(g_module_details);
- static_assert(std::is_pod<Payload>::value, "Payload must be a POD-struct");
- static_assert(std::is_pod<InstallConstants>::value,
- "InstallConstants must be a POD-struct");
- return g_module_details->payload_;
-}
-
-// static
-void InstallDetails::InitializeFromPrimaryModule(
- const wchar_t* primary_module_name) {
- assert(!g_module_details);
- using GetInstallDetailsPayloadFunction = const Payload*(__cdecl*)();
- GetInstallDetailsPayloadFunction payload_getter =
- reinterpret_cast<GetInstallDetailsPayloadFunction>(::GetProcAddress(
- ::GetModuleHandle(primary_module_name), "GetInstallDetailsPayload"));
- assert(payload_getter);
- // Intentionally leaked at shutdown.
- g_module_details = new InstallDetails(payload_getter());
-}
-
-PrimaryInstallDetails::PrimaryInstallDetails() : InstallDetails(&payload_) {
- payload_.size = sizeof(payload_);
- payload_.product_version = &kProductVersion[0];
-}
-
-} // namespace install_static
« no previous file with comments | « chrome/install_static/install_details.h ('k') | chrome/install_static/install_details_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698