Index: chrome/browser/metrics/plugin_metrics_provider.h |
diff --git a/chrome/browser/metrics/plugin_metrics_provider.h b/chrome/browser/metrics/plugin_metrics_provider.h |
index baabcf746df0bc5a1f499815ca0898d56e7078d0..856e07b96662d33a4b8a4c556d301cded2f9f2d1 100644 |
--- a/chrome/browser/metrics/plugin_metrics_provider.h |
+++ b/chrome/browser/metrics/plugin_metrics_provider.h |
@@ -9,6 +9,7 @@ |
#include <vector> |
#include "base/basictypes.h" |
+#include "base/gtest_prod_util.h" |
#include "base/memory/weak_ptr.h" |
#include "base/strings/string16.h" |
#include "components/metrics/metrics_provider.h" |
@@ -42,7 +43,6 @@ class PluginMetricsProvider : public metrics::MetricsProvider, |
metrics::SystemProfileProto* system_profile_proto) OVERRIDE; |
virtual void ProvideStabilityMetrics( |
metrics::SystemProfileProto* system_profile_proto) OVERRIDE; |
- virtual void RecordCurrentState() OVERRIDE; |
// Notifies the provider about an error loading the plugin at |plugin_path|. |
void LogPluginLoadingError(const base::FilePath& plugin_path); |
@@ -58,6 +58,12 @@ class PluginMetricsProvider : public metrics::MetricsProvider, |
static void RegisterPrefs(PrefRegistrySimple* registry); |
private: |
+ FRIEND_TEST_ALL_PREFIXES(PluginMetricsProviderTest, |
+ RecordCurrentStateWithDelay); |
+ FRIEND_TEST_ALL_PREFIXES(PluginMetricsProviderTest, |
+ RecordCurrentStateIfPending); |
+ FRIEND_TEST_ALL_PREFIXES(PluginMetricsProviderTest, |
+ ProvideStabilityMetricsWhenPendingTask); |
struct ChildProcessStats; |
// Receives the plugin list from the PluginService and calls |done_callback|. |
@@ -68,6 +74,18 @@ class PluginMetricsProvider : public metrics::MetricsProvider, |
ChildProcessStats& GetChildProcessStats( |
const content::ChildProcessData& data); |
+ // Saves plugin information to local state |
Alexei Svitkine (slow)
2014/08/06 19:43:40
Nit: add a .
gayane -on leave until 09-2017
2014/08/06 20:47:07
Done.
|
+ void RecordCurrentState(); |
+ |
+ // Posts a delayed task for RecordCurrentState. Returns true if new task is |
+ // posted and false if there was one already waiting for execution. |
+ // The param delay_sec is for unit tests. |
+ bool RecordCurrentStateWithDelay(int delay_ms); |
+ |
+ // If a delayed RecordCurrnetState task exists then cancels it, calls |
+ // RecordCurrentState immediately and returns true. Otherwise returns false. |
+ bool RecordCurrentStateIfPending(); |
+ |
// content::BrowserChildProcessObserver: |
virtual void BrowserChildProcessHostConnected( |
const content::ChildProcessData& data) OVERRIDE; |