// Copyright 2018 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 "notification_helper/notification_helper_util.h" #include "base/base_paths.h" #include "base/files/file_util.h" #include "base/path_service.h" #include "chrome/common/chrome_constants.h" namespace notification_helper { base::FilePath GetChromeExePath() { // Look for chrome.exe one folder above notification_helper.exe (as expected // in Chrome installs). Failing that, look for it alonside // notification_helper.exe. base::FilePath dir_exe; if (!PathService::Get(base::DIR_EXE, &dir_exe)) return base::FilePath(); base::FilePath chrome_exe = dir_exe.DirName().Append(chrome::kBrowserProcessExecutableName); if (!base::PathExists(chrome_exe)) { chrome_exe = dir_exe.Append(chrome::kBrowserProcessExecutableName); if (!base::PathExists(chrome_exe)) return base::FilePath(); } return chrome_exe; } } // namespace notification_helper