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

Side by Side Diff: chrome/installer/util/install_util.cc

Issue 11280067: Refactor SetOmahaExperimentLabel out of gcpai and into install_util. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Init Created 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium 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 // See the corresponding header file for description of the functions in this 5 // See the corresponding header file for description of the functions in this
6 // file. 6 // file.
7 7
8 #include "chrome/installer/util/install_util.h" 8 #include "chrome/installer/util/install_util.h"
9 9
10 #include <shellapi.h> 10 #include <shellapi.h>
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 screen_rect.top + y_offset, 111 screen_rect.top + y_offset,
112 0, 0, FALSE); 112 0, 0, FALSE);
113 } else { 113 } else {
114 NOTREACHED() << "Unable to get default monitor"; 114 NOTREACHED() << "Unable to get default monitor";
115 } 115 }
116 ::SetForegroundWindow(foreground_window); 116 ::SetForegroundWindow(foreground_window);
117 } 117 }
118 return foreground_window; 118 return foreground_window;
119 } 119 }
120 120
121 const wchar_t kExperimentLabels[] = L"experiment_labels";
122
123 const wchar_t* kExperimentAppGuids[] = {
124 L"{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}",
125 L"{8A69D345-D564-463C-AFF1-A69D9E530F96}",
126 };
robertshield 2012/11/20 15:29:49 move these up next to the other constants
SteveT 2012/11/20 15:45:01 Moved them up in alpha order as well. Thanks. Done
127
121 } // namespace 128 } // namespace
122 129
123 string16 InstallUtil::GetActiveSetupPath(BrowserDistribution* dist) { 130 string16 InstallUtil::GetActiveSetupPath(BrowserDistribution* dist) {
124 static const wchar_t kInstalledComponentsPath[] = 131 static const wchar_t kInstalledComponentsPath[] =
125 L"Software\\Microsoft\\Active Setup\\Installed Components\\"; 132 L"Software\\Microsoft\\Active Setup\\Installed Components\\";
126 return kInstalledComponentsPath + dist->GetAppGuid(); 133 return kInstalledComponentsPath + dist->GetAppGuid();
127 } 134 }
128 135
129 void InstallUtil::TriggerActiveSetupCommandIfNeeded() { 136 void InstallUtil::TriggerActiveSetupCommandIfNeeded() {
130 FilePath chrome_exe; 137 FilePath chrome_exe;
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 date_str, arraysize(date_str)); 523 date_str, arraysize(date_str));
517 if (len) { 524 if (len) {
518 --len; // Subtract terminating \0. 525 --len; // Subtract terminating \0.
519 } else { 526 } else {
520 PLOG(DFATAL) << "GetDateFormat"; 527 PLOG(DFATAL) << "GetDateFormat";
521 } 528 }
522 529
523 return string16(date_str, len); 530 return string16(date_str, len);
524 } 531 }
525 532
533 // static
534 bool InstallUtil::SetOmahaExperimentLabel(const string16& experiment_label,
535 HKEY registry_hive) {
536 int successful_writes = 0;
537 for (int i = 0; i < arraysize(kExperimentAppGuids); ++i) {
538 string16 experiment_path(google_update::kRegPathClientState);
539 experiment_path += L"\\";
540 experiment_path += kExperimentAppGuids[i];
541
542 RegKey client_state(registry_hive, experiment_path.c_str(),
543 KEY_SET_VALUE);
544 if (client_state.Valid()) {
545 if (client_state.WriteValue(kExperimentLabels,
546 experiment_label.c_str()) == ERROR_SUCCESS) {
robertshield 2012/11/20 15:29:49 nit: collapse this to a single if to reduce indent
SteveT 2012/11/20 15:45:01 Done.
547 successful_writes++;
548 }
549 }
550 }
551
552 return (successful_writes == arraysize(kExperimentAppGuids));
553 }
554
526 // Open |path| with minimal access to obtain information about it, returning 555 // Open |path| with minimal access to obtain information about it, returning
527 // true and populating |handle| on success. 556 // true and populating |handle| on success.
528 // static 557 // static
529 bool InstallUtil::ProgramCompare::OpenForInfo(const FilePath& path, 558 bool InstallUtil::ProgramCompare::OpenForInfo(const FilePath& path,
530 base::win::ScopedHandle* handle) { 559 base::win::ScopedHandle* handle) {
531 DCHECK(handle); 560 DCHECK(handle);
532 handle->Set(base::CreatePlatformFile(path, base::PLATFORM_FILE_OPEN, NULL, 561 handle->Set(base::CreatePlatformFile(path, base::PLATFORM_FILE_OPEN, NULL,
533 NULL)); 562 NULL));
534 return handle->IsValid(); 563 return handle->IsValid();
535 } 564 }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 // Open the program and see if it references the expected file. 614 // Open the program and see if it references the expected file.
586 base::win::ScopedHandle handle; 615 base::win::ScopedHandle handle;
587 BY_HANDLE_FILE_INFORMATION info = {}; 616 BY_HANDLE_FILE_INFORMATION info = {};
588 617
589 return (OpenForInfo(program, &handle) && 618 return (OpenForInfo(program, &handle) &&
590 GetInfo(handle, &info) && 619 GetInfo(handle, &info) &&
591 info.dwVolumeSerialNumber == file_info_.dwVolumeSerialNumber && 620 info.dwVolumeSerialNumber == file_info_.dwVolumeSerialNumber &&
592 info.nFileIndexHigh == file_info_.nFileIndexHigh && 621 info.nFileIndexHigh == file_info_.nFileIndexHigh &&
593 info.nFileIndexLow == file_info_.nFileIndexLow); 622 info.nFileIndexLow == file_info_.nFileIndexLow);
594 } 623 }
OLDNEW
« chrome/installer/gcapi/gcapi_omaha_experiment.cc ('K') | « chrome/installer/util/install_util.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698