Index: chrome/common/component_flash_hint_file.h |
diff --git a/chrome/common/component_flash_hint_file.h b/chrome/common/component_flash_hint_file.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b78c2533111838c01e84e780e79e8a3a61e8d259 |
--- /dev/null |
+++ b/chrome/common/component_flash_hint_file.h |
@@ -0,0 +1,47 @@ |
+// 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 CHROME_COMMON_COMPONENT_FLASH_HINT_FILE_H_ |
+#define CHROME_COMMON_COMPONENT_FLASH_HINT_FILE_H_ |
+ |
+#include <string> |
+#include <vector> |
+ |
+#include "base/files/file_util.h" |
+#include "crypto/secure_hash.h" |
+ |
+namespace chrome { |
+ |
+// The APIs in this namespace wraps the component updated flash hint file, which |
+// lives inside the PepperFlash folder of the user-data-dir, so that the Linux |
+// zygote process can preload the right version of flash. |
+namespace ComponentFlashHintFile { |
+ |
+// Records a new flash update into the hint file. |
+// |unpacked_plugin| is the current location of the plugin. |
+// |moved_plugin| is the location where the plugin will be loaded from. |
+bool RecordFlashUpdate(const base::FilePath& unpacked_plugin, |
+ const base::FilePath& moved_plugin, |
+ const std::string& version); |
+ |
+// Reports whether or not a hints file exists. |
+bool DoesHintFileExist(); |
+ |
+// Return the path of the component updated flash plugin, only if the file has |
+// the correct hash sum. |
+// |path| will be populated with the path to the flash plugin. |
+// |version| will be populated with the version of the flash plugin. |
+bool VerifyAndReturnFlashLocation(base::FilePath* path, std::string* version); |
+ |
+// Test if the specified plugin file can be mapped executable. |
+// This is useful to test if the flash plugin is in a directory mounted |
+// noexec, in which case Chrome will not be able to load and use the plugin. |
+// |path| is the path of the flash plugin that will mapped executable. |
+bool TestExecutableMapping(const base::FilePath& path); |
+ |
+} // namespace ComponentFlashHintFile |
+ |
+} // namespace chrome |
+ |
+#endif // CHROME_COMMON_COMPONENT_FLASH_HINT_FILE_H_ |