|  | // Copyright (c) 2012 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 CONTENT_BROWSER_HISTOGRAM_SUBSCRIBER_H_ | 
|  | #define CONTENT_BROWSER_HISTOGRAM_SUBSCRIBER_H_ | 
|  |  | 
|  | #include <string> | 
|  | #include <vector> | 
|  |  | 
|  | namespace content { | 
|  |  | 
|  | // Objects interested in receiving histograms derive from HistogramSubscriber. | 
|  | class HistogramSubscriber { | 
|  | public: | 
|  | virtual ~HistogramSubscriber() {} | 
|  |  | 
|  | // Send number of pending processes to subscriber. |end| is set to true if it | 
|  | // is the last time. This is called on the UI thread. | 
|  | virtual void OnPendingProcesses(int sequence_number, | 
|  | int pending_processes, | 
|  | bool end) = 0; | 
|  |  | 
|  | // Send |histogram| back to subscriber. | 
|  | // This is called on the UI thread. | 
|  | virtual void OnHistogramDataCollected( | 
|  | int sequence_number, | 
|  | const std::vector<std::string>& pickled_histograms) = 0; | 
|  | }; | 
|  |  | 
|  | }  // namespace content | 
|  |  | 
|  | #endif  // CONTENT_BROWSER_HISTOGRAM_SUBSCRIBER_H_ |