summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhirono <hirono@chromium.org>2015-03-23 21:38:13 -0700
committerCommit bot <commit-bot@chromium.org>2015-03-24 04:38:47 +0000
commita54475bee8ff34ec3ada07413938fd973950e906 (patch)
treefa773c7d6d05c19bad85d4932bc88573cb8072b5
parentcbee85393427388bf1e24919d4ff5b1a883c3e03 (diff)
downloadchromium_src-a54475bee8ff34ec3ada07413938fd973950e906.zip
chromium_src-a54475bee8ff34ec3ada07413938fd973950e906.tar.gz
chromium_src-a54475bee8ff34ec3ada07413938fd973950e906.tar.bz2
Files.app: Add private API to check if PiexLoader is enabled or not.
PiexLoader is enabled only for official build. BUG=396702 TEST=None R=isherman@chromium.org Review URL: https://codereview.chromium.org/1026733003 Cr-Commit-Position: refs/heads/master@{#321933}
-rw-r--r--chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc11
-rw-r--r--chrome/browser/chromeos/extensions/file_manager/private_api_misc.h15
-rw-r--r--chrome/common/extensions/api/file_manager_private.idl3
-rw-r--r--extensions/browser/extension_function_histogram_value.h1
-rw-r--r--third_party/closure_compiler/externs/file_manager_private.js6
-rw-r--r--tools/metrics/histograms/histograms.xml1
6 files changed, 37 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
index 6515aef..0b2b731 100644
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
@@ -460,4 +460,15 @@ void FileManagerPrivateGetMimeTypeFunction::OnGetMimeType(
SendResponse(true);
}
+ExtensionFunction::ResponseAction
+FileManagerPrivateIsPiexLoaderEnabledFunction::Run() {
+#if defined(OFFICIAL_BUILD)
+ return RespondNow(OneArgument(
+ new base::FundamentalValue(true)));
+#else
+ return RespondNow(OneArgument(
+ new base::FundamentalValue(false)));
+#endif
+}
+
} // namespace extensions
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.h b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.h
index 9661195..c6d7cbb 100644
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.h
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.h
@@ -181,6 +181,21 @@ class FileManagerPrivateGetMimeTypeFunction
void OnGetMimeType(const std::string& mimeType);
};
+// Implements the chrome.fileManagerPrivate.isPiexLoaderEnabled method.
+class FileManagerPrivateIsPiexLoaderEnabledFunction
+ : public UIThreadExtensionFunction {
+ public:
+ FileManagerPrivateIsPiexLoaderEnabledFunction() {}
+ DECLARE_EXTENSION_FUNCTION("fileManagerPrivate.isPiexLoaderEnabled",
+ FILEMANAGERPRIVATE_ISPIEXLOADERENABLED)
+ protected:
+ ~FileManagerPrivateIsPiexLoaderEnabledFunction() override {}
+
+ private:
+ ResponseAction Run() override;
+ DISALLOW_COPY_AND_ASSIGN(FileManagerPrivateIsPiexLoaderEnabledFunction);
+};
+
} // namespace extensions
#endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_PRIVATE_API_MISC_H_
diff --git a/chrome/common/extensions/api/file_manager_private.idl b/chrome/common/extensions/api/file_manager_private.idl
index 6804fe5..398c8f8 100644
--- a/chrome/common/extensions/api/file_manager_private.idl
+++ b/chrome/common/extensions/api/file_manager_private.idl
@@ -872,6 +872,9 @@ interface Functions {
DOMString key,
DOMString value,
SimpleCallback callback);
+
+ // Returns if Piex loader is enabled.
+ static void isPiexLoaderEnabled(BooleanCallback callback);
};
interface Events {
diff --git a/extensions/browser/extension_function_histogram_value.h b/extensions/browser/extension_function_histogram_value.h
index f3d0785..3ceb4c7 100644
--- a/extensions/browser/extension_function_histogram_value.h
+++ b/extensions/browser/extension_function_histogram_value.h
@@ -1041,6 +1041,7 @@ enum HistogramValue {
FILEMANAGERPRIVATE_ENABLEEXTERNALFILESCHEME,
DEVELOPERPRIVATE_UPDATEEXTENSIONCONFIGURATION,
DEVELOPERPRIVATE_DELETEEXTENSIONERRORS,
+ FILEMANAGERPRIVATE_ISPIEXLOADERENABLED,
// Last entry: Add new entries above and ensure to update
// tools/metrics/histograms/histograms.xml.
ENUM_BOUNDARY
diff --git a/third_party/closure_compiler/externs/file_manager_private.js b/third_party/closure_compiler/externs/file_manager_private.js
index 614e93b..d1736ca 100644
--- a/third_party/closure_compiler/externs/file_manager_private.js
+++ b/third_party/closure_compiler/externs/file_manager_private.js
@@ -574,6 +574,12 @@ chrome.fileManagerPrivate.isUMAEnabled = function(callback) {};
*/
chrome.fileManagerPrivate.setEntryTag = function(entryURL, visibility, key, value, callback) {};
+/**
+ * Gets a flag indicating whether PiexLoader is enabled.
+ * @param {function(boolean)} callback
+ */
+chrome.fileManagerPrivate.isPiexLoaderEnabled = function(callback) {};
+
/** @type {!ChromeEvent} */
chrome.fileManagerPrivate.onMountCompleted;
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 9509d0f..7485ddd 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -49317,6 +49317,7 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<int value="980" label="FILEMANAGERPRIVATE_ENABLEEXTERNALFILESCHEME"/>
<int value="981" label="DEVELOPERPRIVATE_UPDATEEXTENSIONCONFIGURATION"/>
<int value="982" label="DEVELOPERPRIVATE_DELETEEXTENSIONERRORS"/>
+ <int value="983" label="FILEMANAGERPRIVATE_ISPIEXLOADERENABLED"/>
</enum>
<enum name="ExtensionInstallCause" type="int">